#include <DVDDemuxFFmpeg.h>
 | 
|   | CDVDDemuxFFmpeg () | 
|   | 
|   | ~CDVDDemuxFFmpeg () override | 
|   | 
| 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 | 
|   | 
| DemuxPacket *  | ReadInternal (bool keep) | 
|   | 
| 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 () | 
|   | 
|   | CDVDDemux () | 
|   | 
| virtual  | ~CDVDDemux ()=default | 
|   | 
| virtual void  | FillBuffer (bool mode) | 
|   | 
| virtual CDemuxStream *  | GetStream (int64_t demuxerId, int iStreamId) const | 
|   | 
| int  | GetNrOfSubtitleStreams () const | 
|   | 
| 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 () const | 
|   | 
◆ CDVDDemuxFFmpeg()
      
        
          | CDVDDemuxFFmpeg::CDVDDemuxFFmpeg  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ ~CDVDDemuxFFmpeg()
  
  
      
        
          | CDVDDemuxFFmpeg::~CDVDDemuxFFmpeg  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
override   | 
  
 
 
◆ Abort()
  
  
      
        
          | void CDVDDemuxFFmpeg::Abort  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ Aborted()
      
        
          | bool CDVDDemuxFFmpeg::Aborted  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ AddStream() [1/2]
- 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. 
 
@FIXME: 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.
 
 
◆ AddStream() [2/2]
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   | 
  
 
 
