Go to the documentation of this file.
7 #define LOC QString("BDDecoder: ")
67 LOG(VB_PLAYBACK, LOG_INFO,
LOC +
"resetting");
69 Reset(
true,
false,
false);
87 (
m_ic->streams[StreamIndex] !=
nullptr))
98 (
m_ic->streams[StreamIndex] !=
nullptr))
109 int result = av_read_frame(Ctx, Pkt);
117 for (
int count = 0; (count < 3) && (result == AVERROR_EOF); count++)
122 result = av_read_frame(Ctx, Pkt);
141 int current_speed = 0;
148 if (ffrewSkip == 1 || ffrewSkip == 0)
159 if (desiredTimePos < 0)
162 return static_cast<long long>(DesiredFrame * 90000.0 /
m_fps);
164 return current_speed;
int GetAudioLanguage(uint StreamID)
bool AtNormalSpeed(void) const
MythMediaBuffer * m_ringBuffer
bool IsReadingBlocked(void)
float GetNextPlaySpeed(void) const
bool DoRewindSeek(long long DesiredFrame) override
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
QRecursiveMutex m_trackLock
void UpdateFramesPlayed(void) override
int GetSubtitleLanguage(uint SubtitleIndex, uint StreamIndex) override
Returns DVD Subtitle language.
int GetAudioLanguage(uint AudioIndex, uint StreamIndex) override
void UnblockReading(void)
long long BDFindPosition(long long DesiredFrame)
int ReadPacket(AVFormatContext *Ctx, AVPacket *Pkt, bool &StorePacket) override
virtual void ResetPosMap(void)
virtual bool SyncPositionMap(void)
Updates the position map used for skipping frames.
void Reset(bool ResetVideoData, bool SeekReset, bool ResetFile) override
Holds information on recordings and videos.
void SetFramesPlayed(uint64_t played)
std::chrono::seconds GetCurrentTime(void) const
int GetSubtitleLanguage(uint StreamID)
void StreamChangeCheck(void) override
MythBDDecoder(MythPlayer *Parent, const ProgramInfo &PGInfo, PlayerFlags Flags)
ISO 639-1 and ISO 639-2 support functions.
bool IsValidStream(uint StreamId)
bool IsValidStream(int StreamId) override
static int iso639_str3_to_key(const unsigned char *iso639_2)
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 GetFFRewSkip(void) const
int64_t AdjustTimestamp(int64_t Timestamp) const