summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/AwesomePlayer.cpp
diff options
context:
space:
mode:
authorGloria Wang <gwang@google.com>2011-05-25 20:11:25 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-05-25 20:11:25 -0700
commitecc0840163093942f3418aa4b27e9279c187b173 (patch)
tree9b777f68ee1cc42376146934d1c329a6b39de718 /media/libstagefright/AwesomePlayer.cpp
parentade8c2d682d4f8c9424dece53e39400c237d22bf (diff)
parent965d08ba16ee82bc85f69546360c18e7da907406 (diff)
downloadframeworks_av-ecc0840163093942f3418aa4b27e9279c187b173.zip
frameworks_av-ecc0840163093942f3418aa4b27e9279c187b173.tar.gz
frameworks_av-ecc0840163093942f3418aa4b27e9279c187b173.tar.bz2
Merge "For out of band timed text support (timed text in a separate file)."
Diffstat (limited to 'media/libstagefright/AwesomePlayer.cpp')
-rw-r--r--media/libstagefright/AwesomePlayer.cpp26
1 files changed, 22 insertions, 4 deletions
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index 70053ea..3d270f8 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -29,9 +29,10 @@
#include "include/NuCachedSource2.h"
#include "include/ThrottledSource.h"
#include "include/MPEG2TSExtractor.h"
-#include "include/TimedTextPlayer.h"
#include "include/WVMExtractor.h"
+#include "timedtext/TimedTextPlayer.h"
+
#include <binder/IPCThreadState.h>
#include <binder/IServiceManager.h>
#include <media/IMediaPlayerService.h>
@@ -1282,6 +1283,7 @@ void AwesomePlayer::setAudioSource(sp<MediaSource> source) {
}
void AwesomePlayer::addTextSource(sp<MediaSource> source) {
+ Mutex::Autolock autoLock(mTimedTextLock);
CHECK(source != NULL);
if (mTextPlayer == NULL) {
@@ -2066,10 +2068,26 @@ void AwesomePlayer::postAudioSeekComplete_l() {
}
status_t AwesomePlayer::setParameter(int key, const Parcel &request) {
- if (key == KEY_PARAMETER_TIMED_TEXT_TRACK_INDEX) {
- return setTimedTextTrackIndex(request.readInt32());
+ switch (key) {
+ case KEY_PARAMETER_TIMED_TEXT_TRACK_INDEX:
+ {
+ Mutex::Autolock autoLock(mTimedTextLock);
+ return setTimedTextTrackIndex(request.readInt32());
+ }
+ case KEY_PARAMETER_TIMED_TEXT_ADD_OUT_OF_BAND_SOURCE:
+ {
+ Mutex::Autolock autoLock(mTimedTextLock);
+ if (mTextPlayer == NULL) {
+ mTextPlayer = new TimedTextPlayer(this, mListener, &mQueue);
+ }
+
+ return mTextPlayer->setParameter(key, request);
+ }
+ default:
+ {
+ return ERROR_UNSUPPORTED;
+ }
}
- return ERROR_UNSUPPORTED;
}
status_t AwesomePlayer::getParameter(int key, Parcel *reply) {