From de39d0cdc7612bccf5cff597a7104b681108ce2e Mon Sep 17 00:00:00 2001 From: martii Date: Mon, 4 Nov 2013 14:15:21 +0100 Subject: [PATCH] libstb-hal/libspark/playback: add method for retrieving read-count --- libeplayer3/container/container_ffmpeg.c | 2 ++ libeplayer3/include/playback.h | 2 +- libspark/playback_libeplayer3.cpp | 7 +++++++ libspark/playback_libeplayer3.h | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/libeplayer3/container/container_ffmpeg.c b/libeplayer3/container/container_ffmpeg.c index ba4dfdd..1eb9be6 100644 --- a/libeplayer3/container/container_ffmpeg.c +++ b/libeplayer3/container/container_ffmpeg.c @@ -437,6 +437,8 @@ static void FFMPEGThread(Context_t *context) { Track_t * dvbsubtitleTrack = NULL; Track_t * teletextTrack = NULL; + context->playback->readCount += packet.size; + int pid = avContext->streams[packet.stream_index]->id; if (context->manager->video->Command(context, MANAGER_GET_TRACK, &videoTrack) < 0) diff --git a/libeplayer3/include/playback.h b/libeplayer3/include/playback.h index 02f1e07..34189ff 100644 --- a/libeplayer3/include/playback.h +++ b/libeplayer3/include/playback.h @@ -33,8 +33,8 @@ typedef struct PlaybackHandler_s { int (* Command) (/*Context_t*/void *, PlaybackCmd_t, void *); char * uri; - off_t size; unsigned char noprobe; /* hack: only minimal probing in av_find_stream_info */ + unsigned long long readCount; } PlaybackHandler_t; #endif diff --git a/libspark/playback_libeplayer3.cpp b/libspark/playback_libeplayer3.cpp index c11d22b..a0a2557 100644 --- a/libspark/playback_libeplayer3.cpp +++ b/libspark/playback_libeplayer3.cpp @@ -724,6 +724,13 @@ bool cPlayback::isPlaying() { return player->playback->isPlaying; return false; } + +unsigned long long cPlayback::GetReadCount() { + if (player && player->playback) { + return player->playback->readCount; + } + return 0; +} #if 0 bool cPlayback::IsPlaying(void) const { diff --git a/libspark/playback_libeplayer3.h b/libspark/playback_libeplayer3.h index 391c449..73437e4 100644 --- a/libspark/playback_libeplayer3.h +++ b/libspark/playback_libeplayer3.h @@ -49,6 +49,7 @@ class cPlayback void FindAllTeletextsubtitlePids(int *pids, unsigned int *numpidt, std::string *tlanguage); void RequestAbort(void); bool isPlaying(void); + unsigned long long GetReadCount(void); #if 0 void FindAllSubs(uint16_t *pids, unsigned short *supported, uint16_t *numpida, std::string *language); bool SelectSubtitles(int pid);