Loading media/libmediaplayerservice/nuplayer/GenericSource.cpp +6 −2 Original line number Diff line number Diff line Loading @@ -32,11 +32,13 @@ namespace android { NuPlayer::GenericSource::GenericSource( const sp<AMessage> ¬ify, const char *url, const KeyedVector<String8, String8> *headers, bool uidValid, uid_t uid) : mDurationUs(0ll), : Source(notify), mDurationUs(0ll), mAudioIsVorbis(false) { DataSource::RegisterDefaultSniffers(); Loading @@ -48,8 +50,10 @@ NuPlayer::GenericSource::GenericSource( } NuPlayer::GenericSource::GenericSource( const sp<AMessage> ¬ify, int fd, int64_t offset, int64_t length) : mDurationUs(0ll), : Source(notify), mDurationUs(0ll), mAudioIsVorbis(false) { DataSource::RegisterDefaultSniffers(); Loading media/libmediaplayerservice/nuplayer/GenericSource.h +4 −1 Original line number Diff line number Diff line Loading @@ -32,12 +32,15 @@ struct MediaSource; struct NuPlayer::GenericSource : public NuPlayer::Source { GenericSource( const sp<AMessage> ¬ify, const char *url, const KeyedVector<String8, String8> *headers, bool uidValid = false, uid_t uid = 0); GenericSource(int fd, int64_t offset, int64_t length); GenericSource( const sp<AMessage> ¬ify, int fd, int64_t offset, int64_t length); virtual void start(); Loading media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -34,10 +34,12 @@ namespace android { NuPlayer::HTTPLiveSource::HTTPLiveSource( const sp<AMessage> ¬ify, const char *url, const KeyedVector<String8, String8> *headers, bool uidValid, uid_t uid) : mURL(url), : Source(notify), mURL(url), mUIDValid(uidValid), mUID(uid), mFlags(0), Loading media/libmediaplayerservice/nuplayer/HTTPLiveSource.h +1 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ struct LiveSession; struct NuPlayer::HTTPLiveSource : public NuPlayer::Source { HTTPLiveSource( const sp<AMessage> ¬ify, const char *url, const KeyedVector<String8, String8> *headers, bool uidValid = false, Loading media/libmediaplayerservice/nuplayer/NuPlayer.cpp +29 −6 Original line number Diff line number Diff line Loading @@ -145,12 +145,14 @@ void NuPlayer::setDriver(const wp<NuPlayerDriver> &driver) { void NuPlayer::setDataSource(const sp<IStreamSource> &source) { sp<AMessage> msg = new AMessage(kWhatSetDataSource, id()); sp<AMessage> notify = new AMessage(kWhatSourceNotify, id()); char prop[PROPERTY_VALUE_MAX]; if (property_get("media.stagefright.use-mp4source", prop, NULL) && (!strcmp(prop, "1") || !strcasecmp(prop, "true"))) { msg->setObject("source", new MP4Source(source)); msg->setObject("source", new MP4Source(notify, source)); } else { msg->setObject("source", new StreamingSource(source)); msg->setObject("source", new StreamingSource(notify, source)); } msg->post(); Loading @@ -176,13 +178,15 @@ void NuPlayer::setDataSource( const char *url, const KeyedVector<String8, String8> *headers) { sp<AMessage> msg = new AMessage(kWhatSetDataSource, id()); sp<AMessage> notify = new AMessage(kWhatSourceNotify, id()); sp<Source> source; if (IsHTTPLiveURL(url)) { source = new HTTPLiveSource(url, headers, mUIDValid, mUID); source = new HTTPLiveSource(notify, url, headers, mUIDValid, mUID); } else if (!strncasecmp(url, "rtsp://", 7)) { source = new RTSPSource(url, headers, mUIDValid, mUID); source = new RTSPSource(notify, url, headers, mUIDValid, mUID); } else { source = new GenericSource(url, headers, mUIDValid, mUID); source = new GenericSource(notify, url, headers, mUIDValid, mUID); } msg->setObject("source", source); Loading @@ -192,7 +196,9 @@ void NuPlayer::setDataSource( void NuPlayer::setDataSource(int fd, int64_t offset, int64_t length) { sp<AMessage> msg = new AMessage(kWhatSetDataSource, id()); sp<Source> source = new GenericSource(fd, offset, length); sp<AMessage> notify = new AMessage(kWhatSourceNotify, id()); sp<Source> source = new GenericSource(notify, fd, offset, length); msg->setObject("source", source); msg->post(); } Loading Loading @@ -273,6 +279,8 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) { CHECK(msg->findObject("source", &obj)); mSource = static_cast<Source *>(obj.get()); looper()->registerHandler(mSource); break; } Loading Loading @@ -714,6 +722,12 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) { break; } case kWhatSourceNotify: { TRESPASS(); // TBD break; } default: TRESPASS(); break; Loading Loading @@ -1169,6 +1183,9 @@ void NuPlayer::performReset() { if (mSource != NULL) { mSource->stop(); looper()->unregisterHandler(mSource->id()); mSource.clear(); } Loading Loading @@ -1210,4 +1227,10 @@ void NuPlayer::performSetSurface(const sp<NativeWindowWrapper> &wrapper) { } } //////////////////////////////////////////////////////////////////////////////// void NuPlayer::Source::onMessageReceived(const sp<AMessage> &msg) { TRESPASS(); } } // namespace android Loading
media/libmediaplayerservice/nuplayer/GenericSource.cpp +6 −2 Original line number Diff line number Diff line Loading @@ -32,11 +32,13 @@ namespace android { NuPlayer::GenericSource::GenericSource( const sp<AMessage> ¬ify, const char *url, const KeyedVector<String8, String8> *headers, bool uidValid, uid_t uid) : mDurationUs(0ll), : Source(notify), mDurationUs(0ll), mAudioIsVorbis(false) { DataSource::RegisterDefaultSniffers(); Loading @@ -48,8 +50,10 @@ NuPlayer::GenericSource::GenericSource( } NuPlayer::GenericSource::GenericSource( const sp<AMessage> ¬ify, int fd, int64_t offset, int64_t length) : mDurationUs(0ll), : Source(notify), mDurationUs(0ll), mAudioIsVorbis(false) { DataSource::RegisterDefaultSniffers(); Loading
media/libmediaplayerservice/nuplayer/GenericSource.h +4 −1 Original line number Diff line number Diff line Loading @@ -32,12 +32,15 @@ struct MediaSource; struct NuPlayer::GenericSource : public NuPlayer::Source { GenericSource( const sp<AMessage> ¬ify, const char *url, const KeyedVector<String8, String8> *headers, bool uidValid = false, uid_t uid = 0); GenericSource(int fd, int64_t offset, int64_t length); GenericSource( const sp<AMessage> ¬ify, int fd, int64_t offset, int64_t length); virtual void start(); Loading
media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -34,10 +34,12 @@ namespace android { NuPlayer::HTTPLiveSource::HTTPLiveSource( const sp<AMessage> ¬ify, const char *url, const KeyedVector<String8, String8> *headers, bool uidValid, uid_t uid) : mURL(url), : Source(notify), mURL(url), mUIDValid(uidValid), mUID(uid), mFlags(0), Loading
media/libmediaplayerservice/nuplayer/HTTPLiveSource.h +1 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ struct LiveSession; struct NuPlayer::HTTPLiveSource : public NuPlayer::Source { HTTPLiveSource( const sp<AMessage> ¬ify, const char *url, const KeyedVector<String8, String8> *headers, bool uidValid = false, Loading
media/libmediaplayerservice/nuplayer/NuPlayer.cpp +29 −6 Original line number Diff line number Diff line Loading @@ -145,12 +145,14 @@ void NuPlayer::setDriver(const wp<NuPlayerDriver> &driver) { void NuPlayer::setDataSource(const sp<IStreamSource> &source) { sp<AMessage> msg = new AMessage(kWhatSetDataSource, id()); sp<AMessage> notify = new AMessage(kWhatSourceNotify, id()); char prop[PROPERTY_VALUE_MAX]; if (property_get("media.stagefright.use-mp4source", prop, NULL) && (!strcmp(prop, "1") || !strcasecmp(prop, "true"))) { msg->setObject("source", new MP4Source(source)); msg->setObject("source", new MP4Source(notify, source)); } else { msg->setObject("source", new StreamingSource(source)); msg->setObject("source", new StreamingSource(notify, source)); } msg->post(); Loading @@ -176,13 +178,15 @@ void NuPlayer::setDataSource( const char *url, const KeyedVector<String8, String8> *headers) { sp<AMessage> msg = new AMessage(kWhatSetDataSource, id()); sp<AMessage> notify = new AMessage(kWhatSourceNotify, id()); sp<Source> source; if (IsHTTPLiveURL(url)) { source = new HTTPLiveSource(url, headers, mUIDValid, mUID); source = new HTTPLiveSource(notify, url, headers, mUIDValid, mUID); } else if (!strncasecmp(url, "rtsp://", 7)) { source = new RTSPSource(url, headers, mUIDValid, mUID); source = new RTSPSource(notify, url, headers, mUIDValid, mUID); } else { source = new GenericSource(url, headers, mUIDValid, mUID); source = new GenericSource(notify, url, headers, mUIDValid, mUID); } msg->setObject("source", source); Loading @@ -192,7 +196,9 @@ void NuPlayer::setDataSource( void NuPlayer::setDataSource(int fd, int64_t offset, int64_t length) { sp<AMessage> msg = new AMessage(kWhatSetDataSource, id()); sp<Source> source = new GenericSource(fd, offset, length); sp<AMessage> notify = new AMessage(kWhatSourceNotify, id()); sp<Source> source = new GenericSource(notify, fd, offset, length); msg->setObject("source", source); msg->post(); } Loading Loading @@ -273,6 +279,8 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) { CHECK(msg->findObject("source", &obj)); mSource = static_cast<Source *>(obj.get()); looper()->registerHandler(mSource); break; } Loading Loading @@ -714,6 +722,12 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) { break; } case kWhatSourceNotify: { TRESPASS(); // TBD break; } default: TRESPASS(); break; Loading Loading @@ -1169,6 +1183,9 @@ void NuPlayer::performReset() { if (mSource != NULL) { mSource->stop(); looper()->unregisterHandler(mSource->id()); mSource.clear(); } Loading Loading @@ -1210,4 +1227,10 @@ void NuPlayer::performSetSurface(const sp<NativeWindowWrapper> &wrapper) { } } //////////////////////////////////////////////////////////////////////////////// void NuPlayer::Source::onMessageReceived(const sp<AMessage> &msg) { TRESPASS(); } } // namespace android