|
bool | Open (const std::shared_ptr< CDVDInputStream > &pInput, bool fileinfo) |
|
void | Dispose () |
|
bool | Reset () override |
|
void | Flush () override |
|
void | Abort () override |
|
void | SetSpeed (int iSpeed) override |
|
std::string | GetFileName () override |
|
DemuxPacket * | Read () override |
|
bool | SeekTime (double time, bool backwards=false, double *startpts=NULL) override |
|
bool | SeekByte (int64_t pos) |
|
int | GetStreamLength () override |
|
CDemuxStream * | GetStream (int iStreamId) const override |
| Finds stream based on unique id.
|
|
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 () |
|
virtual void | FillBuffer (bool mode) |
|
virtual CDemuxStream * | GetStream (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 (unsigned int width, unsigned int height) |
|
int64_t | GetDemuxerId () |
|
|
AVFormatContext * | m_pFormatContext |
|
std::shared_ptr< CDVDInputStream > | m_pInput |
|
AVPacket | pkt |
|
int | result |
|
|
CDemuxStream * | AddStream (int streamIdx) |
|
void | AddStream (int streamIdx, CDemuxStream *stream) |
| Adds or updates a demux stream based in ffmpeg id.
|
|
void | CreateStreams (unsigned int program=UINT_MAX) |
|
void | DisposeStreams () |
|
void | ParsePacket (AVPacket *pkt) |
|
TRANSPORT_STREAM_STATE | TransportStreamAudioState () |
|
TRANSPORT_STREAM_STATE | TransportStreamVideoState () |
|
bool | IsTransportStreamReady () |
|
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) |
|
StreamHdrType | DetermineHdrType (AVStream *pStream) |
|
virtual void | EnableStream (int id, bool enable) |
|
virtual void | OpenStream (int id) |
|
int | GetNrOfStreams (StreamType streamType) |
|
|
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 |
|
unsigned int | m_initialProgramNumber |
|
int | m_seekStream |
|
XbmcThreads::EndTime | m_timeout |
|
struct { |
AVPacket pkt |
|
int result |
|
} | m_pkt |
|
bool | m_streaminfo |
|
bool | m_reopen = false |
|
bool | m_checkTransportStream |
|
int | m_displayTime = 0 |
|
double | m_dtsAtDisplayTime |
|
bool | m_seekToKeyFrame = false |
|
double | m_startTime = 0 |
|
int64_t | m_demuxerId |
|
|
class | CDemuxStreamAudioFFmpeg |
|
class | CDemuxStreamVideoFFmpeg |
|
class | CDemuxStreamSubtitleFFmpeg |
|
◆ AddStream()
- Todo:
- : temporary font file management should be completely removed, by sending font data to the subtitle renderer and using libass ass_add_font to add the fonts directly in memory.
: Matroska v4 support BCP-47 language code with LanguageIETF element that have the priority over the Language element, but this is not currently implemented in to ffmpeg library. Since ffmpeg read only the Language element all tracks will be identified with same language (of Language element). As workaround to allow set the right language code we provide the possibility to set the language code in the title field, this allow to kodi to recognize the right language and select the right track to be played at playback starts.
The documentation for this class was generated from the following files:
- xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.h
- xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp