libgpac
Documentation of the core library of GPAC
Loading...
Searching...
No Matches
in_route_repair.c File Reference
#include "in_route.h"
#include <gpac/mpegts.h>
#include <gpac/isomedia.h>
#include "../utils/downloader.h"
+ Include dependency graph for in_route_repair.c:

Macros

#define SAFETY_ERASE_BYTES   32
 

Enumerations

enum  { ROUTE_FTYPE_UNKNOWN =0 , ROUTE_FTYPE_M2TS , ROUTE_FTYPE_ISOBMF }
 

Functions

static void repair_session_dequeue (ROUTEInCtx *ctx, RepairSegmentInfo *rsi)
 
static void update_first_frag (GF_ROUTEEventFileInfo *finfo)
 
static Bool routein_repair_segment_ts_local (ROUTEInCtx *ctx, u32 service_id, GF_ROUTEEventFileInfo *finfo, Bool repair_start_only)
 
static u32 next_top_level_box (GF_ROUTEEventFileInfo *finfo, u8 *data, u32 size, Bool check_start, u32 *cur_pos, u32 *box_size)
 
static void routein_repair_segment_isobmf_local (ROUTEInCtx *ctx, u32 service_id, GF_ROUTEEventFileInfo *finfo, Bool repair_start_only)
 
static RouteRepairRangequeue_repair_range (ROUTEInCtx *ctx, RepairSegmentInfo *rsi, u32 start_range, u32 end_range)
 
static void route_repair_build_ranges_full (ROUTEInCtx *ctx, RepairSegmentInfo *rsi, GF_ROUTEEventFileInfo *finfo)
 
static u32 get_dependent_samples (GF_List *sample_deps, SampleDepInfo *for_sample, SampleDepInfo *ref_sample, GF_List *done)
 
static void update_num_dependent_samples (GF_List *sample_deps, SampleDepInfo *for_sample)
 
static void routein_repair_get_isobmf_deps (ROUTEInCtx *ctx, RepairSegmentInfo *rsi)
 
static void drop_sample_ref (GF_List *sample_deps, SampleDepInfo *ref, Bool primary)
 
GF_Err gf_route_dmx_add_frag_hole (GF_ROUTEDmx *routedmx, u32 service_id, GF_ROUTEEventFileInfo *finfo, u32 br_start, u32 br_size)
 
static void route_repair_build_ranges_isobmf (ROUTEInCtx *ctx, RepairSegmentInfo *rsi, GF_ROUTEEventFileInfo *finfo)
 
static u32 guess_file_type (GF_ROUTEEventFileInfo *finfo, u8 *data, u32 size)
 
void routein_check_type (ROUTEInCtx *ctx, GF_ROUTEEventFileInfo *finfo, u32 service_id)
 
static void routein_check_isobmf (ROUTEInCtx *ctx, GF_ROUTEEventFileInfo *finfo)
 
static Bool routein_repair_local (ROUTEInCtx *ctx, GF_ROUTEEventType evt, u32 evt_param, GF_ROUTEEventFileInfo *finfo, Bool start_only)
 
static u32 get_max_dispatch_len (GF_ROUTEEventFileInfo *finfo)
 
void routein_queue_repair (ROUTEInCtx *ctx, GF_ROUTEEventType evt, u32 evt_param, GF_ROUTEEventFileInfo *finfo)
 
static void repair_session_done (ROUTEInCtx *ctx, RouteRepairSession *rsess, GF_Err res_code)
 
static void repair_session_run (ROUTEInCtx *ctx, RouteRepairSession *rsess)
 
GF_Err routein_do_repair (ROUTEInCtx *ctx)
 
void routein_repair_mark_file (ROUTEInCtx *ctx, u32 service_id, const char *filename, Bool is_delete)
 

Variables

static const u32 top_codes []
 
static u32 nb_top_codes = GF_ARRAY_LENGTH(top_codes)
 

Macro Definition Documentation

◆ SAFETY_ERASE_BYTES

#define SAFETY_ERASE_BYTES   32

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ROUTE_FTYPE_UNKNOWN 
ROUTE_FTYPE_M2TS 
ROUTE_FTYPE_ISOBMF 

Function Documentation

◆ repair_session_dequeue()

