Loading media/libmedia/nuplayer2/NuPlayer2Driver.cpp +28 −0 Original line number Original line Diff line number Diff line Loading @@ -55,6 +55,7 @@ static const char *kPlayerDuration = "android.media.mediaplayer.durationMs"; static const char *kPlayerPlaying = "android.media.mediaplayer.playingMs"; static const char *kPlayerPlaying = "android.media.mediaplayer.playingMs"; static const char *kPlayerError = "android.media.mediaplayer.err"; static const char *kPlayerError = "android.media.mediaplayer.err"; static const char *kPlayerErrorCode = "android.media.mediaplayer.errcode"; static const char *kPlayerErrorCode = "android.media.mediaplayer.errcode"; static const char *kPlayerErrorState = "android.media.mediaplayer.errstate"; static const char *kPlayerDataSourceType = "android.media.mediaplayer.dataSource"; static const char *kPlayerDataSourceType = "android.media.mediaplayer.dataSource"; // // static const char *kPlayerRebuffering = "android.media.mediaplayer.rebufferingMs"; static const char *kPlayerRebuffering = "android.media.mediaplayer.rebufferingMs"; Loading Loading @@ -1015,6 +1016,7 @@ void NuPlayer2Driver::notifyListener_l( if (ext2 != 0) { if (ext2 != 0) { mAnalyticsItem->setInt32(kPlayerErrorCode, ext2); mAnalyticsItem->setInt32(kPlayerErrorCode, ext2); } } mAnalyticsItem->setCString(kPlayerErrorState, stateString(mState).c_str()); } } mAtEOS = true; mAtEOS = true; break; break; Loading Loading @@ -1117,4 +1119,30 @@ status_t NuPlayer2Driver::releaseDrm() return ret; return ret; } } std::string NuPlayer2Driver::stateString(State state) { const char *rval = NULL; char rawbuffer[16]; // allows "%d" switch (state) { case STATE_IDLE: rval = "IDLE"; break; case STATE_SET_DATASOURCE_PENDING: rval = "SET_DATASOURCE_PENDING"; break; case STATE_UNPREPARED: rval = "UNPREPARED"; break; case STATE_PREPARING: rval = "PREPARING"; break; case STATE_PREPARED: rval = "PREPARED"; break; case STATE_RUNNING: rval = "RUNNING"; break; case STATE_PAUSED: rval = "PAUSED"; break; case STATE_RESET_IN_PROGRESS: rval = "RESET_IN_PROGRESS"; break; case STATE_STOPPED: rval = "STOPPED"; break; case STATE_STOPPED_AND_PREPARING: rval = "STOPPED_AND_PREPARING"; break; case STATE_STOPPED_AND_PREPARED: rval = "STOPPED_AND_PREPARED"; break; default: // yes, this buffer is shared and vulnerable to races snprintf(rawbuffer, sizeof(rawbuffer), "%d", state); rval = rawbuffer; break; } return rval; } } // namespace android } // namespace android media/libmedia/nuplayer2/NuPlayer2Driver.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -115,6 +115,8 @@ private: STATE_STOPPED_AND_PREPARED, // equivalent to PAUSED, but seek complete STATE_STOPPED_AND_PREPARED, // equivalent to PAUSED, but seek complete }; }; std::string stateString(State state); enum { enum { kWhatNotifyListener, kWhatNotifyListener, }; }; Loading media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp +28 −0 Original line number Original line Diff line number Diff line Loading @@ -55,6 +55,7 @@ static const char *kPlayerDuration = "android.media.mediaplayer.durationMs"; static const char *kPlayerPlaying = "android.media.mediaplayer.playingMs"; static const char *kPlayerPlaying = "android.media.mediaplayer.playingMs"; static const char *kPlayerError = "android.media.mediaplayer.err"; static const char *kPlayerError = "android.media.mediaplayer.err"; static const char *kPlayerErrorCode = "android.media.mediaplayer.errcode"; static const char *kPlayerErrorCode = "android.media.mediaplayer.errcode"; static const char *kPlayerErrorState = "android.media.mediaplayer.errstate"; static const char *kPlayerDataSourceType = "android.media.mediaplayer.dataSource"; static const char *kPlayerDataSourceType = "android.media.mediaplayer.dataSource"; // // static const char *kPlayerRebuffering = "android.media.mediaplayer.rebufferingMs"; static const char *kPlayerRebuffering = "android.media.mediaplayer.rebufferingMs"; Loading Loading @@ -993,6 +994,7 @@ void NuPlayerDriver::notifyListener_l( if (ext2 != 0) { if (ext2 != 0) { mAnalyticsItem->setInt32(kPlayerErrorCode, ext2); mAnalyticsItem->setInt32(kPlayerErrorCode, ext2); } } mAnalyticsItem->setCString(kPlayerErrorState, stateString(mState).c_str()); } } mAtEOS = true; mAtEOS = true; break; break; Loading Loading @@ -1089,4 +1091,30 @@ status_t NuPlayerDriver::releaseDrm() return ret; return ret; } } std::string NuPlayerDriver::stateString(State state) { const char *rval = NULL; char rawbuffer[16]; // allows "%d" switch (state) { case STATE_IDLE: rval = "IDLE"; break; case STATE_SET_DATASOURCE_PENDING: rval = "SET_DATASOURCE_PENDING"; break; case STATE_UNPREPARED: rval = "UNPREPARED"; break; case STATE_PREPARING: rval = "PREPARING"; break; case STATE_PREPARED: rval = "PREPARED"; break; case STATE_RUNNING: rval = "RUNNING"; break; case STATE_PAUSED: rval = "PAUSED"; break; case STATE_RESET_IN_PROGRESS: rval = "RESET_IN_PROGRESS"; break; case STATE_STOPPED: rval = "STOPPED"; break; case STATE_STOPPED_AND_PREPARING: rval = "STOPPED_AND_PREPARING"; break; case STATE_STOPPED_AND_PREPARED: rval = "STOPPED_AND_PREPARED"; break; default: // yes, this buffer is shared and vulnerable to races snprintf(rawbuffer, sizeof(rawbuffer), "%d", state); rval = rawbuffer; break; } return rval; } } // namespace android } // namespace android media/libmediaplayerservice/nuplayer/NuPlayerDriver.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -113,6 +113,8 @@ private: STATE_STOPPED_AND_PREPARED, // equivalent to PAUSED, but seek complete STATE_STOPPED_AND_PREPARED, // equivalent to PAUSED, but seek complete }; }; std::string stateString(State state); mutable Mutex mLock; mutable Mutex mLock; Condition mCondition; Condition mCondition; Loading Loading
media/libmedia/nuplayer2/NuPlayer2Driver.cpp +28 −0 Original line number Original line Diff line number Diff line Loading @@ -55,6 +55,7 @@ static const char *kPlayerDuration = "android.media.mediaplayer.durationMs"; static const char *kPlayerPlaying = "android.media.mediaplayer.playingMs"; static const char *kPlayerPlaying = "android.media.mediaplayer.playingMs"; static const char *kPlayerError = "android.media.mediaplayer.err"; static const char *kPlayerError = "android.media.mediaplayer.err"; static const char *kPlayerErrorCode = "android.media.mediaplayer.errcode"; static const char *kPlayerErrorCode = "android.media.mediaplayer.errcode"; static const char *kPlayerErrorState = "android.media.mediaplayer.errstate"; static const char *kPlayerDataSourceType = "android.media.mediaplayer.dataSource"; static const char *kPlayerDataSourceType = "android.media.mediaplayer.dataSource"; // // static const char *kPlayerRebuffering = "android.media.mediaplayer.rebufferingMs"; static const char *kPlayerRebuffering = "android.media.mediaplayer.rebufferingMs"; Loading Loading @@ -1015,6 +1016,7 @@ void NuPlayer2Driver::notifyListener_l( if (ext2 != 0) { if (ext2 != 0) { mAnalyticsItem->setInt32(kPlayerErrorCode, ext2); mAnalyticsItem->setInt32(kPlayerErrorCode, ext2); } } mAnalyticsItem->setCString(kPlayerErrorState, stateString(mState).c_str()); } } mAtEOS = true; mAtEOS = true; break; break; Loading Loading @@ -1117,4 +1119,30 @@ status_t NuPlayer2Driver::releaseDrm() return ret; return ret; } } std::string NuPlayer2Driver::stateString(State state) { const char *rval = NULL; char rawbuffer[16]; // allows "%d" switch (state) { case STATE_IDLE: rval = "IDLE"; break; case STATE_SET_DATASOURCE_PENDING: rval = "SET_DATASOURCE_PENDING"; break; case STATE_UNPREPARED: rval = "UNPREPARED"; break; case STATE_PREPARING: rval = "PREPARING"; break; case STATE_PREPARED: rval = "PREPARED"; break; case STATE_RUNNING: rval = "RUNNING"; break; case STATE_PAUSED: rval = "PAUSED"; break; case STATE_RESET_IN_PROGRESS: rval = "RESET_IN_PROGRESS"; break; case STATE_STOPPED: rval = "STOPPED"; break; case STATE_STOPPED_AND_PREPARING: rval = "STOPPED_AND_PREPARING"; break; case STATE_STOPPED_AND_PREPARED: rval = "STOPPED_AND_PREPARED"; break; default: // yes, this buffer is shared and vulnerable to races snprintf(rawbuffer, sizeof(rawbuffer), "%d", state); rval = rawbuffer; break; } return rval; } } // namespace android } // namespace android
media/libmedia/nuplayer2/NuPlayer2Driver.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -115,6 +115,8 @@ private: STATE_STOPPED_AND_PREPARED, // equivalent to PAUSED, but seek complete STATE_STOPPED_AND_PREPARED, // equivalent to PAUSED, but seek complete }; }; std::string stateString(State state); enum { enum { kWhatNotifyListener, kWhatNotifyListener, }; }; Loading
media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp +28 −0 Original line number Original line Diff line number Diff line Loading @@ -55,6 +55,7 @@ static const char *kPlayerDuration = "android.media.mediaplayer.durationMs"; static const char *kPlayerPlaying = "android.media.mediaplayer.playingMs"; static const char *kPlayerPlaying = "android.media.mediaplayer.playingMs"; static const char *kPlayerError = "android.media.mediaplayer.err"; static const char *kPlayerError = "android.media.mediaplayer.err"; static const char *kPlayerErrorCode = "android.media.mediaplayer.errcode"; static const char *kPlayerErrorCode = "android.media.mediaplayer.errcode"; static const char *kPlayerErrorState = "android.media.mediaplayer.errstate"; static const char *kPlayerDataSourceType = "android.media.mediaplayer.dataSource"; static const char *kPlayerDataSourceType = "android.media.mediaplayer.dataSource"; // // static const char *kPlayerRebuffering = "android.media.mediaplayer.rebufferingMs"; static const char *kPlayerRebuffering = "android.media.mediaplayer.rebufferingMs"; Loading Loading @@ -993,6 +994,7 @@ void NuPlayerDriver::notifyListener_l( if (ext2 != 0) { if (ext2 != 0) { mAnalyticsItem->setInt32(kPlayerErrorCode, ext2); mAnalyticsItem->setInt32(kPlayerErrorCode, ext2); } } mAnalyticsItem->setCString(kPlayerErrorState, stateString(mState).c_str()); } } mAtEOS = true; mAtEOS = true; break; break; Loading Loading @@ -1089,4 +1091,30 @@ status_t NuPlayerDriver::releaseDrm() return ret; return ret; } } std::string NuPlayerDriver::stateString(State state) { const char *rval = NULL; char rawbuffer[16]; // allows "%d" switch (state) { case STATE_IDLE: rval = "IDLE"; break; case STATE_SET_DATASOURCE_PENDING: rval = "SET_DATASOURCE_PENDING"; break; case STATE_UNPREPARED: rval = "UNPREPARED"; break; case STATE_PREPARING: rval = "PREPARING"; break; case STATE_PREPARED: rval = "PREPARED"; break; case STATE_RUNNING: rval = "RUNNING"; break; case STATE_PAUSED: rval = "PAUSED"; break; case STATE_RESET_IN_PROGRESS: rval = "RESET_IN_PROGRESS"; break; case STATE_STOPPED: rval = "STOPPED"; break; case STATE_STOPPED_AND_PREPARING: rval = "STOPPED_AND_PREPARING"; break; case STATE_STOPPED_AND_PREPARED: rval = "STOPPED_AND_PREPARED"; break; default: // yes, this buffer is shared and vulnerable to races snprintf(rawbuffer, sizeof(rawbuffer), "%d", state); rval = rawbuffer; break; } return rval; } } // namespace android } // namespace android
media/libmediaplayerservice/nuplayer/NuPlayerDriver.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -113,6 +113,8 @@ private: STATE_STOPPED_AND_PREPARED, // equivalent to PAUSED, but seek complete STATE_STOPPED_AND_PREPARED, // equivalent to PAUSED, but seek complete }; }; std::string stateString(State state); mutable Mutex mLock; mutable Mutex mLock; Condition mCondition; Condition mCondition; Loading