libgpac
Documentation of the core library of GPAC
dmx_nhnt.c File Reference
#include <gpac/filters.h>
#include <gpac/constants.h>
#include <gpac/thread.h>
#include <gpac/list.h>
#include <gpac/bitstream.h>
#include <gpac/avparse.h>
+ Include dependency graph for dmx_nhnt.c:

Data Structures

struct  NHNTIdx
 
struct  GF_NHNTDmxCtx
 

Macros

#define OFFS(_n)   #_n, offsetof(GF_NHNTDmxCtx, _n)
 

Enumerations

enum  { GF_MEDIA_TYPE_NHNL = GF_4CC('N','H','n','l') , GF_MEDIA_TYPE_NHNT = GF_4CC('N','H','n','t') }
 

Functions

static void nhntdmx_check_dur (GF_NHNTDmxCtx *ctx)
 
GF_Err nhntdmx_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
static Bool nhntdmx_process_event (GF_Filter *filter, const GF_FilterEvent *evt)
 
GF_Err nhntdmx_process (GF_Filter *filter)
 
GF_Err nhntdmx_initialize (GF_Filter *filter)
 
void nhntdmx_finalize (GF_Filter *filter)
 
const GF_FilterRegister * nhntr_register (GF_FilterSession *session)
 

Variables

static const GF_FilterArgs GF_NHNTDmxArgs []
 
static const GF_FilterCapability NHNTDmxCaps []
 
GF_FilterRegister NHNTDmxRegister
 

Data Structure Documentation

◆ NHNTIdx

struct NHNTIdx
Data Fields
u64 pos
Double duration

◆ GF_NHNTDmxCtx

struct GF_NHNTDmxCtx
+ Collaboration diagram for GF_NHNTDmxCtx:
Data Fields
Bool reframe
Double index
GF_FilterPid * ipid
GF_FilterPid * opid
Double start_range
u64 first_dts
Bool is_playing
GF_Fraction64 duration
Bool need_reassign
Bool in_seek
Bool initial_play_done
Bool header_parsed
u32 sig
u32 timescale
FILE * mdia
GF_BitStream * bs
NHNTIdx * indexes
u32 index_alloc_size
u32 index_size
GF_Err in_error

Macro Definition Documentation

◆ OFFS

#define OFFS (   _n)    #_n, offsetof(GF_NHNTDmxCtx, _n)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
GF_MEDIA_TYPE_NHNL 
GF_MEDIA_TYPE_NHNT 

Function Documentation

◆ nhntdmx_check_dur()

static void nhntdmx_check_dur ( GF_NHNTDmxCtx ctx)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nhntdmx_configure_pid()

GF_Err nhntdmx_configure_pid ( GF_Filter *  filter,
GF_FilterPid *  pid,
Bool  is_remove 
)
+ Here is the call graph for this function:

◆ nhntdmx_process_event()

static Bool nhntdmx_process_event ( GF_Filter *  filter,
const GF_FilterEvent *  evt 
)
static
+ Here is the call graph for this function:

◆ nhntdmx_process()

GF_Err nhntdmx_process ( GF_Filter *  filter)
+ Here is the call graph for this function:

◆ nhntdmx_initialize()

GF_Err nhntdmx_initialize ( GF_Filter *  filter)

◆ nhntdmx_finalize()

void nhntdmx_finalize ( GF_Filter *  filter)
+ Here is the call graph for this function:

◆ nhntr_register()

const GF_FilterRegister* nhntr_register ( GF_FilterSession *  session)

Variable Documentation

◆ GF_NHNTDmxArgs

const GF_FilterArgs GF_NHNTDmxArgs[]
static
Initial value:
=
{
{ OFFS(reframe), "force re-parsing of referenced content", GF_PROP_BOOL, "false", NULL, GF_FS_ARG_HINT_ADVANCED},
{ OFFS(index), "indexing window length", GF_PROP_DOUBLE, "1.0", NULL, 0},
{0}
}
#define OFFS(_n)
Definition: dmx_nhnt.c:488
@ GF_FS_ARG_HINT_ADVANCED
Definition: filters.h:2102
@ GF_PROP_BOOL
Definition: filters.h:858
@ GF_PROP_DOUBLE
Definition: filters.h:866

◆ NHNTDmxCaps

const GF_FilterCapability NHNTDmxCaps[]
static
Initial value:
=
{
CAP_STRING(GF_CAPS_INPUT, GF_PROP_PID_MIME, "application/x-nhnt"),
}
@ GF_STREAM_AUDIO
Definition: constants.h:66
@ GF_STREAM_SCENE
Definition: constants.h:62
@ GF_STREAM_FILE
Definition: constants.h:104
@ GF_STREAM_VISUAL
Definition: constants.h:64
#define GF_CAPS_OUTPUT
Definition: filters.h:2232
#define CAP_UINT(_f, _a, _b)
Definition: filters.h:2172
#define CAP_STRING(_f, _a, _b)
Definition: filters.h:2194
#define GF_CAPS_INPUT
Definition: filters.h:2220
@ GF_PROP_PID_STREAM_TYPE
Definition: filters.h:1112
@ GF_PROP_PID_FILE_EXT
Definition: filters.h:1190
@ GF_PROP_PID_MIME
Definition: filters.h:1189

◆ NHNTDmxRegister

GF_FilterRegister NHNTDmxRegister
Initial value:
= {
.name = "nhntr",
GF_FS_SET_HELP("This filter reads NHNT files/data to produce a media PID and frames.\n"
"NHNT documentation is available at https://wiki.gpac.io/xmlformats/NHNT-Format\n")
.private_size = sizeof(GF_NHNTDmxCtx),
.initialize = nhntdmx_initialize,
.finalize = nhntdmx_finalize,
.configure_pid = nhntdmx_configure_pid,
.process = nhntdmx_process,
.process_event = nhntdmx_process_event,
.hint_class_type = GF_FS_CLASS_TOOL
}
GF_Err nhntdmx_initialize(GF_Filter *filter)
Definition: dmx_nhnt.c:473
void nhntdmx_finalize(GF_Filter *filter)
Definition: dmx_nhnt.c:479
static Bool nhntdmx_process_event(GF_Filter *filter, const GF_FilterEvent *evt)
Definition: dmx_nhnt.c:209
GF_Err nhntdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: dmx_nhnt.c:185
static const GF_FilterCapability NHNTDmxCaps[]
Definition: dmx_nhnt.c:497
GF_Err nhntdmx_process(GF_Filter *filter)
Definition: dmx_nhnt.c:266
static const GF_FilterArgs GF_NHNTDmxArgs[]
Definition: dmx_nhnt.c:489
Definition: dmx_nhnt.c:52
#define GF_FS_SET_HELP(_help)
Definition: filters.h:2372
#define SETCAPS(__struct)
Definition: filters.h:2364
@ GF_FS_REG_USE_SYNC_READ
Definition: filters.h:2424
@ GF_FS_CLASS_TOOL
Definition: filters.h:2455
attribute Array args
Definition: jsf.idl:24