static void repair_session_dequeue ( ROUTEInCtx ctx,
RepairSegmentInfo *  rsi 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ update_first_frag()

static void update_first_frag ( GF_ROUTEEventFileInfo finfo)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ routein_repair_segment_ts_local()

static Bool routein_repair_segment_ts_local ( ROUTEInCtx ctx,
u32  service_id,
GF_ROUTEEventFileInfo finfo,
Bool  repair_start_only 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ next_top_level_box()

static u32 next_top_level_box ( GF_ROUTEEventFileInfo finfo,
u8 data,
u32  size,
Bool  check_start,
u32 cur_pos,
u32 box_size 
)
static
+ Here is the caller graph for this function:

◆ routein_repair_segment_isobmf_local()

static void routein_repair_segment_isobmf_local ( ROUTEInCtx ctx,
u32  service_id,
GF_ROUTEEventFileInfo finfo,
Bool  repair_start_only 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ queue_repair_range()

static RouteRepairRange * queue_repair_range ( ROUTEInCtx ctx,
RepairSegmentInfo *  rsi,
u32  start_range,
u32  end_range 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ route_repair_build_ranges_full()

static void route_repair_build_ranges_full ( ROUTEInCtx ctx,
RepairSegmentInfo *  rsi,
GF_ROUTEEventFileInfo finfo 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_dependent_samples()

static u32 get_dependent_samples ( GF_List *  sample_deps,
SampleDepInfo for_sample,
SampleDepInfo ref_sample,
GF_List *  done 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ update_num_dependent_samples()

static void update_num_dependent_samples ( GF_List *  sample_deps,
SampleDepInfo for_sample 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ routein_repair_get_isobmf_deps()

static void routein_repair_get_isobmf_deps ( ROUTEInCtx ctx,
RepairSegmentInfo *  rsi 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drop_sample_ref()

static void drop_sample_ref ( GF_List *  sample_deps,
SampleDepInfo ref,
Bool  primary 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_route_dmx_add_frag_hole()

GF_Err gf_route_dmx_add_frag_hole ( GF_ROUTEDmx *  routedmx,
u32  service_id,
GF_ROUTEEventFileInfo finfo,
u32  br_start,
u32  br_size 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ route_repair_build_ranges_isobmf()

static void route_repair_build_ranges_isobmf ( ROUTEInCtx ctx,
RepairSegmentInfo *  rsi,
GF_ROUTEEventFileInfo finfo 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ guess_file_type()

static u32 guess_file_type ( GF_ROUTEEventFileInfo finfo,
u8 data,
u32  size 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ routein_check_type()

void routein_check_type ( ROUTEInCtx ctx,
GF_ROUTEEventFileInfo finfo,
u32  service_id 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ routein_check_isobmf()

static void routein_check_isobmf ( ROUTEInCtx ctx,
GF_ROUTEEventFileInfo finfo 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ routein_repair_local()

static Bool routein_repair_local ( ROUTEInCtx ctx,
GF_ROUTEEventType  evt,
u32  evt_param,
GF_ROUTEEventFileInfo finfo,
Bool  start_only 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_max_dispatch_len()

static u32 get_max_dispatch_len ( GF_ROUTEEventFileInfo finfo)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ routein_queue_repair()

void routein_queue_repair ( ROUTEInCtx ctx,
GF_ROUTEEventType  evt,
u32  evt_param,
GF_ROUTEEventFileInfo finfo 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ repair_session_done()

static void repair_session_done ( ROUTEInCtx ctx,
RouteRepairSession rsess,
GF_Err  res_code 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ repair_session_run()

static void repair_session_run ( ROUTEInCtx ctx,
RouteRepairSession rsess 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ routein_do_repair()

GF_Err routein_do_repair ( ROUTEInCtx ctx)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ routein_repair_mark_file()

void routein_repair_mark_file ( ROUTEInCtx ctx,
u32  service_id,
const char *  filename,
Bool  is_delete 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ top_codes

const u32 top_codes[]
static
Initial value:
= {
GF_4CC('m', 'o', 'o', 'f'),
GF_4CC('m', 'd', 'a', 't'),
GF_4CC('p', 'r', 'f', 't'),
GF_4CC('e', 'm', 's', 'g'),
GF_4CC('s', 't', 'y', 'p'),
GF_4CC('f', 'r', 'e', 'e'),
GF_4CC('s', 'i', 'd', 'x'),
}
#define GF_4CC(a, b, c, d)
Definition constants.h:137

◆ nb_top_codes

u32 nb_top_codes = GF_ARRAY_LENGTH(top_codes)
static