Hacker Guide/Demux

From VideoLAN Wiki
Revision as of 00:06, 12 November 2010 by J-b (talk | contribs)
Jump to navigation Jump to search

Description

The modules of 'demux' capability are designed to handle the different "file" formats. They usually come after the access in the modules chain.

Examples of demuxers are WMV/ASF, Ogg or Mkv.

Write an demuxer module

To write an demuxer module, read the introduction to module writing.

Then, you should specify your module of being of demux type:

set_capability( "demux", 60 )  
set_category( CAT_INPUT )                                                                                                                                                                                  
set_subcategory( SUBCAT_INPUT_DEMUX )


Functions to implement

After implementing Open() and Close() functions, you will need to implement a few majors features that will be implemented by your functions.

As you can see include/vlc_demux.h, you should define:

  • Seek, as in pf_seek
  • Control, as in pf_control
  • Read or Block, depending on your module type

After implementing those functions, you should assign them to the corresponding pf_ function.