Kodi Documentation  18.0
Kodi is an open source media player and entertainment hub.
CDVDDemuxFFmpeg Class Reference

#include <DVDDemuxFFmpeg.h>

Inheritance diagram for CDVDDemuxFFmpeg:
CDVDDemux

Public Member Functions

 CDVDDemuxFFmpeg ()
 
 ~CDVDDemuxFFmpeg () override
 
bool Open (std::shared_ptr< CDVDInputStream > pInput, bool streaminfo=true, bool fileinfo=false)
 
void Dispose ()
 
bool Reset () override
 
void Flush () override
 
void Abort () override
 
void SetSpeed (int iSpeed) override
 
std::string GetFileName () override
 
DemuxPacketRead () override
 
bool SeekTime (double time, bool backwards=false, double *startpts=NULL) override
 
bool SeekByte (int64_t pos)
 
int GetStreamLength () override
 
CDemuxStreamGetStream (int iStreamId) const override
 Finds stream based on unique id. More...
 
std::vector< CDemuxStream * > GetStreams () const override
 
int GetNrOfStreams () const override
 
int GetPrograms (std::vector< ProgramInfo > &programs) override
 
void SetProgram (int progId) override
 
bool SeekChapter (int chapter, double *startpts=NULL) override
 
int GetChapterCount () override
 
int GetChapter () override
 
void GetChapterName (std::string &strChapterName, int chapterIdx=-1) override
 
int64_t GetChapterPos (int chapterIdx=-1) override
 
std::string GetStreamCodecName (int iStreamId) override
 
bool Aborted ()
 
- Public Member Functions inherited from CDVDDemux
 CDVDDemux ()
 
virtual ~CDVDDemux ()=default
 
virtual CDemuxStreamGetStream (int64_t demuxerId, int iStreamId) const
 
int GetNrOfSubtitleStreams ()
 
virtual std::string GetStreamCodecName (int64_t demuxerId, int iStreamId)
 
virtual void EnableStream (int64_t demuxerId, int id, bool enable)
 
virtual void OpenStream (int64_t demuxerId, int id)
 
virtual void SetVideoResolution (int width, int height)
 
int64_t GetDemuxerId ()
 

Public Attributes

AVFormatContext * m_pFormatContext
 
std::shared_ptr< CDVDInputStreamm_pInput
 
AVPacket pkt
 
int result
 

Protected Member Functions

CDemuxStreamAddStream (int streamIdx)
 
void AddStream (int streamIdx, CDemuxStream *stream)
 Adds or updates a demux stream based in ffmpeg id. More...
 
void CreateStreams (unsigned int program=UINT_MAX)
 
void DisposeStreams ()
 
void ParsePacket (AVPacket *pkt)
 
bool IsVideoReady ()
 
void ResetVideoStreams ()
 
AVDictionary * GetFFMpegOptionsFromInput ()
 
double ConvertTimestamp (int64_t pts, int den, int num)
 
void UpdateCurrentPTS ()
 
bool IsProgramChange ()
 
unsigned int HLSSelectProgram ()
 
std::string GetStereoModeFromMetadata (AVDictionary *pMetadata)
 
std::string ConvertCodecToInternalStereoMode (const std::string &mode, const StereoModeConversionMap *conversionMap)
 
void GetL16Parameters (int &channels, int &samplerate)
 
double SelectAspect (AVStream *st, bool &forced)
 
- Protected Member Functions inherited from CDVDDemux
virtual void EnableStream (int id, bool enable)
 
virtual void OpenStream (int id)
 
int GetNrOfStreams (StreamType streamType)
 

Protected Attributes

CCriticalSection m_critSection
 
std::map< int, CDemuxStream * > m_streams
 
std::map< int, std::unique_ptr< CDemuxParserFFmpeg > > m_parsers
 
AVIOContext * m_ioContext
 
double m_currentPts
 
bool m_bMatroska
 
bool m_bAVI
 
bool m_bSup
 
int m_speed
 
unsigned int m_program
 
unsigned int m_streamsInProgram
 
unsigned int m_newProgram
 
XbmcThreads::EndTime m_timeout
 
struct {
   AVPacket   pkt
 
