diff options
author | Gloria Wang <gwang@google.com> | 2011-05-25 20:11:25 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-05-25 20:11:25 -0700 |
commit | ecc0840163093942f3418aa4b27e9279c187b173 (patch) | |
tree | 9b777f68ee1cc42376146934d1c329a6b39de718 /media/libstagefright/AwesomePlayer.cpp | |
parent | ade8c2d682d4f8c9424dece53e39400c237d22bf (diff) | |
parent | 965d08ba16ee82bc85f69546360c18e7da907406 (diff) | |
download | frameworks_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.cpp | 26 |
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) { |