Loading media/java/android/media/MediaPlayer.java +43 −36 Original line number Diff line number Diff line Loading @@ -25,8 +25,10 @@ import android.content.ContentProvider; import android.content.ContentResolver; import android.content.Context; import android.content.res.AssetFileDescriptor; import android.graphics.SurfaceTexture; import android.media.SubtitleController.Anchor; import android.media.SubtitleTrack.RenderingWidget; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.IBinder; Loading @@ -35,30 +37,19 @@ import android.os.Message; import android.os.Parcel; import android.os.Parcelable; import android.os.PersistableBundle; import android.os.Process; import android.os.PowerManager; import android.os.Process; import android.os.SystemProperties; import android.provider.Settings; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; import android.util.ArrayMap; import android.util.Log; import android.util.Pair; import android.util.ArrayMap; import android.view.Surface; import android.view.SurfaceHolder; import android.widget.VideoView; import android.graphics.SurfaceTexture; import android.media.AudioManager; import android.media.MediaDrm; import android.media.MediaFormat; import android.media.MediaTimeProvider; import android.media.PlaybackParams; import android.media.SubtitleController; import android.media.SubtitleController.Anchor; import android.media.SubtitleData; import android.media.SubtitleTrack.RenderingWidget; import android.media.SyncParams; import com.android.internal.annotations.GuardedBy; import com.android.internal.util.Preconditions; Loading @@ -72,7 +63,6 @@ import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.lang.Runnable; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.ref.WeakReference; Loading Loading @@ -2105,10 +2095,12 @@ public class MediaPlayer extends PlayerBase mOnInfoListener = null; mOnVideoSizeChangedListener = null; mOnTimedTextListener = null; synchronized (mTimeProviderLock) { if (mTimeProvider != null) { mTimeProvider.close(); mTimeProvider = null; } } synchronized(this) { mSubtitleDataListenerDisabled = false; mExtSubtitleDataListener = null; Loading Loading @@ -2147,10 +2139,12 @@ public class MediaPlayer extends PlayerBase if (mSubtitleController != null) { mSubtitleController.reset(); } synchronized (mTimeProviderLock) { if (mTimeProvider != null) { mTimeProvider.close(); mTimeProvider = null; } } stayAwake(false); _reset(); Loading Loading @@ -2790,12 +2784,17 @@ public class MediaPlayer extends PlayerBase synchronized (mIndexTrackPairs) { mIndexTrackPairs.add(Pair.<Integer, SubtitleTrack>create(null, track)); } synchronized (mTimeProviderLock) { if (mTimeProvider != null) { Handler h = mTimeProvider.mEventHandler; int what = TimeProvider.NOTIFY; int arg1 = TimeProvider.NOTIFY_TRACK_DATA; Pair<SubtitleTrack, byte[]> trackData = Pair.create(track, contents.getBytes()); Pair<SubtitleTrack, byte[]> trackData = Pair.create(track, contents.getBytes()); Message m = h.obtainMessage(what, arg1, 0, trackData); h.sendMessage(m); } } return MEDIA_INFO_EXTERNAL_METADATA_UPDATE; } Loading Loading @@ -3020,12 +3019,17 @@ public class MediaPlayer extends PlayerBase total += bytes; } } synchronized (mTimeProviderLock) { if (mTimeProvider != null) { Handler h = mTimeProvider.mEventHandler; int what = TimeProvider.NOTIFY; int arg1 = TimeProvider.NOTIFY_TRACK_DATA; Pair<SubtitleTrack, byte[]> trackData = Pair.create(track, bos.toByteArray()); Pair<SubtitleTrack, byte[]> trackData = Pair.create(track, bos.toByteArray()); Message m = h.obtainMessage(what, arg1, 0, trackData); h.sendMessage(m); } } return MEDIA_INFO_EXTERNAL_METADATA_UPDATE; } catch (Exception e) { Log.e(TAG, e.getMessage(), e); Loading Loading @@ -3308,15 +3312,18 @@ public class MediaPlayer extends PlayerBase private static final int MEDIA_AUDIO_ROUTING_CHANGED = 10000; private TimeProvider mTimeProvider; private final Object mTimeProviderLock = new Object(); /** @hide */ @UnsupportedAppUsage public MediaTimeProvider getMediaTimeProvider() { synchronized (mTimeProviderLock) { if (mTimeProvider == null) { mTimeProvider = new TimeProvider(this); } return mTimeProvider; } } private class EventHandler extends Handler { Loading Loading
media/java/android/media/MediaPlayer.java +43 −36 Original line number Diff line number Diff line Loading @@ -25,8 +25,10 @@ import android.content.ContentProvider; import android.content.ContentResolver; import android.content.Context; import android.content.res.AssetFileDescriptor; import android.graphics.SurfaceTexture; import android.media.SubtitleController.Anchor; import android.media.SubtitleTrack.RenderingWidget; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.IBinder; Loading @@ -35,30 +37,19 @@ import android.os.Message; import android.os.Parcel; import android.os.Parcelable; import android.os.PersistableBundle; import android.os.Process; import android.os.PowerManager; import android.os.Process; import android.os.SystemProperties; import android.provider.Settings; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; import android.util.ArrayMap; import android.util.Log; import android.util.Pair; import android.util.ArrayMap; import android.view.Surface; import android.view.SurfaceHolder; import android.widget.VideoView; import android.graphics.SurfaceTexture; import android.media.AudioManager; import android.media.MediaDrm; import android.media.MediaFormat; import android.media.MediaTimeProvider; import android.media.PlaybackParams; import android.media.SubtitleController; import android.media.SubtitleController.Anchor; import android.media.SubtitleData; import android.media.SubtitleTrack.RenderingWidget; import android.media.SyncParams; import com.android.internal.annotations.GuardedBy; import com.android.internal.util.Preconditions; Loading @@ -72,7 +63,6 @@ import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.lang.Runnable; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.ref.WeakReference; Loading Loading @@ -2105,10 +2095,12 @@ public class MediaPlayer extends PlayerBase mOnInfoListener = null; mOnVideoSizeChangedListener = null; mOnTimedTextListener = null; synchronized (mTimeProviderLock) { if (mTimeProvider != null) { mTimeProvider.close(); mTimeProvider = null; } } synchronized(this) { mSubtitleDataListenerDisabled = false; mExtSubtitleDataListener = null; Loading Loading @@ -2147,10 +2139,12 @@ public class MediaPlayer extends PlayerBase if (mSubtitleController != null) { mSubtitleController.reset(); } synchronized (mTimeProviderLock) { if (mTimeProvider != null) { mTimeProvider.close(); mTimeProvider = null; } } stayAwake(false); _reset(); Loading Loading @@ -2790,12 +2784,17 @@ public class MediaPlayer extends PlayerBase synchronized (mIndexTrackPairs) { mIndexTrackPairs.add(Pair.<Integer, SubtitleTrack>create(null, track)); } synchronized (mTimeProviderLock) { if (mTimeProvider != null) { Handler h = mTimeProvider.mEventHandler; int what = TimeProvider.NOTIFY; int arg1 = TimeProvider.NOTIFY_TRACK_DATA; Pair<SubtitleTrack, byte[]> trackData = Pair.create(track, contents.getBytes()); Pair<SubtitleTrack, byte[]> trackData = Pair.create(track, contents.getBytes()); Message m = h.obtainMessage(what, arg1, 0, trackData); h.sendMessage(m); } } return MEDIA_INFO_EXTERNAL_METADATA_UPDATE; } Loading Loading @@ -3020,12 +3019,17 @@ public class MediaPlayer extends PlayerBase total += bytes; } } synchronized (mTimeProviderLock) { if (mTimeProvider != null) { Handler h = mTimeProvider.mEventHandler; int what = TimeProvider.NOTIFY; int arg1 = TimeProvider.NOTIFY_TRACK_DATA; Pair<SubtitleTrack, byte[]> trackData = Pair.create(track, bos.toByteArray()); Pair<SubtitleTrack, byte[]> trackData = Pair.create(track, bos.toByteArray()); Message m = h.obtainMessage(what, arg1, 0, trackData); h.sendMessage(m); } } return MEDIA_INFO_EXTERNAL_METADATA_UPDATE; } catch (Exception e) { Log.e(TAG, e.getMessage(), e); Loading Loading @@ -3308,15 +3312,18 @@ public class MediaPlayer extends PlayerBase private static final int MEDIA_AUDIO_ROUTING_CHANGED = 10000; private TimeProvider mTimeProvider; private final Object mTimeProviderLock = new Object(); /** @hide */ @UnsupportedAppUsage public MediaTimeProvider getMediaTimeProvider() { synchronized (mTimeProviderLock) { if (mTimeProvider == null) { mTimeProvider = new TimeProvider(this); } return mTimeProvider; } } private class EventHandler extends Handler { Loading