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
mpegts_in.c File Reference
#include <gpac/modules/service.h>
#include <gpac/modules/codec.h>
#include <gpac/mpegts.h>
#include <gpac/thread.h>
#include <gpac/network.h>
#include <gpac/constants.h>
+ Include dependency graph for mpegts_in.c:

Data Structures

struct  M2TSIn_Prog
 
struct  M2TSIn
 

Macros

#define M2TS_BUFFER_MAX   200
 

Functions

static void M2TS_GetNetworkType (GF_InputService *plug, M2TSIn *reader)
 
static Bool M2TS_CanHandleURL (GF_InputService *plug, const char *url)
 
static Bool M2TS_CanHandleURLInService (GF_InputService *plug, const char *url)
 
static GF_ESDMP2TS_GetESD (M2TSIn *m2ts, GF_M2TS_PES *stream, char *dsi, u32 dsi_size)
 
static GF_ObjectDescriptorMP2TS_GetOD (M2TSIn *m2ts, GF_M2TS_PES *stream, char *dsi, u32 dsi_size, u32 *streamType)
 
static void MP2TS_DeclareStream (M2TSIn *m2ts, GF_M2TS_PES *stream, char *dsi, u32 dsi_size)
 
static void MP2TS_SetupProgram (M2TSIn *m2ts, GF_M2TS_Program *prog, Bool regenerate_scene, Bool no_declare)
 
static void MP2TS_SendPacket (M2TSIn *m2ts, GF_M2TS_PES_PCK *pck)
 
static void MP2TS_SendSLPacket (M2TSIn *m2ts, GF_M2TS_SL_PCK *pck)
 
static GF_ObjectDescriptorM2TS_GenerateEPG_OD (M2TSIn *m2ts)
 
static void M2TS_FlushRequested (M2TSIn *m2ts)
 
static void M2TS_OnEvent (GF_M2TS_Demuxer *ts, u32 evt_type, void *param)
 
void m2ts_net_io (void *cbk, GF_NETIO_Parameter *param)
 
static GF_Err M2TS_QueryNextFile (void *udta, u32 query_type, const char **out_url, u64 *out_start_range, u64 *out_end_range, u32 *refresh_type)
 
void m2ts_flush_data (M2TSIn *m2ts, u32 flush_type)
 
static GF_Err M2TS_ConnectService (GF_InputService *plug, GF_ClientService *serv, const char *url)
 
static GF_Err M2TS_CloseService (GF_InputService *plug)
 
static GF_DescriptorM2TS_GetServiceDesc (GF_InputService *plug, u32 expect_type, const char *sub_url)
 
static GF_Err M2TS_ConnectChannel (GF_InputService *plug, LPNETCHANNEL channel, const char *url, Bool upstream)
 
static GF_M2TS_PESM2TS_GetChannel (M2TSIn *m2ts, LPNETCHANNEL channel)
 
static GF_Err M2TS_DisconnectChannel (GF_InputService *plug, LPNETCHANNEL channel)
 
static void gf_m2ts_switch_quality (GF_M2TS_Program *prog, GF_M2TS_Demuxer *ts, Bool switch_up)
 
static GF_Err M2TS_ServiceCommand (GF_InputService *plug, GF_NetworkCommand *com)
 
static u32 M2TS_RegisterMimeTypes (const GF_InputService *service)
 
GF_InputServiceNewM2TSReader ()
 
void DeleteM2TSReader (void *ifce)
 
const u32QueryInterfaces ()
 
GF_BaseInterfaceLoadInterface (u32 InterfaceType)
 
void ShutdownInterface (GF_BaseInterface *ifce)
 

Variables

static const char * MIMES [] = { "video/mpeg-2", "video/mp2t", "video/mpeg", 0 }
 

Data Structure Documentation

struct M2TSIn_Prog
+ Collaboration diagram for M2TSIn_Prog:
Data Fields
char * fragment
u32 id
u32 pid
struct M2TSIn
+ Collaboration diagram for M2TSIn:
Data Fields
GF_M2TS_Demuxer * ts
GF_InputService * owner
GF_ClientService * service
Bool ts_setup
Bool request_all_pids
Bool is_connected
Bool low_latency_mode
Bool in_segment_download
Bool first_segment_fetched
Bool epg_requested
Bool has_eit
LPNETCHANNEL eit_channel
GF_Mutex * mx
Bool mpeg4on2_scene_only
char * network_buffer
u32 network_buffer_size
u32 regulation_pcr_pid
Bool skip_regulation
Bool has_pending_segments
Bool hybrid_on

Macro Definition Documentation

#define M2TS_BUFFER_MAX   200

Function Documentation

static void M2TS_GetNetworkType ( GF_InputService plug,
M2TSIn reader 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static Bool M2TS_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 Bool M2TS_CanHandleURLInService ( 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* MP2TS_GetESD ( M2TSIn m2ts,
GF_M2TS_PES stream,
char *  dsi,
u32  dsi_size 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_ObjectDescriptor* MP2TS_GetOD ( M2TSIn m2ts,
GF_M2TS_PES stream,
char *  dsi,
u32  dsi_size,
u32 streamType 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void MP2TS_DeclareStream ( M2TSIn m2ts,
GF_M2TS_PES stream,
char *  dsi,
u32  dsi_size 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void MP2TS_SetupProgram ( M2TSIn m2ts,
GF_M2TS_Program prog,
Bool  regenerate_scene,
Bool  no_declare 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void MP2TS_SendPacket ( M2TSIn m2ts,
GF_M2TS_PES_PCK pck 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void MP2TS_SendSLPacket ( M2TSIn m2ts,
GF_M2TS_SL_PCK pck 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_ObjectDescriptor* M2TS_GenerateEPG_OD ( M2TSIn m2ts)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void M2TS_FlushRequested ( M2TSIn m2ts)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void M2TS_OnEvent ( GF_M2TS_Demuxer *  ts,
u32  evt_type,
void *  param 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void m2ts_net_io ( void *  cbk,
GF_NETIO_Parameter param 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err M2TS_QueryNextFile ( void *  udta,
u32  query_type,
const char **  out_url,
u64 out_start_range,
u64 out_end_range,
u32 refresh_type 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void m2ts_flush_data ( M2TSIn m2ts,
u32  flush_type 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err M2TS_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_Err M2TS_CloseService ( GF_InputService plug)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Descriptor* M2TS_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 M2TS_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_M2TS_PES* M2TS_GetChannel ( M2TSIn m2ts,
LPNETCHANNEL  channel 
)
static

+ Here is the caller graph for this function:

static GF_Err M2TS_DisconnectChannel ( GF_InputService plug,
LPNETCHANNEL  channel 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void gf_m2ts_switch_quality ( GF_M2TS_Program prog,
GF_M2TS_Demuxer *  ts,
Bool  switch_up 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err M2TS_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 u32 M2TS_RegisterMimeTypes ( const GF_InputService service)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_InputService* NewM2TSReader ( )

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DeleteM2TSReader ( void *  ifce)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const u32* QueryInterfaces ( )
GF_BaseInterface* LoadInterface ( u32  InterfaceType)

+ Here is the call graph for this function:

void ShutdownInterface ( GF_BaseInterface ifce)

+ Here is the call graph for this function:

Variable Documentation

const char* MIMES[] = { "video/mpeg-2", "video/mp2t", "video/mpeg", 0 }
static