GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
ffmpeg_demux.c File Reference
#include "ffmpeg_in.h"
#include <errno.h>
+ Include dependency graph for ffmpeg_demux.c:

Macros

#define FFD_DATA_BUFFER   800
 
#define AVERROR_NOMEM   AVERROR(ENOMEM)
 
#define AVERROR_IO   AVERROR(EIO)
 
#define AVERROR_NOFMT   AVERROR(EINVAL)
 

Functions

static u32 FFDemux_Run (void *par)
 
static u32 FFD_RegisterMimeTypes (const GF_InputService *plug)
 
static int open_file (AVFormatContext **ic_ptr, const char *filename, AVInputFormat *fmt)
 
static Bool FFD_CanHandleURL (GF_InputService *plug, const char *url)
 
static GF_ESDFFD_GetESDescriptor (FFDemux *ffd, Bool for_audio)
 
static void FFD_SetupObjects (FFDemux *ffd)
 
static GF_Err FFD_ConnectService (GF_InputService *plug, GF_ClientService *serv, const char *url)
 
static GF_DescriptorFFD_GetServiceDesc (GF_InputService *plug, u32 expect_type, const char *sub_url)
 
static GF_Err FFD_CloseService (GF_InputService *plug)
 
static GF_Err FFD_ConnectChannel (GF_InputService *plug, LPNETCHANNEL channel, const char *url, Bool upstream)
 
static GF_Err FFD_DisconnectChannel (GF_InputService *plug, LPNETCHANNEL channel)
 
static GF_Err FFD_ServiceCommand (GF_InputService *plug, GF_NetworkCommand *com)
 
static Bool FFD_CanHandleURLInService (GF_InputService *plug, const char *url)
 
void * New_FFMPEG_Demux ()
 
void Delete_FFMPEG_Demux (void *ifce)
 

Variables

static const char * FFD_MIME_TYPES []
 

Macro Definition Documentation

#define FFD_DATA_BUFFER   800
#define AVERROR_NOMEM   AVERROR(ENOMEM)

New versions of ffmpeg do not declare AVERROR_NOMEM, AVERROR_IO, AVERROR_NOFMT

#define AVERROR_IO   AVERROR(EIO)
#define AVERROR_NOFMT   AVERROR(EINVAL)

Function Documentation

static u32 FFDemux_Run ( void *  par)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u32 FFD_RegisterMimeTypes ( const GF_InputService plug)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int open_file ( AVFormatContext **  ic_ptr,
const char *  filename,
AVInputFormat *  fmt 
)
static

+ Here is the caller graph for this function:

static Bool FFD_CanHandleURL ( GF_InputService plug,
const char *  url 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_ESD* FFD_GetESDescriptor ( FFDemux ffd,
Bool  for_audio 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void FFD_SetupObjects ( FFDemux ffd)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err FFD_ConnectService ( GF_InputService plug,
GF_ClientService *  serv,
const char *  url 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Descriptor* FFD_GetServiceDesc ( GF_InputService plug,
u32  expect_type,
const char *  sub_url 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err FFD_CloseService ( GF_InputService plug)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err FFD_ConnectChannel ( GF_InputService plug,
LPNETCHANNEL  channel,
const char *  url,
Bool  upstream 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err FFD_DisconnectChannel ( GF_InputService plug,
LPNETCHANNEL  channel 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err FFD_ServiceCommand ( GF_InputService plug,
GF_NetworkCommand com 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static Bool FFD_CanHandleURLInService ( GF_InputService plug,
const char *  url 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* New_FFMPEG_Demux ( )

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Delete_FFMPEG_Demux ( void *  ifce)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

const char* FFD_MIME_TYPES[]
static
Initial value:
= {
"video/x-mpeg", "mpg mpeg mp2 mpa mpe mpv2", "MPEG 1/2 Movies",
"video/x-mpeg-systems", "mpg mpeg mp2 mpa mpe mpv2", "MPEG 1/2 Movies",
"audio/basic", "snd au", "Basic Audio",
"audio/x-wav", "wav", "WAV Audio",
"audio/vnd.wave", "wav", "WAV Audio",
"video/x-ms-asf", "asf wma wmv asx asr", "WindowsMedia Movies",
"video/x-ms-wmv", "asf wma wmv asx asr", "WindowsMedia Movies",
"video/x-msvideo", "avi", "AVI Movies",
"video/x-ms-video", "avi", "AVI Movies",
"video/avi", "avi", "AVI Movies",
"video/vnd.avi", "avi", "AVI Movies",
"video/H263", "h263 263", "H263 Video",
"video/H264", "h264 264", "H264 Video",
"video/MPEG4", "cmp", "MPEG-4 Video",
"video/quicktime", "mov qt", "QuickTime Movies",
"video/webm", "webm", "Google WebM Movies",
"audio/webm", "webm", "Google WebM Music",
0
}