9#define LOC QString("BDDecoder: ")
69 LOG(VB_PLAYBACK, LOG_INFO,
LOC +
"resetting");
71 Reset(
true,
false,
false);
88 (
m_ic->streams[StreamIndex] !=
nullptr))
99 (
m_ic->streams[StreamIndex] !=
nullptr))
110 int result = av_read_frame(Ctx, Pkt);
118 for (
int count = 0; (count < 3) && (result == AVERROR_EOF); count++)
123 result = av_read_frame(Ctx, Pkt);
142 int current_speed = 0;
149 if (ffrewSkip == 1 || ffrewSkip == 0)
160 if (desiredTimePos < 0)
163 return static_cast<long long>(DesiredFrame * 90000.0 /
m_fps);
165 return current_speed;
MythMediaBuffer * m_ringBuffer
QRecursiveMutex m_trackLock
virtual void ResetPosMap(void)
virtual bool SyncPositionMap(void)
Updates the position map used for skipping frames.
std::chrono::seconds GetCurrentTime(void) const
bool IsReadingBlocked(void)
int64_t AdjustTimestamp(int64_t Timestamp) const
void UnblockReading(void)
bool IsValidStream(uint StreamId)
int GetAudioLanguage(uint StreamID)
int GetSubtitleLanguage(uint StreamID)
int GetAudioLanguage(uint AudioIndex, uint StreamIndex) override
void DoFastForwardSeek(long long DesiredFrame, bool &Needflush) override
Seeks to the keyframe just before the desiredFrame if exact seeks is enabled, or the frame just after...
int GetSubtitleLanguage(uint SubtitleIndex, uint StreamIndex) override
Returns DVD Subtitle language.
bool DoRewindSeek(long long DesiredFrame) override
long long BDFindPosition(long long DesiredFrame)
void StreamChangeCheck(void) override
MythBDDecoder(MythPlayer *Parent, const ProgramInfo &PGInfo, PlayerFlags Flags)
void Reset(bool ResetVideoData, bool SeekReset, bool ResetFile) override
int ReadPacket(AVFormatContext *Ctx, AVPacket *Pkt, bool &StorePacket) override
void UpdateFramesPlayed(void) override
bool IsValidStream(int StreamId) override
float GetNextPlaySpeed(void) const
void SetFramesPlayed(uint64_t played)
bool AtNormalSpeed(void) const
int GetFFRewSkip(void) const
Holds information on recordings and videos.
ISO 639-1 and ISO 639-2 support functions.
static int iso639_str3_to_key(const unsigned char *iso639_2)
#define LOG(_MASK_, _LEVEL_, _QSTRING_)