   int   result
 
m_pkt
 
bool m_streaminfo
 
bool m_checkvideo
 
int m_displayTime = 0
 
double m_dtsAtDisplayTime
 
bool m_seekToKeyFrame = false
 
double m_startTime = 0
 
- Protected Attributes inherited from CDVDDemux
int64_t m_demuxerId
 

Friends

class CDemuxStreamAudioFFmpeg
 
class CDemuxStreamVideoFFmpeg
 
class CDemuxStreamSubtitleFFmpeg
 

Constructor & Destructor Documentation

§ CDVDDemuxFFmpeg()

CDVDDemuxFFmpeg::CDVDDemuxFFmpeg ( )

§ ~CDVDDemuxFFmpeg()

CDVDDemuxFFmpeg::~CDVDDemuxFFmpeg ( )
override

Member Function Documentation

§ Abort()

void CDVDDemuxFFmpeg::Abort ( )
overridevirtual

Reimplemented from CDVDDemux.

§ Aborted()

bool CDVDDemuxFFmpeg::Aborted ( )

§ AddStream() [1/2]

CDemuxStream * CDVDDemuxFFmpeg::AddStream ( int  streamIdx)
protected

§ AddStream() [2/2]

void CDVDDemuxFFmpeg::AddStream ( int  streamIdx,
CDemuxStream stream 
)
protected

Adds or updates a demux stream based in ffmpeg id.

§ ConvertCodecToInternalStereoMode()

std::string CDVDDemuxFFmpeg::ConvertCodecToInternalStereoMode ( const std::string &  mode,
const StereoModeConversionMap conversionMap 
)
protected

§ ConvertTimestamp()

double CDVDDemuxFFmpeg::ConvertTimestamp ( int64_t  pts,
int  den,
int  num 
)
protected

§ CreateStreams()

void CDVDDemuxFFmpeg::CreateStreams ( unsigned int  program = UINT_MAX)
protected

§ Dispose()

void CDVDDemuxFFmpeg::Dispose ( )

§ DisposeStreams()

void CDVDDemuxFFmpeg::DisposeStreams ( )
protected

§ Flush()

void CDVDDemuxFFmpeg::Flush ( )
overridevirtual

Implements CDVDDemux.

§ GetChapter()

int CDVDDemuxFFmpeg::GetChapter ( )
overridevirtual

Reimplemented from CDVDDemux.

§ GetChapterCount()

int CDVDDemuxFFmpeg::GetChapterCount ( )
overridevirtual

Reimplemented from CDVDDemux.

§ GetChapterName()

void CDVDDemuxFFmpeg::GetChapterName ( std::string &  strChapterName,
int  chapterIdx = -1 
)
overridevirtual

Reimplemented from CDVDDemux.

§ GetChapterPos()

int64_t CDVDDemuxFFmpeg::GetChapterPos ( int  chapterIdx = -1)
overridevirtual

Reimplemented from CDVDDemux.

§ GetFFMpegOptionsFromInput()

AVDictionary * CDVDDemuxFFmpeg::GetFFMpegOptionsFromInput ( )
protected

§ GetFileName()

std::string CDVDDemuxFFmpeg::GetFileName ( )
overridevirtual

Reimplemented from CDVDDemux.

§ GetL16Parameters()

void CDVDDemuxFFmpeg::GetL16Parameters ( int &  channels,
int &  samplerate 
)
protected

§ GetNrOfStreams()

int CDVDDemuxFFmpeg::GetNrOfStreams ( ) const
overridevirtual

Implements CDVDDemux.

§ GetPrograms()

int CDVDDemuxFFmpeg::GetPrograms ( std::vector< ProgramInfo > &  programs)
overridevirtual

Reimplemented from CDVDDemux.

§ GetStereoModeFromMetadata()

std::string CDVDDemuxFFmpeg::GetStereoModeFromMetadata ( AVDictionary *  pMetadata)
protected

§ GetStream()

CDemuxStream * CDVDDemuxFFmpeg::GetStream ( int  iStreamId) const
overridevirtual

Finds stream based on unique id.

Implements CDVDDemux.

§ GetStreamCodecName()

std::string CDVDDemuxFFmpeg::GetStreamCodecName ( int  iStreamId)
overridevirtual

Reimplemented from CDVDDemux.

§ GetStreamLength()

int CDVDDemuxFFmpeg::GetStreamLength ( )
overridevirtual

Reimplemented from CDVDDemux.

§ GetStreams()

std::vector< CDemuxStream * > CDVDDemuxFFmpeg::GetStreams ( ) const
overridevirtual

Implements CDVDDemux.

§ HLSSelectProgram()

unsigned int CDVDDemuxFFmpeg::HLSSelectProgram ( )
protected

§ IsProgramChange()

bool CDVDDemuxFFmpeg::IsProgramChange ( )
protected

§ IsVideoReady()

bool CDVDDemuxFFmpeg::IsVideoReady ( )
protected

§ Open()

bool CDVDDemuxFFmpeg::Open ( std::shared_ptr< CDVDInputStream pInput,
bool  streaminfo = true,
bool  fileinfo = false 
)

§ ParsePacket()

void CDVDDemuxFFmpeg::ParsePacket ( AVPacket *  pkt)
protected

§ Read()

DemuxPacket * CDVDDemuxFFmpeg::Read ( )
overridevirtual

Implements CDVDDemux.

§ Reset()

bool CDVDDemuxFFmpeg::Reset ( void  )
overridevirtual

Implements CDVDDemux.

§ ResetVideoStreams()

void CDVDDemuxFFmpeg::ResetVideoStreams ( )
protected

§ SeekByte()

bool CDVDDemuxFFmpeg::SeekByte ( int64_t  pos)

§ SeekChapter()

bool CDVDDemuxFFmpeg::SeekChapter ( int  chapter,
double *  startpts = NULL 
)
overridevirtual

Reimplemented from CDVDDemux.

§ SeekTime()

bool CDVDDemuxFFmpeg::SeekTime ( double  time,
bool  backwards = false,
double *  startpts = NULL 
)
overridevirtual

Implements CDVDDemux.

§ SelectAspect()

double CDVDDemuxFFmpeg::SelectAspect ( AVStream *  st,
bool &  forced 
)
protected

§ SetProgram()

void CDVDDemuxFFmpeg::SetProgram ( int  progId)
overridevirtual

Reimplemented from CDVDDemux.

§ SetSpeed()

void CDVDDemuxFFmpeg::SetSpeed ( int  iSpeed)
overridevirtual

Reimplemented from CDVDDemux.

§ UpdateCurrentPTS()

void CDVDDemuxFFmpeg::UpdateCurrentPTS ( )
protected

Friends And Related Function Documentation

§ CDemuxStreamAudioFFmpeg

friend class CDemuxStreamAudioFFmpeg
friend

§ CDemuxStreamSubtitleFFmpeg

friend class CDemuxStreamSubtitleFFmpeg
friend

§ CDemuxStreamVideoFFmpeg

friend class CDemuxStreamVideoFFmpeg
friend

Member Data Documentation

§ m_bAVI

bool CDVDDemuxFFmpeg::m_bAVI
protected

§ m_bMatroska

bool CDVDDemuxFFmpeg::m_bMatroska
protected

§ m_bSup

bool CDVDDemuxFFmpeg::m_bSup
protected

§ m_checkvideo

bool CDVDDemuxFFmpeg::m_checkvideo
protected

§ m_critSection

CCriticalSection CDVDDemuxFFmpeg::m_critSection
protected

§ m_currentPts

double CDVDDemuxFFmpeg::m_currentPts
protected

§ m_displayTime

int CDVDDemuxFFmpeg::m_displayTime = 0
protected

§ m_dtsAtDisplayTime

double CDVDDemuxFFmpeg::m_dtsAtDisplayTime
protected

§ m_ioContext

AVIOContext* CDVDDemuxFFmpeg::m_ioContext
protected

§ m_newProgram

unsigned int CDVDDemuxFFmpeg::m_newProgram
protected

§ m_parsers

std::map<int, std::unique_ptr<CDemuxParserFFmpeg> > CDVDDemuxFFmpeg::m_parsers
protected

§ m_pFormatContext

AVFormatContext* CDVDDemuxFFmpeg::m_pFormatContext

§ m_pInput

std::shared_ptr<CDVDInputStream> CDVDDemuxFFmpeg::m_pInput

§ m_pkt

struct { ... } CDVDDemuxFFmpeg::m_pkt

§ m_program

unsigned int CDVDDemuxFFmpeg::m_program
protected

§ m_seekToKeyFrame

bool CDVDDemuxFFmpeg::m_seekToKeyFrame = false
protected

§ m_speed

int CDVDDemuxFFmpeg::m_speed
protected

§ m_startTime

double CDVDDemuxFFmpeg::m_startTime = 0
protected

§ m_streaminfo

bool CDVDDemuxFFmpeg::m_streaminfo
protected

§ m_streams

std::map<int, CDemuxStream*> CDVDDemuxFFmpeg::m_streams
protected

§ m_streamsInProgram

unsigned int CDVDDemuxFFmpeg::m_streamsInProgram
protected

§ m_timeout

XbmcThreads::EndTime CDVDDemuxFFmpeg::m_timeout
protected

§ pkt

AVPacket CDVDDemuxFFmpeg::pkt

§ result

int CDVDDemuxFFmpeg::result

The documentation for this class was generated from the following files: