libgpac
Documentation of the core library of GPAC
Loading...
Searching...
No Matches
dmx_mpegps.c File Reference
#include <gpac/filters.h>
#include <gpac/constants.h>
#include <gpac/thread.h>
#include <gpac/list.h>
#include <gpac/bitstream.h>
#include "../media_tools/mpeg2_ps.h"
#include <gpac/media_tools.h>

Data Structures

struct  M2PSStream
 
struct  GF_M2PSDmxCtx
 

Functions

static void m2psdmx_setup (GF_Filter *filter, GF_M2PSDmxCtx *ctx)
 
GF_Err m2psdmx_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
static Bool m2psdmx_process_event (GF_Filter *filter, const GF_FilterEvent *evt)
 
GF_Err m2psdmx_process (GF_Filter *filter)
 
GF_Err m2psdmx_initialize (GF_Filter *filter)
 
void m2psdmx_finalize (GF_Filter *filter)
 
static const char * m2psdmx_probe_data (const u8 *data, u32 size, GF_FilterProbeScore *score)
 
const GF_FilterRegister * m2psdmx_register (GF_FilterSession *session)
 

Variables

static const GF_FilterCapability M2PSDmxCaps []
 
GF_FilterRegister M2PSDmxRegister
 

Data Structure Documentation

◆ M2PSStream

struct M2PSStream
Data Fields
GF_FilterPid * opid
u32 stream_type
u32 stream_num
Bool in_use
u64 last_dts

◆ GF_M2PSDmxCtx

struct GF_M2PSDmxCtx
Data Fields
GF_FilterPid * ipid
const char * src_url
mpeg2ps_t * ps
Double start_range
u64 first_dts
u32 nb_playing
GF_Fraction64 duration
Bool in_seek
GF_List * streams
Bool initial_play_done

Function Documentation

◆ m2psdmx_setup()

static void m2psdmx_setup ( GF_Filter *  filter,
GF_M2PSDmxCtx ctx 
)
static

◆ m2psdmx_configure_pid()

GF_Err m2psdmx_configure_pid ( GF_Filter *  filter,
GF_FilterPid *  pid,
Bool  is_remove 
)

◆ m2psdmx_process_event()

static Bool m2psdmx_process_event ( GF_Filter *  filter,
const GF_FilterEvent *  evt 
)
static

◆ m2psdmx_process()

GF_Err m2psdmx_process ( GF_Filter *  filter)

◆ m2psdmx_initialize()

GF_Err m2psdmx_initialize ( GF_Filter *  filter)

◆ m2psdmx_finalize()

void m2psdmx_finalize ( GF_Filter *  filter)

◆ m2psdmx_probe_data()

static const char * m2psdmx_probe_data ( const u8 data,
u32  size,
GF_FilterProbeScore score 
)
static

◆ m2psdmx_register()

const GF_FilterRegister * m2psdmx_register ( GF_FilterSession *  session)

Variable Documentation

◆ M2PSDmxCaps

const GF_FilterCapability M2PSDmxCaps[]
static
Initial value:
=
{
CAP_STRING(GF_CAPS_INPUT, GF_PROP_PID_MIME, "video/mpeg|audio/mpeg"),
}
@ GF_CODECID_RAW
Definition constants.h:577
@ GF_STREAM_AUDIO
Definition constants.h:66
@ GF_STREAM_FILE
Definition constants.h:104
@ GF_STREAM_VISUAL
Definition constants.h:64
#define GF_CAPS_OUTPUT
Definition filters.h:2013
#define CAP_UINT(_f, _a, _b)
Definition filters.h:1955
#define CAP_STRING(_f, _a, _b)
Definition filters.h:1977
#define GF_CAPS_OUTPUT_EXCLUDED
Definition filters.h:2017
#define GF_CAPS_INPUT
Definition filters.h:2001
@ GF_PROP_PID_CODECID
Definition filters.h:1020
@ GF_PROP_PID_STREAM_TYPE
Definition filters.h:1016
@ GF_PROP_PID_FILE_EXT
Definition filters.h:1092
@ GF_PROP_PID_MIME
Definition filters.h:1091

◆ M2PSDmxRegister

GF_FilterRegister M2PSDmxRegister
Initial value:
= {
.name = "m2psdmx",
.private_size = sizeof(GF_M2PSDmxCtx),
.initialize = m2psdmx_initialize,
.finalize = m2psdmx_finalize,
.configure_pid = m2psdmx_configure_pid,
.process = m2psdmx_process,
.process_event = m2psdmx_process_event,
.probe_data = m2psdmx_probe_data,
.priority = 255
}
GF_Err m2psdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition dmx_mpegps.c:201
static const char * m2psdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore *score)
Definition dmx_mpegps.c:454
static const GF_FilterCapability M2PSDmxCaps[]
Definition dmx_mpegps.c:460
GF_Err m2psdmx_process(GF_Filter *filter)
Definition dmx_mpegps.c:310
static Bool m2psdmx_process_event(GF_Filter *filter, const GF_FilterEvent *evt)
Definition dmx_mpegps.c:251
void m2psdmx_finalize(GF_Filter *filter)
Definition dmx_mpegps.c:442
GF_Err m2psdmx_initialize(GF_Filter *filter)
Definition dmx_mpegps.c:435
Definition dmx_mpegps.c:47
#define SETCAPS(__struct)
Definition filters.h:2144