◆ DetermineHdrType()
  
  
      
        
          | StreamHdrType CDVDDemuxFFmpeg::DetermineHdrType  | 
          ( | 
          AVStream * |           pStream | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ Dispose()
      
        
          | void CDVDDemuxFFmpeg::Dispose  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ DisposeStreams()
  
  
      
        
          | void CDVDDemuxFFmpeg::DisposeStreams  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ Flush()
  
  
      
        
          | void CDVDDemuxFFmpeg::Flush  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ GetChapter()
  
  
      
        
          | int CDVDDemuxFFmpeg::GetChapter  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ GetChapterCount()
  
  
      
        
          | int CDVDDemuxFFmpeg::GetChapterCount  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ GetChapterName()
  
  
      
        
          | void CDVDDemuxFFmpeg::GetChapterName  | 
          ( | 
          std::string & |           strChapterName,  | 
         
        
           | 
           | 
          int |           chapterIdx = -1 ) | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ GetChapterPos()
  
  
      
        
          | int64_t CDVDDemuxFFmpeg::GetChapterPos  | 
          ( | 
          int |           chapterIdx = -1 | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ GetFFMpegOptionsFromInput()
  
  
      
        
          | AVDictionary * CDVDDemuxFFmpeg::GetFFMpegOptionsFromInput  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ GetFileName()
  
  
      
        
          | std::string CDVDDemuxFFmpeg::GetFileName  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ GetL16Parameters()
  
  
      
        
          | void CDVDDemuxFFmpeg::GetL16Parameters  | 
          ( | 
          int & |           channels,  | 
         
        
           | 
           | 
          int & |           samplerate ) | 
         
       
   | 
  
protected   | 
  
 
 
◆ GetNrOfStreams()
  
  
      
        
          | int CDVDDemuxFFmpeg::GetNrOfStreams  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ GetPrograms()
  
  
      
        
          | int CDVDDemuxFFmpeg::GetPrograms  | 
          ( | 
          std::vector< ProgramInfo > & |           programs | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ GetStereoModeFromMetadata()
  
  
      
        
          | std::string CDVDDemuxFFmpeg::GetStereoModeFromMetadata  | 
          ( | 
          AVDictionary * |           pMetadata | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ GetStream()
Finds stream based on unique id. 
Implements CDVDDemux.
 
 
◆ GetStreamCodecName()
  
  
      
        
          | std::string CDVDDemuxFFmpeg::GetStreamCodecName  | 
          ( | 
          int |           iStreamId | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ GetStreamLength()
  
  
      
        
          | int CDVDDemuxFFmpeg::GetStreamLength  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ GetStreams()
  
  
      
        
          | std::vector< CDemuxStream * > CDVDDemuxFFmpeg::GetStreams  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ HLSSelectProgram()
  
  
      
        
          | unsigned int CDVDDemuxFFmpeg::HLSSelectProgram  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ IsProgramChange()
  
  
      
        
          | bool CDVDDemuxFFmpeg::IsProgramChange  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ IsTransportStreamReady()
  
  
      
        
          | bool CDVDDemuxFFmpeg::IsTransportStreamReady  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ Open()
◆ ParsePacket()
  
  
      
        
          | void CDVDDemuxFFmpeg::ParsePacket  | 
          ( | 
          AVPacket * |           pkt | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ Read()
◆ ReadInternal()
◆ Reset()
  
  
      
        
          | bool CDVDDemuxFFmpeg::Reset  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ ResetVideoStreams()
  
  
      
        
          | void CDVDDemuxFFmpeg::ResetVideoStreams  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ SeekByte()
◆ SeekChapter()
  
  
      
        
          | bool CDVDDemuxFFmpeg::SeekChapter  | 
          ( | 
          int |           chapter,  | 
         
        
           | 
           | 
          double * |           startpts = NULL ) | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ SeekTime()
  
  
      
        
          | bool CDVDDemuxFFmpeg::SeekTime  | 
          ( | 
          double |           time,  | 
         
        
           | 
           | 
          bool |           backwards = false,  | 
         
        
           | 
           | 
          double * |           startpts = NULL ) | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ SelectAspect()
  
  
      
        
          | double CDVDDemuxFFmpeg::SelectAspect  | 
          ( | 
          AVStream * |           st,  | 
         
        
           | 
           | 
          bool & |           forced ) | 
         
       
   | 
  
protected   | 
  
 
 
◆ SetProgram()
  
  
      
        
          | void CDVDDemuxFFmpeg::SetProgram  | 
          ( | 
          int |           progId | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ SetSpeed()
  
  
      
        
          | void CDVDDemuxFFmpeg::SetSpeed  | 
          ( | 
          int |           iSpeed | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ TransportStreamAudioState()
◆ TransportStreamVideoState()
◆ CDemuxStreamAudioFFmpeg
◆ CDemuxStreamSubtitleFFmpeg
◆ CDemuxStreamVideoFFmpeg
◆ m_bAVI
  
  
      
        
          | bool CDVDDemuxFFmpeg::m_bAVI | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_bMatroska
  
  
      
        
          | bool CDVDDemuxFFmpeg::m_bMatroska | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_bSup
  
  
      
        
          | bool CDVDDemuxFFmpeg::m_bSup | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_checkTransportStream
  
  
      
        
          | bool CDVDDemuxFFmpeg::m_checkTransportStream | 
         
       
   | 
  
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_initialProgramNumber
  
  
      
        
          | unsigned int CDVDDemuxFFmpeg::m_initialProgramNumber | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_ioContext
  
  
      
        
          | AVIOContext* CDVDDemuxFFmpeg::m_ioContext | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_newProgram
  
  
      
        
          | unsigned int CDVDDemuxFFmpeg::m_newProgram | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_parsers
◆ m_pFormatContext
      
        
          | AVFormatContext* CDVDDemuxFFmpeg::m_pFormatContext | 
        
      
 
 
◆ m_pInput
◆ [struct]
      
        
          | struct  { ... }  CDVDDemuxFFmpeg::m_pkt | 
        
      
 
 
◆ m_program
  
  
      
        
          | unsigned int CDVDDemuxFFmpeg::m_program | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_reopen
  
  
      
        
          | bool CDVDDemuxFFmpeg::m_reopen = false | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_seekStream
  
  
      
        
          | int CDVDDemuxFFmpeg::m_seekStream | 
         
       
   | 
  
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
◆ m_streamsInProgram
  
  
      
        
          | unsigned int CDVDDemuxFFmpeg::m_streamsInProgram | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_timeout
◆ pkt
      
        
          | AVPacket CDVDDemuxFFmpeg::pkt | 
        
      
 
 
◆ result
      
        
          | int CDVDDemuxFFmpeg::result | 
        
      
 
 
The documentation for this class was generated from the following files: