private static String getMediaCodecModule() { return AndroidUtil.isLolliPopOrLater() ? "mediacodec_ndk" : "mediacodec_jni"; }
public static boolean canWrite(String path) { if (path == null) return false; if (path.startsWith("file://")) path = path.substring(7); if (!path.startsWith("/")) return false; if (path.startsWith(EXTERNAL_PUBLIC_DIRECTORY)) return true; if (AndroidUtil.isKitKatOrLater()) return false; File file = new File(path); return (file.exists() && file.canWrite()); }
if (AndroidUtil.isJellyBeanMR2OrLater()) return Decoder.ALL; else if (AndroidUtil.isHoneycombOrLater()) { for (DecoderBySOC decBySOC : sDecoderBySOCList) { final String prop = getSystemPropertyCached(decBySOC.key);
@Override public boolean setBuffersGeometry(final Surface surface, final int width, final int height, final int format) { if (AndroidUtil.isICSOrLater()) return false; if (width * height == 0)
@Override public void onDone(String url) { Log.d(TAG, "Received stream url: " + url + " for query: " + query); if (mPreparingQuery != null && mPreparingQuery == query) { Log.d(TAG, "Starting to prepare stream url: " + url + " for query: " + query); Media media = new Media(sLibVLC, AndroidUtil.LocationToUri(url)); getMediaPlayerInstance().setMedia(media); mPreparedQuery = mPreparingQuery; mPreparingQuery = null; mMediaPlayerCallback.onPrepared(VLCMediaPlayer.this, mPreparedQuery); handlePlayState(); Log.d(TAG, "onPrepared() url: " + url + " for query: " + query); } else { Log.d(TAG, "Ignoring stream url: " + url + " for query: " + query + ", because preparing query is: " + mPreparingQuery); } } });
/** * @return the audio output known to work for the running device * (By default, returns ALL, i.e AudioTrack + OpenSles) */ public static AudioOutput getAudioOutputFromDevice() { if (!AndroidUtil.isGingerbreadOrLater()) { return AudioOutput.AUDIOTRACK; } else { for (AudioOutputBySOC aoutBySOC : sAudioOutputBySOCList) { final String prop = getSystemPropertyCached(aoutBySOC.key); if (prop != null) { if (prop.contains(aoutBySOC.value)) return aoutBySOC.aout; } } return AudioOutput.ALL; } }
String fileURI = AndroidUtil.FileToUri(file).toString(); if (existingMedias.containsKey(fileURI)) {
if (AndroidUtil.isJellyBeanMR2OrLater()) return Decoder.ALL; else if (AndroidUtil.isHoneycombOrLater()) { for (DecoderBySOC decBySOC : sDecoderBySOCList) { final String prop = getSystemPropertyCached(decBySOC.key);
@Override public boolean setBuffersGeometry(final Surface surface, final int width, final int height, final int format) { if (AndroidUtil.isICSOrLater()) return false; if (width * height == 0)
try { do { final Uri uri = AndroidUtil.LocationToUri(cursor.getString(0)); MediaWrapper media = new MediaWrapper(uri, cursor.getLong(1), // MEDIA_TIME
@TargetApi(Build.VERSION_CODES.GINGERBREAD) private static File searchLibrary(ApplicationInfo applicationInfo) { // Search for library path String[] libraryPaths; if ((applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { final String property = System.getProperty("java.library.path"); libraryPaths = property.split(":"); } else { libraryPaths = new String[1]; if (AndroidUtil.isGingerbreadOrLater()) libraryPaths[0] = applicationInfo.nativeLibraryDir; else libraryPaths[0] = applicationInfo.dataDir + "/lib"; } if (libraryPaths[0] == null) { Log.e(TAG, "can't find library path"); return null; } // Search for libvlcjni.so File lib; for (String libraryPath : libraryPaths) { lib = new File(libraryPath, "libvlcjni.so"); if (lib.exists() && lib.canRead()) return lib; } Log.e(TAG, "WARNING: Can't find shared library"); return null; }
private void setView(int id, TextureView view) { if (!AndroidUtil.isICSOrLater()) throw new IllegalArgumentException("TextureView not implemented in this android version"); ensureInitState(); if (view == null) throw new NullPointerException("view is null"); final SurfaceHelper surfaceHelper = mSurfaceHelpers[id]; if (surfaceHelper != null) surfaceHelper.release(); mSurfaceHelpers[id] = new SurfaceHelper(id, view); }
private static String getMediaCodecModule() { return AndroidUtil.isLolliPopOrLater() ? "mediacodec_ndk" : "mediacodec_jni"; }
if (AndroidUtil.isKitKatOrLater()) { options.add("RV32"); } else {
private void setView(int id, TextureView view) { if (!AndroidUtil.isICSOrLater()) throw new IllegalArgumentException("TextureView not implemented in this android version"); ensureInitState(); if (view == null) throw new NullPointerException("view is null"); final SurfaceHelper surfaceHelper = mSurfaceHelpers[id]; if (surfaceHelper != null) surfaceHelper.release(); mSurfaceHelpers[id] = new SurfaceHelper(id, view); }