MythTV
master
|
#include <decoderbase.h>
Classes | |
struct | PosMapEntry |
Public Member Functions | |
DecoderBase (MythPlayer *parent, const ProgramInfo &pginfo) | |
virtual | ~DecoderBase () |
void | SetRenderFormats (const VideoFrameTypes *RenderFormats) |
virtual void | Reset (bool reset_video_data, bool seek_reset, bool reset_file) |
virtual int | OpenFile (MythMediaBuffer *Buffer, bool novideo, TestBufferVec &testbuf)=0 |
virtual void | SetEofState (EofState eof) |
virtual void | SetEof (bool eof) |
EofState | GetEof (void) |
void | SetSeekSnap (uint64_t snap) |
uint64_t | GetSeekSnap (void) const |
void | SetLiveTVMode (bool live) |
void | SetProgramInfo (const ProgramInfo &pginfo) |
virtual void | SetDisablePassThrough (bool disable) |
Disables AC3/DTS pass through. More... | |
virtual void | ForceSetupAudioStream (void) |
virtual void | SetWatchingRecording (bool mode) |
virtual bool | GetFrame (DecodeType Type, bool &Retry)=0 |
Demux, preprocess and possibly decode a frame of video/audio. More... | |
MythPlayer * | GetPlayer () |
virtual int | GetNumChapters (void) |
virtual int | GetCurrentChapter (long long) |
virtual void | GetChapterTimes (QList< std::chrono::seconds > &) |
virtual long long | GetChapter (int) |
virtual bool | DoRewind (long long desiredFrame, bool discardFrames=true) |
virtual bool | DoFastForward (long long desiredFrame, bool discardFrames=true) |
Skips ahead or rewinds to desiredFrame. More... | |
virtual void | SetIdrOnlyKeyframes (bool) |
std::chrono::milliseconds | TranslatePositionFrameToMs (long long position, float fallback_framerate, const frm_dir_map_t &cutlist) |
uint64_t | TranslatePositionMsToFrame (std::chrono::milliseconds dur_ms, float fallback_framerate, const frm_dir_map_t &cutlist) |
float | GetVideoAspect (void) const |
virtual std::chrono::milliseconds | NormalizeVideoTimecode (std::chrono::milliseconds timecode) |
virtual bool | IsLastFrameKey (void) const =0 |
virtual void | WriteStoredData (MythMediaBuffer *Buffer, bool storevid, std::chrono::milliseconds timecodeOffset)=0 |
virtual void | ClearStoredData (void) |
virtual void | SetRawAudioState (bool state) |
virtual bool | GetRawAudioState (void) const |
virtual void | SetRawVideoState (bool state) |
virtual bool | GetRawVideoState (void) const |
virtual long | UpdateStoredFrameNum (long frame)=0 |
virtual double | GetFPS (void) const |
uint | GetRawBitrate (void) const |
Returns the estimated bitrate if the video were played at normal speed. More... | |
virtual void | UpdateFramesPlayed (void) |
long long | GetFramesRead (void) const |
long long | GetFramesPlayed (void) const |
void | SetFramesPlayed (long long newValue) |
virtual QString | GetCodecDecoderName (void) const =0 |
virtual QString | GetRawEncodingType (void) |
virtual MythCodecID | GetVideoCodecID (void) const =0 |
virtual void | ResetPosMap (void) |
virtual bool | SyncPositionMap (void) |
Updates the position map used for skipping frames. More... | |
virtual bool | PosMapFromDb (void) |
virtual bool | PosMapFromEnc (void) |
Queries encoder for position map data that has not been committed to the DB yet. More... | |
virtual bool | FindPosition (long long desired_value, bool search_adjusted, int &lower_bound, int &upper_bound) |
uint64_t | SavePositionMapDelta (long long first_frame, long long last_frame) |
virtual void | SeekReset (long long newkey, uint skipFrames, bool doFlush, bool discardFrames) |
void | SetTranscoding (bool value) |
bool | IsErrored () const |
bool | HasPositionMap (void) const |
void | SetWaitForChange (void) |
bool | GetWaitForChange (void) const |
void | SetReadAdjust (long long adjust) |
void | SetDecodeAllSubtitles (bool DecodeAll) |
virtual QStringList | GetTracks (uint Type) |
virtual uint | GetTrackCount (uint Type) |
virtual int | GetTrackLanguageIndex (uint Type, uint TrackNo) |
virtual QString | GetTrackDesc (uint Type, uint TrackNo) |
virtual int | SetTrack (uint Type, int TrackNo) |
int | GetTrack (uint Type) |
StreamInfo | GetTrackInfo (uint Type, uint TrackNo) |
int | ChangeTrack (uint Type, int Dir) |
virtual bool | InsertTrack (uint Type, const StreamInfo &Info) |
int | NextTrack (uint Type) |
virtual int | GetTeletextDecoderType (void) const |
virtual QString | GetXDS (const QString &) const |
virtual QByteArray | GetSubHeader (uint) |
virtual void | GetAttachmentData (uint, QByteArray &, QByteArray &) |
virtual bool | SetAudioByComponentTag (int) |
virtual bool | SetVideoByComponentTag (int) |
void | SaveTotalDuration (void) |
void | ResetTotalDuration (void) |
void | SaveTotalFrames (void) |
void | TrackTotalDuration (bool track) |
int | GetfpsMultiplier (void) const |
MythCodecContext * | GetMythCodecContext (void) |
Static Public Member Functions | |
static uint64_t | TranslatePositionAbsToRel (const frm_dir_map_t &deleteMap, uint64_t absPosition, const frm_pos_map_t &map=frm_pos_map_t(), float fallback_ratio=1.0) |
static uint64_t | TranslatePositionRelToAbs (const frm_dir_map_t &deleteMap, uint64_t relPosition, const frm_pos_map_t &map=frm_pos_map_t(), float fallback_ratio=1.0) |
static uint64_t | TranslatePosition (const frm_pos_map_t &map, long long key, float fallback_ratio) |
static AVPixelFormat | GetBestVideoFormat (AVPixelFormat *Formats, const VideoFrameTypes *RenderFormats) |
Find a suitable frame format that is mutually acceptable to the decoder and render device. More... | |
Protected Member Functions | |
virtual int | AutoSelectTrack (uint Type) |
Select best track. More... | |
void | AutoSelectTracks (void) |
void | ResetTracks (void) |
void | FileChanged (void) |
virtual bool | DoRewindSeek (long long desiredFrame) |
virtual void | DoFastForwardSeek (long long desiredFrame, bool &needflush) |
Seeks to the keyframe just before the desiredFrame if exact seeks is enabled, or the frame just after it if exact seeks is not enabled. More... | |
long long | ConditionallyUpdatePosMap (long long desiredFrame) |
long long | GetLastFrameInPosMap (void) const |
unsigned long | GetPositionMapSize (void) const |
long long | GetKey (const PosMapEntry &entry) const |
Definition at line 120 of file decoderbase.h.
DecoderBase::DecoderBase | ( | MythPlayer * | parent, |
const ProgramInfo & | pginfo | ||
) |
Definition at line 17 of file decoderbase.cpp.
|
virtual |
Definition at line 31 of file decoderbase.cpp.
void DecoderBase::SetRenderFormats | ( | const VideoFrameTypes * | RenderFormats | ) |
Definition at line 36 of file decoderbase.cpp.
Referenced by MythPlayer::SetDecoder().
Reimplemented in MythDVDDecoder, MythBDDecoder, and AvFormatDecoder.
Definition at line 48 of file decoderbase.cpp.
Referenced by MythCommFlagPlayer::RebuildSeekTable(), AvFormatDecoder::Reset(), and MythPlayer::ResetPlaying().
|
pure virtual |
Implemented in AvFormatDecoder, and DummyDecoder.
Referenced by MythPlayer::OpenFile().
|
inlinevirtual |
Definition at line 131 of file decoderbase.h.
Referenced by Reset(), and MythPlayer::SetEof().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 132 of file decoderbase.h.
Referenced by AvFormatDecoder::SetEof().
|
inline |
Definition at line 135 of file decoderbase.h.
Referenced by MythPlayer::GetEof(), and MythPlayerUI::VideoLoop().
|
inline |
Definition at line 137 of file decoderbase.h.
Referenced by MythTranscodePlayer::InitForTranscode(), MythPlayer::OpenFile(), and MythPlayer::WaitForSeek().
|
inline |
Definition at line 138 of file decoderbase.h.
Referenced by AvFormatDecoder::DoFastForward(), and AvFormatDecoder::SeekReset().
|
inline |
Definition at line 139 of file decoderbase.h.
Referenced by MythPlayer::OpenFile().
void DecoderBase::SetProgramInfo | ( | const ProgramInfo & | pginfo | ) |
Definition at line 42 of file decoderbase.cpp.
Referenced by MythPlayerUI::FileChanged(), MythPlayerUI::JumpToProgram(), MythPlayerUI::JumpToStream(), and MythPlayerUI::SwitchToProgram().
|
inlinevirtual |
Disables AC3/DTS pass through.
Reimplemented in AvFormatDecoder.
Definition at line 145 of file decoderbase.h.
Referenced by MythPlayer::SetDisablePassThrough().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 147 of file decoderbase.h.
Referenced by MythPlayer::ForceSetupAudioStream().
|
virtual |
Definition at line 82 of file decoderbase.cpp.
Referenced by MythPlayer::OpenFile(), and MythPlayer::SetWatchingRecording().
|
pure virtual |
Demux, preprocess and possibly decode a frame of video/audio.
Implemented in DummyDecoder, AvFormatDecoder, and MythDVDDecoder.
Referenced by DoFastForward(), and MythPlayer::DoGetFrame().
|
inline |
Definition at line 152 of file decoderbase.h.
Referenced by get_avf_buffer_dxva2(), get_format_dxva2(), MythVTBContext::InitFramesContext(), and MythNVDECContext::InitFramesContext().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 154 of file decoderbase.h.
Referenced by MythPlayer::GetNumChapters().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 155 of file decoderbase.h.
Referenced by MythPlayer::GetCurrentChapter().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 156 of file decoderbase.h.
Referenced by MythPlayer::GetChapterTimes().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 157 of file decoderbase.h.
Referenced by MythPlayer::GetChapter().
Reimplemented in AvFormatDecoder.
Definition at line 555 of file decoderbase.cpp.
Referenced by MythPlayer::DecoderLoop(), DoFastForward(), MythPlayer::DoFFRewSkip(), AvFormatDecoder::DoRewind(), and MythCommFlagPlayer::RebuildSeekTable().
Skips ahead or rewinds to desiredFrame.
If discardFrames is true and cached frames are released and playback continues at the desiredFrame, if it is not any interviening frames between the last frame already in the buffer and the desiredFrame are released, but none of the frames decoded at the time this is called are released.
Reimplemented in AvFormatDecoder.
Definition at line 710 of file decoderbase.cpp.
Referenced by MythPlayer::DecoderLoop(), AvFormatDecoder::DoFastForward(), and MythPlayer::DoFFRewSkip().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 160 of file decoderbase.h.
Referenced by MythCommFlagPlayer::RebuildSeekTable().
|
static |
Definition at line 1363 of file decoderbase.cpp.
Referenced by DeleteMap::TranslatePositionAbsToRel(), and TranslatePositionFrameToMs().
|
static |
Definition at line 1412 of file decoderbase.cpp.
Referenced by TranslatePositionMsToFrame(), and DeleteMap::TranslatePositionRelToAbs().
|
static |
Definition at line 1260 of file decoderbase.cpp.
Referenced by TranslatePositionAbsToRel(), TranslatePositionMsToFrame(), and TranslatePositionRelToAbs().
std::chrono::milliseconds DecoderBase::TranslatePositionFrameToMs | ( | long long | position, |
float | fallback_framerate, | ||
const frm_dir_map_t & | cutlist | ||
) |
Definition at line 1311 of file decoderbase.cpp.
Referenced by DeleteMap::TranslatePositionFrameToMs().
uint64_t DecoderBase::TranslatePositionMsToFrame | ( | std::chrono::milliseconds | dur_ms, |
float | fallback_framerate, | ||
const frm_dir_map_t & | cutlist | ||
) |
Definition at line 1339 of file decoderbase.cpp.
Referenced by DeleteMap::TranslatePositionMsToFrame().
|
inline |
Definition at line 182 of file decoderbase.h.
Referenced by Transcode::TranscodeFile().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 184 of file decoderbase.h.
|
pure virtual |
Implemented in AvFormatDecoder, and DummyDecoder.
Referenced by MythTranscodePlayer::TranscodeGetNextFrame().
|
pure virtual |
Implemented in DummyDecoder.
Referenced by MythTranscodePlayer::WriteStoredData().
|
inlinevirtual |
Definition at line 190 of file decoderbase.h.
Referenced by MythTranscodePlayer::TranscodeGetNextFrame().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 191 of file decoderbase.h.
Referenced by MythTranscodePlayer::InitForTranscode().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 192 of file decoderbase.h.
Referenced by MythPlayer::GetRawAudioState().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 193 of file decoderbase.h.
Referenced by MythTranscodePlayer::InitForTranscode().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 194 of file decoderbase.h.
Referenced by MythTranscodePlayer::WriteStoredData().
|
pure virtual |
Implemented in DummyDecoder, and AvFormatDecoder.
Referenced by MythTranscodePlayer::UpdateStoredFrameNum().
|
inlinevirtual |
Definition at line 198 of file decoderbase.h.
Referenced by MythPlayer::IsReallyNearEnd(), MythPlayerUI::JumpToStream(), MythCCExtractorPlayer::OnGotNewFrame(), and MythPlayerCaptionsUI::SafeFPS().
|
inline |
Returns the estimated bitrate if the video were played at normal speed.
Definition at line 200 of file decoderbase.h.
Referenced by MythPlayerUI::JumpToProgram(), MythPlayerUI::JumpToStream(), and MythPlayerUI::SwitchToProgram().
|
virtual |
Reimplemented in AvFormatDecoder, MythDVDDecoder, and MythBDDecoder.
Definition at line 876 of file decoderbase.cpp.
Referenced by MythDVDPlayer::ChangeSpeed(), MythDVDPlayer::DoFFRewSkip(), MythDVDPlayer::DoJumpChapter(), MythDVDPlayer::FastForward(), MythDVDPlayer::JumpToFrame(), MythPlayer::Pause(), MythDVDPlayer::Rewind(), AvFormatDecoder::UpdateFramesPlayed(), and MythPlayerUI::VideoLoop().
|
inline |
Definition at line 203 of file decoderbase.h.
Referenced by MythPlayer::DoFFRewSkip(), MythCCExtractorPlayer::OnGotNewFrame(), MythCommFlagPlayer::RebuildSeekTable(), and ImportRecorder::UpdateRecSize().
|
inline |
Definition at line 204 of file decoderbase.h.
Referenced by MythPlayer::DoFFRewSkip().
|
inline |
Definition at line 205 of file decoderbase.h.
|
pure virtual |
Implemented in AvFormatDecoder, and DummyDecoder.
Referenced by MythPlayerUI::GetPlaybackData(), MythPlayerVideoUI::InitVideo(), and VideoPerformanceTest::Test().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 208 of file decoderbase.h.
Referenced by MythPlayerUI::GetCodecDescription().
|
pure virtual |
Implemented in AvFormatDecoder, and DummyDecoder.
Referenced by MythPlayer::GetEncodingType(), MythPlayerVideoUI::InitVideo(), MythPlayer::InitVideo(), MythPlayer::ReinitVideo(), MythCodecContext::RetrieveHWFrame(), and MythPlayer::SetVideoParams().
|
virtual |
Definition at line 647 of file decoderbase.cpp.
Referenced by FileChanged(), Reset(), MythBDDecoder::StreamChangeCheck(), and MythDVDDecoder::StreamChangeCheck().
|
virtual |
Updates the position map used for skipping frames.
There are different sources for position maps, depending on where we are getting the stream from.
positionmap sources: live tv:
watching recording:
watching prerecorded:
Reimplemented in DummyDecoder.
Definition at line 322 of file decoderbase.cpp.
Referenced by ConditionallyUpdatePosMap(), MythPlayer::DecoderLoop(), DoFastForward(), MythPlayer::FastForward(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::OpenFile(), MythBDDecoder::Reset(), MythDVDDecoder::Reset(), SetWatchingRecording(), MythBDDecoder::StreamChangeCheck(), MythDVDDecoder::StreamChangeCheck(), and TranslatePositionFrameToMs().
|
virtual |
Definition at line 95 of file decoderbase.cpp.
Referenced by SyncPositionMap().
|
virtual |
Queries encoder for position map data that has not been committed to the DB yet.
PosMapFromDb(void) must be called first in order to set positionMapType and keyframedist correctly.
Definition at line 223 of file decoderbase.cpp.
Referenced by SyncPositionMap().
|
virtual |
Definition at line 420 of file decoderbase.cpp.
Referenced by DoFastForwardSeek(), and DoRewindSeek().
uint64_t DecoderBase::SavePositionMapDelta | ( | long long | first_frame, |
long long | last_frame | ||
) |
Definition at line 500 of file decoderbase.cpp.
Referenced by MythRebuildSaver::run().
|
virtual |
Reimplemented in AvFormatDecoder.
Definition at line 75 of file decoderbase.cpp.
Referenced by DoFastForward(), MythDVDPlayer::DoJumpChapter(), DoRewind(), Reset(), and AvFormatDecoder::SeekReset().
|
inline |
Definition at line 223 of file decoderbase.h.
Referenced by MythPlayer::OpenFile(), and MythTranscodePlayer::SetTranscoding().
|
inline |
Definition at line 225 of file decoderbase.h.
Referenced by MythPlayer::OpenFile(), and MythPlayer::ResetPlaying().
|
inline |
Definition at line 227 of file decoderbase.h.
Referenced by MythCommFlagPlayer::RebuildSeekTable().
void DecoderBase::SetWaitForChange | ( | void | ) |
Definition at line 899 of file decoderbase.cpp.
Referenced by MythPlayerUI::SwitchToProgram().
bool DecoderBase::GetWaitForChange | ( | void | ) | const |
Definition at line 904 of file decoderbase.cpp.
Referenced by MythPlayerUI::EventLoop().
void DecoderBase::SetReadAdjust | ( | long long | adjust | ) |
Definition at line 894 of file decoderbase.cpp.
Referenced by MythPlayerUI::SwitchToProgram().
void DecoderBase::SetDecodeAllSubtitles | ( | bool | DecodeAll | ) |
Definition at line 915 of file decoderbase.cpp.
Referenced by MythCCExtractorPlayer::run().
|
virtual |
Definition at line 922 of file decoderbase.cpp.
Referenced by MythPlayerCaptionsUI::GetTracks().
Definition at line 909 of file decoderbase.cpp.
Referenced by MythPlayerCaptionsUI::ChangeCaptionTrack(), MythDVDPlayer::EnableCaptions(), MythPlayerCaptionsUI::GetTrackCount(), MythPlayerCaptionsUI::HasCaptionTrack(), AvFormatDecoder::HasVideo(), SubtitleScreen::LoadAssFonts(), and MythPlayerUI::VideoStart().
Definition at line 931 of file decoderbase.cpp.
Referenced by MythPlayerCaptionsUI::EnableCaptions().
Reimplemented in AvFormatDecoder.
Definition at line 939 of file decoderbase.cpp.
Referenced by MythPlayerCaptionsUI::ChangeTrack(), MythPlayerCaptionsUI::DisableCaptions(), MythPlayerCaptionsUI::EnableCaptions(), AvFormatDecoder::GetTrackDesc(), GetTracks(), and MythPlayerCaptionsUI::SetTrack().
|
virtual |
Reimplemented in AvFormatDecoder.
Definition at line 963 of file decoderbase.cpp.
Referenced by ChangeTrack(), MythPlayerCaptionsUI::SetTrack(), and AvFormatDecoder::SetTrack().
int DecoderBase::GetTrack | ( | uint | Type | ) |
Definition at line 957 of file decoderbase.cpp.
Referenced by SubtitleScreen::DisplayAVSubtitles(), and MythPlayerCaptionsUI::GetTrack().
StreamInfo DecoderBase::GetTrackInfo | ( | uint | Type, |
uint | TrackNo | ||
) |
Definition at line 983 of file decoderbase.cpp.
Referenced by MythDVDPlayer::EnableCaptions(), MythPlayerCaptionsUI::SetTrack(), MythDVDPlayer::SetTrack(), and MythPlayerUI::VideoStart().
int DecoderBase::ChangeTrack | ( | uint | Type, |
int | Dir | ||
) |
Definition at line 994 of file decoderbase.cpp.
Referenced by MythPlayerCaptionsUI::ChangeTrack().
|
virtual |
Definition at line 1021 of file decoderbase.cpp.
Referenced by CC708Reader::DefineWindow().
int DecoderBase::NextTrack | ( | uint | Type | ) |
Definition at line 1010 of file decoderbase.cpp.
Referenced by MythPlayerCaptionsUI::ChangeCaptionTrack().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 247 of file decoderbase.h.
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 249 of file decoderbase.h.
Referenced by MythPlayer::GetXDS().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 250 of file decoderbase.h.
Referenced by SubtitleScreen::InitialiseAssTrack().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 251 of file decoderbase.h.
Referenced by SubtitleScreen::LoadAssFonts().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 255 of file decoderbase.h.
Referenced by MythPlayerCaptionsUI::SetAudioByComponentTag().
|
inlinevirtual |
Reimplemented in AvFormatDecoder.
Definition at line 256 of file decoderbase.h.
Referenced by MythPlayerCaptionsUI::SetVideoByComponentTag().
void DecoderBase::SaveTotalDuration | ( | void | ) |
Definition at line 1241 of file decoderbase.cpp.
Referenced by MythPlayer::SaveTotalDuration().
|
inline |
Definition at line 259 of file decoderbase.h.
Referenced by MythPlayer::ResetTotalDuration().
void DecoderBase::SaveTotalFrames | ( | void | ) |
Definition at line 1249 of file decoderbase.cpp.
Referenced by MythPlayer::SaveTotalFrames().
|
inline |
Definition at line 261 of file decoderbase.h.
Referenced by MythCommFlagPlayer::RebuildSeekTable().
|
inline |
Definition at line 262 of file decoderbase.h.
Referenced by MythPlayerUI::DisplayNormalFrame(), MythPlayer::SetFrameInterval(), and MythPlayer::UpdateFFRewSkip().
|
inline |
Definition at line 263 of file decoderbase.h.
Referenced by MythDVDPlayer::AutoDeint().
|
static |
Find a suitable frame format that is mutually acceptable to the decoder and render device.
Definition at line 1448 of file decoderbase.cpp.
Referenced by MythCodecContext::RetrieveHWFrame().
|
protectedvirtual |
Select best track.
In case there's only one track available, always choose it.
If there is a user selected track we try to find it.
If we can't find the user selected track we try to picked according to the ISO639Language[0..] settings.
In case there are no ISOLanguage[0..] settings, or no preferred language is found, the first found track stream is chosen
Reimplemented in AvFormatDecoder.
Definition at line 1054 of file decoderbase.cpp.
Referenced by AvFormatDecoder::AutoSelectTrack(), and AutoSelectTracks().
|
protected |
Definition at line 1145 of file decoderbase.cpp.
Referenced by AvFormatDecoder::GetFrame(), and AvFormatDecoder::OpenFile().
|
protected |
Definition at line 1151 of file decoderbase.cpp.
Referenced by DecoderBase(), and AvFormatDecoder::ScanStreams().
|
protected |
Definition at line 881 of file decoderbase.cpp.
Referenced by AvFormatDecoder::GetFrame().
|
protectedvirtual |
Reimplemented in AvFormatDecoder, MythDVDDecoder, and MythBDDecoder.
Definition at line 589 of file decoderbase.cpp.
Referenced by DoRewind(), and AvFormatDecoder::DoRewindSeek().
|
protectedvirtual |
Seeks to the keyframe just before the desiredFrame if exact seeks is enabled, or the frame just after it if exact seeks is not enabled.
The seek is not made if framesPlayed is greater than the keyframe this would jump too. This means that frame-by-frame seeking after a keyframe must be done elsewhere.
If the seek is made the needflush parameter is set.
desiredFrame | frame we are attempting to seek to. |
needflush | set to true if a seek is made. |
Reimplemented in AvFormatDecoder, MythDVDDecoder, and MythBDDecoder.
Definition at line 830 of file decoderbase.cpp.
Referenced by DoFastForward(), and AvFormatDecoder::DoFastForwardSeek().
|
protected |
Definition at line 667 of file decoderbase.cpp.
Referenced by DoFastForward(), and DoRewindSeek().
|
protected |
Definition at line 656 of file decoderbase.cpp.
Referenced by ConditionallyUpdatePosMap(), and DoFastForward().
|
protected |
Definition at line 294 of file decoderbase.cpp.
Referenced by DoRewindSeek(), HasPositionMap(), and SyncPositionMap().
|
protected |
Definition at line 582 of file decoderbase.cpp.
Referenced by DoFastForwardSeek(), DoRewindSeek(), FindPosition(), and GetLastFrameInPosMap().
|
protected |
Definition at line 286 of file decoderbase.h.
Referenced by AutoSelectTrack(), AvFormatDecoder::AvFormatDecoder(), MythBDDecoder::BDFindPosition(), AvFormatDecoder::DoFastForward(), DoFastForward(), DoRewind(), MythDVDDecoder::DVDFindPosition(), FileChanged(), AvFormatDecoder::GenerateDummyVideoFrames(), AvFormatDecoder::GetFrame(), GetPlayer(), AvFormatDecoder::H264PreProcessPkt(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::InitVideoCodec(), InsertTrack(), AvFormatDecoder::MpegPreProcessPkt(), AvFormatDecoder::OpenFile(), PosMapFromEnc(), MythDVDDecoder::PostProcessTracks(), AvFormatDecoder::ProcessDSMCCPacket(), AvFormatDecoder::ProcessRawTextPacket(), AvFormatDecoder::ProcessSubtitlePacket(), AvFormatDecoder::ProcessVideoFrame(), AvFormatDecoder::ProcessVideoPacket(), MythDVDDecoder::ReadPacket(), AvFormatDecoder::ScanDSMCCStreams(), AvFormatDecoder::ScanStreams(), AvFormatDecoder::SeekReset(), MythBDDecoder::StreamChangeCheck(), MythDVDDecoder::StreamChangeCheck(), SyncPositionMap(), MythBDDecoder::UpdateFramesPlayed(), MythDVDDecoder::UpdateFramesPlayed(), and UpdateFramesPlayed().
|
protected |
Definition at line 287 of file decoderbase.h.
Referenced by AvFormatDecoder::OpenFile(), PosMapFromDb(), SavePositionMapDelta(), SaveTotalDuration(), SaveTotalFrames(), SetProgramInfo(), and ~DecoderBase().
|
protected |
Definition at line 288 of file decoderbase.h.
Referenced by AvFormatDecoder::AutoSelectAudioTrack(), AvFormatDecoder::DecoderWillDownmix(), AvFormatDecoder::DoPassThrough(), AvFormatDecoder::GetFrame(), AvFormatDecoder::ProcessAudioPacket(), MythDVDDecoder::ReadPacket(), AvFormatDecoder::RemoveAudioStreams(), AvFormatDecoder::ScanStreams(), and AvFormatDecoder::SetupAudioStream().
|
protected |
Definition at line 289 of file decoderbase.h.
Referenced by AvFormatDecoder::AutoSelectTrack(), MythBDDecoder::BDFindPosition(), MythDVDDecoder::CheckContext(), DoFastForward(), MythBDDecoder::DoFastForwardSeek(), MythDVDDecoder::DoFastForwardSeek(), DoFastForwardSeek(), DoRewind(), MythBDDecoder::DoRewindSeek(), MythDVDDecoder::DoRewindSeek(), DoRewindSeek(), MythDVDDecoder::DVDFindPosition(), MythBDDecoder::GetAudioLanguage(), MythDVDDecoder::GetAudioLanguage(), MythDVDDecoder::GetAudioTrackType(), AvFormatDecoder::GetFrame(), GetKey(), MythBDDecoder::GetSubtitleLanguage(), AvFormatDecoder::GetTrackDesc(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::InitByteContext(), AvFormatDecoder::InitVideoCodec(), MythBDDecoder::IsValidStream(), AvFormatDecoder::MpegPreProcessPkt(), AvFormatDecoder::OpenFile(), PosMapFromDb(), PosMapFromEnc(), MythDVDDecoder::PostProcessTracks(), AvFormatDecoder::ProcessAudioPacket(), MythDVDDecoder::ProcessDataPacket(), AvFormatDecoder::ProcessSubtitlePacket(), AvFormatDecoder::ProcessVideoFrame(), MythDVDDecoder::ProcessVideoPacket(), AvFormatDecoder::ProcessVideoPacket(), MythBDDecoder::ReadPacket(), MythDVDDecoder::ReadPacket(), AvFormatDecoder::ScanStreams(), AvFormatDecoder::SeekReset(), MythBDDecoder::StreamChangeCheck(), MythDVDDecoder::StreamChangeCheck(), SyncPositionMap(), MythBDDecoder::UpdateFramesPlayed(), and MythDVDDecoder::UpdateFramesPlayed().
|
protected |
Definition at line 291 of file decoderbase.h.
Referenced by MythBDDecoder::BDFindPosition(), AvFormatDecoder::DoFastForward(), MythDVDDecoder::DVDFindPosition(), AvFormatDecoder::GetChapter(), AvFormatDecoder::GetCurrentChapter(), GetFPS(), AvFormatDecoder::GetVideoFrameRate(), AvFormatDecoder::H264PreProcessPkt(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::InitVideoCodec(), AvFormatDecoder::MpegPreProcessPkt(), AvFormatDecoder::OpenFile(), PosMapFromDb(), AvFormatDecoder::ProcessAudioPacket(), AvFormatDecoder::ProcessVideoFrame(), AvFormatDecoder::ScanStreams(), SyncPositionMap(), MythBDDecoder::UpdateFramesPlayed(), and MythDVDDecoder::UpdateFramesPlayed().
|
protected |
Definition at line 292 of file decoderbase.h.
Referenced by GetfpsMultiplier(), AvFormatDecoder::GetVideoFrameRate(), and AvFormatDecoder::ProcessVideoFrame().
|
protected |
Definition at line 293 of file decoderbase.h.
Referenced by AvFormatDecoder::DoFastForward(), DoFastForwardSeek(), DoRewind(), AvFormatDecoder::ProcessVideoFrame(), and Reset().
|
protected |
Definition at line 294 of file decoderbase.h.
Referenced by GetRawBitrate(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::OpenFile(), and AvFormatDecoder::ScanStreams().
|
protected |
Definition at line 295 of file decoderbase.h.
Referenced by AvFormatDecoder::H264PreProcessPkt(), AvFormatDecoder::InitVideoCodec(), and AvFormatDecoder::MpegPreProcessPkt().
|
protected |
Definition at line 296 of file decoderbase.h.
Referenced by AvFormatDecoder::H264PreProcessPkt(), AvFormatDecoder::InitVideoCodec(), and AvFormatDecoder::MpegPreProcessPkt().
|
protected |
Definition at line 297 of file decoderbase.h.
Referenced by GetVideoAspect(), AvFormatDecoder::H264PreProcessPkt(), AvFormatDecoder::InitVideoCodec(), AvFormatDecoder::MpegPreProcessPkt(), and AvFormatDecoder::ProcessVideoFrame().
|
protected |
Definition at line 299 of file decoderbase.h.
Referenced by MythBDDecoder::BDFindPosition(), AvFormatDecoder::DoFastForward(), DoFastForward(), MythBDDecoder::DoFastForwardSeek(), MythDVDDecoder::DoFastForwardSeek(), DoFastForwardSeek(), DoRewind(), MythBDDecoder::DoRewindSeek(), MythDVDDecoder::DoRewindSeek(), DoRewindSeek(), MythDVDDecoder::DVDFindPosition(), FileChanged(), AvFormatDecoder::GenerateDummyVideoFrames(), GetChapter(), AvFormatDecoder::GetFrame(), GetFramesPlayed(), AvFormatDecoder::ProcessVideoFrame(), Reset(), SetFramesPlayed(), MythBDDecoder::UpdateFramesPlayed(), MythDVDDecoder::UpdateFramesPlayed(), and UpdateFramesPlayed().
|
protected |
Definition at line 300 of file decoderbase.h.
Referenced by AvFormatDecoder::DoFastForward(), MythBDDecoder::DoFastForwardSeek(), MythDVDDecoder::DoFastForwardSeek(), DoFastForwardSeek(), DoRewind(), MythBDDecoder::DoRewindSeek(), MythDVDDecoder::DoRewindSeek(), FileChanged(), GetFramesRead(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::PreProcessVideoPacket(), Reset(), SaveTotalFrames(), MythBDDecoder::UpdateFramesPlayed(), and MythDVDDecoder::UpdateFramesPlayed().
|
protected |
Definition at line 301 of file decoderbase.h.
Referenced by MythBDDecoder::DoFastForwardSeek(), MythDVDDecoder::DoFastForwardSeek(), MythBDDecoder::DoRewindSeek(), MythDVDDecoder::DoRewindSeek(), AvFormatDecoder::GenerateDummyVideoFrames(), AvFormatDecoder::ProcessVideoFrame(), Reset(), and SeekReset().
|
protected |
Definition at line 302 of file decoderbase.h.
Referenced by FileChanged(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::PreProcessVideoPacket(), Reset(), ResetTotalDuration(), and SaveTotalDuration().
|
protected |
Definition at line 303 of file decoderbase.h.
Referenced by FindPosition(), GetKey(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::InitVideoCodec(), AvFormatDecoder::OpenFile(), PosMapFromDb(), PosMapFromEnc(), and SyncPositionMap().
|
protected |
Definition at line 304 of file decoderbase.h.
Referenced by AvFormatDecoder::DoFastForward(), DoFastForward(), MythBDDecoder::DoFastForwardSeek(), MythDVDDecoder::DoFastForwardSeek(), DoFastForwardSeek(), DoRewind(), MythBDDecoder::DoRewindSeek(), MythDVDDecoder::DoRewindSeek(), DoRewindSeek(), and AvFormatDecoder::HandleGopStart().
|
protected |
Definition at line 305 of file decoderbase.h.
Referenced by FindPosition(), GetKey(), PosMapFromDb(), and PosMapFromEnc().
|
protected |
Definition at line 306 of file decoderbase.h.
Definition at line 307 of file decoderbase.h.
Referenced by AvFormatDecoder::H264PreProcessPkt(), and AvFormatDecoder::ProcessVideoFrame().
|
protected |
Definition at line 309 of file decoderbase.h.
Referenced by DoFastForward(), GetEof(), AvFormatDecoder::SeekReset(), SetEof(), and SetEofState().
Definition at line 314 of file decoderbase.h.
Referenced by AvFormatDecoder::HandleGopStart(), AvFormatDecoder::PreProcessVideoPacket(), and TrackTotalDuration().
Definition at line 316 of file decoderbase.h.
Referenced by DoFastForward(), and AvFormatDecoder::PreProcessVideoPacket().
Definition at line 317 of file decoderbase.h.
Referenced by DoFastForward(), and SetTranscoding().
Definition at line 319 of file decoderbase.h.
Referenced by AvFormatDecoder::HandleGopStart(), and AvFormatDecoder::OpenFile().
Definition at line 320 of file decoderbase.h.
Referenced by AvFormatDecoder::DoFastForward(), AvFormatDecoder::DoRewind(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::OpenFile(), AvFormatDecoder::SeekReset(), and SyncPositionMap().
Definition at line 321 of file decoderbase.h.
Referenced by ResetPosMap(), SetWatchingRecording(), and SyncPositionMap().
|
protected |
Definition at line 322 of file decoderbase.h.
Referenced by AvFormatDecoder::OpenFile(), PosMapFromDb(), and SavePositionMapDelta().
|
mutableprotected |
Definition at line 327 of file decoderbase.h.
Referenced by DoFastForward(), DoFastForwardSeek(), DoRewindSeek(), FindPosition(), GetLastFrameInPosMap(), GetPositionMapSize(), AvFormatDecoder::HandleGopStart(), PosMapFromDb(), PosMapFromEnc(), ResetPosMap(), SavePositionMapDelta(), SyncPositionMap(), TranslatePositionFrameToMs(), and TranslatePositionMsToFrame().
|
protected |
Definition at line 329 of file decoderbase.h.
Referenced by DoFastForward(), DoFastForwardSeek(), DoRewindSeek(), FindPosition(), GetLastFrameInPosMap(), GetPositionMapSize(), AvFormatDecoder::HandleGopStart(), PosMapFromDb(), PosMapFromEnc(), ResetPosMap(), SavePositionMapDelta(), and SyncPositionMap().
|
protected |
Definition at line 330 of file decoderbase.h.
Referenced by AvFormatDecoder::HandleGopStart(), PosMapFromDb(), PosMapFromEnc(), ResetPosMap(), SavePositionMapDelta(), TranslatePositionFrameToMs(), and TranslatePositionMsToFrame().
|
protected |
Definition at line 331 of file decoderbase.h.
Referenced by AvFormatDecoder::HandleGopStart(), PosMapFromDb(), PosMapFromEnc(), ResetPosMap(), and TranslatePositionMsToFrame().
|
mutableprotected |
Definition at line 332 of file decoderbase.h.
Referenced by SyncPositionMap(), and TranslatePositionFrameToMs().
|
protected |
Definition at line 334 of file decoderbase.h.
Referenced by DoFastForward(), DoFastForwardSeek(), DoRewind(), DoRewindSeek(), GetSeekSnap(), and SetSeekSnap().
Definition at line 335 of file decoderbase.h.
Referenced by AvFormatDecoder::OpenFile(), Reset(), and SyncPositionMap().
Definition at line 336 of file decoderbase.h.
Referenced by AvFormatDecoder::DoFastForward(), AvFormatDecoder::DoRewind(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::OpenFile(), AvFormatDecoder::SeekReset(), AvFormatDecoder::SetEof(), SetLiveTVMode(), and SyncPositionMap().
Definition at line 337 of file decoderbase.h.
Referenced by AvFormatDecoder::HandleGopStart(), AvFormatDecoder::OpenFile(), SetWatchingRecording(), and SyncPositionMap().
Definition at line 339 of file decoderbase.h.
Referenced by DoFastForwardSeek(), DoRewindSeek(), and GetKey().
Definition at line 341 of file decoderbase.h.
Referenced by AvFormatDecoder::DoFastForward(), DoFastForward(), GetRawAudioState(), and SetRawAudioState().
Definition at line 342 of file decoderbase.h.
Referenced by GetRawVideoState(), and SetRawVideoState().
Definition at line 344 of file decoderbase.h.
Referenced by IsErrored().
Definition at line 346 of file decoderbase.h.
Referenced by FileChanged(), AvFormatDecoder::GetFrame(), GetWaitForChange(), Reset(), and SetWaitForChange().
Definition at line 347 of file decoderbase.h.
Referenced by FileChanged(), and AvFormatDecoder::PreProcessVideoPacket().
|
protected |
Definition at line 348 of file decoderbase.h.
Referenced by AvFormatDecoder::GetFrame(), SeekReset(), and SetReadAdjust().
|
protected |
Definition at line 349 of file decoderbase.h.
Referenced by AvFormatDecoder::InitVideoCodec(), and AvFormatDecoder::ProcessVideoFrame().
|
protected |
Definition at line 350 of file decoderbase.h.
Referenced by AvFormatDecoder::InitVideoCodec(), and AvFormatDecoder::ProcessVideoFrame().
|
protected |
Definition at line 356 of file decoderbase.h.
Referenced by AvFormatDecoder::AutoSelectAudioTrack(), AutoSelectTrack(), ChangeTrack(), AvFormatDecoder::ForceSetupAudioStream(), AvFormatDecoder::GetAttachmentData(), AvFormatDecoder::GetCaptionLanguage(), AvFormatDecoder::GetSubHeader(), AvFormatDecoder::GetTeletextLanguage(), GetTrack(), GetTrackCount(), AvFormatDecoder::GetTrackDesc(), GetTrackDesc(), GetTrackInfo(), GetTrackLanguageIndex(), GetTracks(), InsertTrack(), NextTrack(), MythDVDDecoder::PostProcessTracks(), AvFormatDecoder::ProcessAudioPacket(), AvFormatDecoder::ProcessSubtitlePacket(), AvFormatDecoder::ProcessVBIDataPacket(), ResetTracks(), AvFormatDecoder::ScanATSCCaptionStreams(), AvFormatDecoder::ScanRawTextCaptions(), AvFormatDecoder::ScanStreams(), AvFormatDecoder::ScanTeletextCaptions(), AvFormatDecoder::SetAudioByComponentTag(), SetDecodeAllSubtitles(), AvFormatDecoder::SetTrack(), SetTrack(), AvFormatDecoder::SetupAudioStreamSubIndexes(), AvFormatDecoder::SetVideoByComponentTag(), MythBDDecoder::StreamChangeCheck(), MythDVDDecoder::StreamChangeCheck(), AvFormatDecoder::UpdateATSCCaptionTracks(), and AvFormatDecoder::UpdateCaptionTracksFromStreams().
Definition at line 358 of file decoderbase.h.
Referenced by AvFormatDecoder::ProcessRawTextPacket(), AvFormatDecoder::ProcessSubtitlePacket(), and SetDecodeAllSubtitles().
|
protected |
Definition at line 359 of file decoderbase.h.
Referenced by AvFormatDecoder::AutoSelectAudioTrack(), AutoSelectTrack(), ChangeTrack(), AvFormatDecoder::GetFrame(), GetTrack(), NextTrack(), AvFormatDecoder::ProcessAudioPacket(), ResetTracks(), SetTrack(), and AvFormatDecoder::SetupAudioStream().
|
protected |
Definition at line 360 of file decoderbase.h.
Referenced by AvFormatDecoder::AutoSelectAudioTrack(), AutoSelectTrack(), ChangeTrack(), DecoderBase(), AvFormatDecoder::GetAttachmentData(), AvFormatDecoder::GetSubHeader(), AvFormatDecoder::GetTeletextLanguage(), GetTrackCount(), AvFormatDecoder::GetTrackDesc(), GetTrackDesc(), GetTrackInfo(), GetTrackLanguageIndex(), GetTracks(), InsertTrack(), NextTrack(), MythDVDDecoder::PostProcessTracks(), AvFormatDecoder::ProcessVBIDataPacket(), AvFormatDecoder::ScanRawTextCaptions(), AvFormatDecoder::ScanStreams(), AvFormatDecoder::ScanTeletextCaptions(), AvFormatDecoder::SetAudioByComponentTag(), SetTrack(), AvFormatDecoder::SetupAudioStream(), AvFormatDecoder::SetupAudioStreamSubIndexes(), and AvFormatDecoder::UpdateATSCCaptionTracks().
|
protected |
Definition at line 361 of file decoderbase.h.
Referenced by AvFormatDecoder::AutoSelectAudioTrack(), AutoSelectTrack(), and SetTrack().
|
protected |
Definition at line 362 of file decoderbase.h.
Referenced by AvFormatDecoder::AutoSelectAudioTrack(), AutoSelectTrack(), AvFormatDecoder::GetFrame(), AvFormatDecoder::GetRawEncodingType(), AvFormatDecoder::HasVideo(), AvFormatDecoder::ProcessAudioPacket(), AvFormatDecoder::ProcessRawTextPacket(), AvFormatDecoder::ProcessSubtitlePacket(), AvFormatDecoder::ScanStreams(), AvFormatDecoder::SetDisablePassThrough(), SetTrack(), AvFormatDecoder::SetupAudioStream(), AvFormatDecoder::SetVideoByComponentTag(), MythDVDDecoder::StreamChangeCheck(), and AvFormatDecoder::UpdateCaptionTracksFromStreams().
|
protected |
language preferences for auto-selection of streams
Definition at line 365 of file decoderbase.h.
Referenced by AvFormatDecoder::AutoSelectAudioTrack(), and AutoSelectTrack().
|
protected |
Definition at line 366 of file decoderbase.h.
Referenced by AvFormatDecoder::AvFormatDecoder(), GetMythCodecContext(), AvFormatDecoder::H264PreProcessPkt(), AvFormatDecoder::InitVideoCodec(), AvFormatDecoder::MpegPreProcessPkt(), AvFormatDecoder::ProcessVideoFrame(), AvFormatDecoder::ProcessVideoPacket(), AvFormatDecoder::ScanStreams(), AvFormatDecoder::SeekReset(), and AvFormatDecoder::~AvFormatDecoder().
|
protected |
Definition at line 367 of file decoderbase.h.
Referenced by AvFormatDecoder::InitVideoCodec(), and AvFormatDecoder::ScanStreams().
|
protected |
Definition at line 368 of file decoderbase.h.
Referenced by SetRenderFormats().