Go to the documentation of this file.
4 #define LOC QString("TranscodePlayer: ")
19 LOG(VB_GENERAL, LOG_WARNING,
LOC +
"No decoder yet - cannot set transcoding");
30 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Unable to initialize video for transcode.");
58 if ((lastDecodedFrameNumber == 0) && HonorCutList)
84 LOG(VB_GENERAL, LOG_INFO,
LOC + QString(
"Fast-Forwarding from %1 to %2")
85 .arg(lastDecodedFrameNumber).arg(jumpto));
QRecursiveMutex m_decoderChangeLock
void UnlockPlayingInfo(const char *file, int line) const
void SetEof(EofState eof)
MythDecoderThread * m_decoderThread
void TrackerReset(uint64_t frame)
Resets the internal state tracker.
MythTranscodePlayer(PlayerContext *Context, PlayerFlags Flags=kNoFlags)
bool TranscodeGetNextFrame(int &DidFF, bool &KeyFrame, bool HonorCutList)
void SetMap(const frm_dir_map_t &map)
Use the given map.
QMap< uint64_t, MarkTypes > frm_dir_map_t
Frame # -> Mark map.
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
void UpdateInUseMark(bool force=false)
EofState GetEof(void) const
bool TrackerWantsToJump(uint64_t frame, uint64_t &to) const
Returns true if the given frame has passed the last cut point start and provides the frame number of ...
void InitForTranscode(bool CopyAudio, bool CopyVideo)
ProgramInfo * m_playingInfo
Currently playing info.
void LockPlayingInfo(const char *file, int line) const
MythVideoOutput * m_videoOutput
virtual bool IsLastFrameKey(void) const =0
virtual bool InitVideo(void)
void ClearAfterSeek(bool clearvideobuffers=true)
This is to support seeking...
PlayerContext * m_playerCtx
virtual MythVideoFrame * GetLastDecodedFrame()
uint m_keyframeDist
Video (input) Number of frames between key frames (often inaccurate)
void SetSeekSnap(uint64_t snap)
void SetTranscoding(bool value)
void WaitForSeek(uint64_t frame, uint64_t seeksnap_wanted)
void SetPlaying(bool is_playing)
void SetTranscoding(bool Transcoding)
void SetCutList(const frm_dir_map_t &CutList)
bool DoGetFrame(DecodeType DecodeType)
Get one frame from the decoder.
virtual void DecoderStart(bool start_paused)