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 | |
int | BestTrack (uint Type, bool forcedPreferred, int preferredLanguage=0) |
Determine the best track according to weights. More... | |
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(), 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 1416 of file decoderbase.cpp.
Referenced by DeleteMap::TranslatePositionAbsToRel(), and TranslatePositionFrameToMs().
|
static |
Definition at line 1465 of file decoderbase.cpp.
Referenced by TranslatePositionMsToFrame(), and DeleteMap::TranslatePositionRelToAbs().
|
static |
Definition at line 1313 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 1364 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 1392 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(), and MythCodecContext::RetrieveHWFrame().
|
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 990 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 1001 of file decoderbase.cpp.
Referenced by MythPlayerCaptionsUI::ChangeTrack().
|
virtual |
Definition at line 1028 of file decoderbase.cpp.
Referenced by CC708Reader::DefineWindow().
int DecoderBase::NextTrack | ( | uint | Type | ) |
Definition at line 1017 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 1294 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 1302 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 1501 of file decoderbase.cpp.
Referenced by MythCodecContext::RetrieveHWFrame().
Determine the best track according to weights.
Select the best track. Primary attribute is to favor or disfavor a forced track. Secondary attribute is language preference, in order of most preferred to least preferred language. Third attribute is track order, preferring the earliesttrack.
Whether to favor or disfavor forced is controlled by the second parameter.
A preferredlanguage can be specified as third parameter, which will override the user's preferrence list.
This function must not be called without taking m_trackLock
Definition at line 1064 of file decoderbase.cpp.
Referenced by AutoSelectTrack(), and SetTrack().
|
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 1119 of file decoderbase.cpp.
Referenced by AvFormatDecoder::AutoSelectTrack(), and AutoSelectTracks().
|
protected |
Definition at line 1198 of file decoderbase.cpp.
Referenced by AvFormatDecoder::GetFrame(), and AvFormatDecoder::OpenFile().
|
protected |
Definition at line 1204 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 287 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 288 of file decoderbase.h.
Referenced by AvFormatDecoder::OpenFile(), PosMapFromDb(), SavePositionMapDelta(), SaveTotalDuration(), SaveTotalFrames(), SetProgramInfo(), and ~DecoderBase().
|
protected |
Definition at line 289 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 290 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 292 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 293 of file decoderbase.h.
Referenced by GetfpsMultiplier(), AvFormatDecoder::GetVideoFrameRate(), and AvFormatDecoder::ProcessVideoFrame().
|
protected |
Definition at line 294 of file decoderbase.h.
Referenced by AvFormatDecoder::DoFastForward(), DoFastForwardSeek(), DoRewind(), AvFormatDecoder::ProcessVideoFrame(), and Reset().
|
protected |
Definition at line 295 of file decoderbase.h.
Referenced by GetRawBitrate(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::OpenFile(), and AvFormatDecoder::ScanStreams().
|
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 AvFormatDecoder::H264PreProcessPkt(), AvFormatDecoder::InitVideoCodec(), and AvFormatDecoder::MpegPreProcessPkt().
|
protected |
Definition at line 298 of file decoderbase.h.
Referenced by GetVideoAspect(), AvFormatDecoder::H264PreProcessPkt(), AvFormatDecoder::InitVideoCodec(), AvFormatDecoder::MpegPreProcessPkt(), and AvFormatDecoder::ProcessVideoFrame().
|
protected |
Definition at line 300 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 301 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 302 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 303 of file decoderbase.h.
Referenced by FileChanged(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::PreProcessVideoPacket(), Reset(), ResetTotalDuration(), and SaveTotalDuration().
|
protected |
Definition at line 304 of file decoderbase.h.
Referenced by FindPosition(), GetKey(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::InitVideoCodec(), AvFormatDecoder::OpenFile(), PosMapFromDb(), PosMapFromEnc(), and SyncPositionMap().
|
protected |
Definition at line 305 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 306 of file decoderbase.h.
Referenced by FindPosition(), GetKey(), PosMapFromDb(), and PosMapFromEnc().
|
protected |
Definition at line 307 of file decoderbase.h.
Definition at line 308 of file decoderbase.h.
Referenced by AvFormatDecoder::H264PreProcessPkt(), and AvFormatDecoder::ProcessVideoFrame().
|
protected |
Definition at line 310 of file decoderbase.h.
Referenced by DoFastForward(), GetEof(), AvFormatDecoder::SeekReset(), SetEof(), and SetEofState().
Definition at line 315 of file decoderbase.h.
Referenced by AvFormatDecoder::HandleGopStart(), AvFormatDecoder::PreProcessVideoPacket(), and TrackTotalDuration().
Definition at line 317 of file decoderbase.h.
Referenced by DoFastForward(), and AvFormatDecoder::PreProcessVideoPacket().
Definition at line 318 of file decoderbase.h.
Referenced by DoFastForward(), and SetTranscoding().
Definition at line 320 of file decoderbase.h.
Referenced by AvFormatDecoder::HandleGopStart(), and AvFormatDecoder::OpenFile().
Definition at line 321 of file decoderbase.h.
Referenced by AvFormatDecoder::DoFastForward(), AvFormatDecoder::DoRewind(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::OpenFile(), AvFormatDecoder::SeekReset(), and SyncPositionMap().
Definition at line 322 of file decoderbase.h.
Referenced by ResetPosMap(), SetWatchingRecording(), and SyncPositionMap().
|
protected |
Definition at line 323 of file decoderbase.h.
Referenced by AvFormatDecoder::OpenFile(), PosMapFromDb(), and SavePositionMapDelta().
|
mutableprotected |
Definition at line 325 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 326 of file decoderbase.h.
Referenced by DoFastForward(), DoFastForwardSeek(), DoRewindSeek(), FindPosition(), GetLastFrameInPosMap(), GetPositionMapSize(), AvFormatDecoder::HandleGopStart(), PosMapFromDb(), PosMapFromEnc(), ResetPosMap(), SavePositionMapDelta(), and SyncPositionMap().
|
protected |
Definition at line 327 of file decoderbase.h.
Referenced by AvFormatDecoder::HandleGopStart(), PosMapFromDb(), PosMapFromEnc(), ResetPosMap(), SavePositionMapDelta(), TranslatePositionFrameToMs(), and TranslatePositionMsToFrame().
|
protected |
Definition at line 328 of file decoderbase.h.
Referenced by AvFormatDecoder::HandleGopStart(), PosMapFromDb(), PosMapFromEnc(), ResetPosMap(), and TranslatePositionMsToFrame().
|
mutableprotected |
Definition at line 329 of file decoderbase.h.
Referenced by SyncPositionMap(), and TranslatePositionFrameToMs().
|
protected |
Definition at line 331 of file decoderbase.h.
Referenced by DoFastForward(), DoFastForwardSeek(), DoRewind(), DoRewindSeek(), GetSeekSnap(), and SetSeekSnap().
Definition at line 332 of file decoderbase.h.
Referenced by AvFormatDecoder::OpenFile(), Reset(), and SyncPositionMap().
Definition at line 333 of file decoderbase.h.
Referenced by AvFormatDecoder::DoFastForward(), AvFormatDecoder::DoRewind(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::OpenFile(), AvFormatDecoder::SeekReset(), AvFormatDecoder::SetEof(), SetLiveTVMode(), and SyncPositionMap().
Definition at line 334 of file decoderbase.h.
Referenced by AvFormatDecoder::HandleGopStart(), AvFormatDecoder::OpenFile(), SetWatchingRecording(), and SyncPositionMap().
Definition at line 336 of file decoderbase.h.
Referenced by DoFastForwardSeek(), DoRewindSeek(), and GetKey().
Definition at line 338 of file decoderbase.h.
Referenced by AvFormatDecoder::DoFastForward(), DoFastForward(), GetRawAudioState(), and SetRawAudioState().
Definition at line 339 of file decoderbase.h.
Referenced by GetRawVideoState(), and SetRawVideoState().
Definition at line 341 of file decoderbase.h.
Referenced by IsErrored().
Definition at line 343 of file decoderbase.h.
Referenced by FileChanged(), AvFormatDecoder::GetFrame(), GetWaitForChange(), Reset(), and SetWaitForChange().
Definition at line 344 of file decoderbase.h.
Referenced by FileChanged(), and AvFormatDecoder::PreProcessVideoPacket().
|
protected |
Definition at line 345 of file decoderbase.h.
Referenced by AvFormatDecoder::GetFrame(), SeekReset(), and SetReadAdjust().
|
protected |
Definition at line 346 of file decoderbase.h.
Referenced by AvFormatDecoder::InitVideoCodec(), and AvFormatDecoder::ProcessVideoFrame().
|
protected |
Definition at line 347 of file decoderbase.h.
Referenced by AvFormatDecoder::InitVideoCodec(), and AvFormatDecoder::ProcessVideoFrame().
|
protected |
Definition at line 350 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 351 of file decoderbase.h.
Referenced by AvFormatDecoder::ProcessRawTextPacket(), AvFormatDecoder::ProcessSubtitlePacket(), and SetDecodeAllSubtitles().
|
protected |
Definition at line 352 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 353 of file decoderbase.h.
Referenced by AvFormatDecoder::AutoSelectAudioTrack(), AutoSelectTrack(), BestTrack(), 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 354 of file decoderbase.h.
Referenced by AvFormatDecoder::AutoSelectAudioTrack(), AutoSelectTrack(), and SetTrack().
|
protected |
Definition at line 355 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 |
Definition at line 356 of file decoderbase.h.
Referenced by AutoSelectTrack(), AvFormatDecoder::ProcessSubtitlePacket(), and SetTrack().
|
protected |
language preferences for auto-selection of streams
Definition at line 359 of file decoderbase.h.
Referenced by AvFormatDecoder::AutoSelectAudioTrack(), and BestTrack().
|
protected |
Definition at line 360 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 361 of file decoderbase.h.
Referenced by AvFormatDecoder::InitVideoCodec(), and AvFormatDecoder::ScanStreams().
|
protected |
Definition at line 362 of file decoderbase.h.
Referenced by SetRenderFormats().