Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
GSoC
GSoC2018
macOS
vlc
Commits
091aff73
Commit
091aff73
authored
Sep 07, 2003
by
Laurent Aimar
Browse files
* all : demuxers *have to* set pf_demux_control. (demux_vaControlDefault
is a generic handler) * avi, mp4 : begin to implement a specific pf_demux_control.
parent
fce2672f
Changes
20
Hide whitespace changes
Inline
Side-by-side
modules/demux/a52sys.c
View file @
091aff73
...
...
@@ -2,7 +2,7 @@
* a52.c : Raw a52 Stream input module for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: a52sys.c,v 1.
4
2003/0
8
/0
1 00:04
:2
8
fenrir Exp $
* $Id: a52sys.c,v 1.
5
2003/0
9
/0
7 22:48
:2
9
fenrir Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
...
...
@@ -29,8 +29,6 @@
#include
<vlc/vlc.h>
#include
<vlc/input.h>
#include
<ninput.h>
/*****************************************************************************
* Module descriptor
*****************************************************************************/
...
...
@@ -129,6 +127,7 @@ static int Open( vlc_object_t * p_this )
}
p_input
->
pf_demux
=
Demux
;
p_input
->
pf_demux_control
=
demux_vaControlDefault
;
p_input
->
p_demux_data
=
p_sys
=
malloc
(
sizeof
(
demux_sys_t
)
);
p_sys
->
i_time
=
0
;
...
...
modules/demux/aac.c
View file @
091aff73
...
...
@@ -2,7 +2,7 @@
* aac.c : Raw aac Stream input module for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: aac.c,v 1.
2
2003/0
8
/0
1 00:40:05
fenrir Exp $
* $Id: aac.c,v 1.
3
2003/0
9
/0
7 22:48:29
fenrir Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
...
...
@@ -29,8 +29,6 @@
#include
<vlc/vlc.h>
#include
<vlc/input.h>
#include
<ninput.h>
/*****************************************************************************
* Module descriptor
*****************************************************************************/
...
...
@@ -136,6 +134,7 @@ static int Open( vlc_object_t * p_this )
}
p_input
->
pf_demux
=
Demux
;
p_input
->
pf_demux_control
=
demux_vaControlDefault
;
p_input
->
p_demux_data
=
p_sys
=
malloc
(
sizeof
(
demux_sys_t
)
);
p_sys
->
i_time
=
0
;
...
...
modules/demux/asf/asf.c
View file @
091aff73
...
...
@@ -2,7 +2,7 @@
* asf.c : ASFv01 file input module for vlc
*****************************************************************************
* Copyright (C) 2002-2003 VideoLAN
* $Id: asf.c,v 1.3
6
2003/0
8/25 23:36:16
fenrir Exp $
* $Id: asf.c,v 1.3
7
2003/0
9/07 22:48:29
fenrir Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
...
...
@@ -28,7 +28,6 @@
#include
<vlc/vlc.h>
#include
<vlc/input.h>
#include
"ninput.h"
#include
"codecs.h"
/* BITMAPINFOHEADER, WAVEFORMATEX */
#include
"libasf.h"
...
...
@@ -117,7 +116,8 @@ static int Open( vlc_object_t * p_this )
}
/* Set p_input field */
p_input
->
pf_demux
=
Demux
;
p_input
->
pf_demux
=
Demux
;
p_input
->
pf_demux_control
=
demux_vaControlDefault
;
p_input
->
p_demux_data
=
p_sys
=
malloc
(
sizeof
(
demux_sys_t
)
);
memset
(
p_sys
,
0
,
sizeof
(
demux_sys_t
)
);
p_sys
->
i_time
=
-
1
;
...
...
modules/demux/asf/libasf.c
View file @
091aff73
...
...
@@ -2,7 +2,7 @@
* libasf.c :
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: libasf.c,v 1.1
7
2003/0
8/24 15:05
:2
7
fenrir Exp $
* $Id: libasf.c,v 1.1
8
2003/0
9/07 22:48
:2
9
fenrir Exp $
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
...
...
@@ -24,7 +24,6 @@
#include
<vlc/vlc.h>
#include
<vlc/input.h>
#include
"ninput.h"
#include
"codecs.h"
/* BITMAPINFOHEADER, WAVEFORMATEX */
#include
"libasf.h"
...
...
modules/demux/au.c
View file @
091aff73
...
...
@@ -2,7 +2,7 @@
* au.c : au file input module for vlc
*****************************************************************************
* Copyright (C) 2001-2003 VideoLAN
* $Id: au.c,v 1.
5
2003/0
8/22 20:32:27
fenrir Exp $
* $Id: au.c,v 1.
6
2003/0
9/07 22:48:29
fenrir Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
...
...
@@ -30,7 +30,6 @@
#include
<vlc/input.h>
#include
<codecs.h>
#include
<ninput.h>
/*****************************************************************************
* Module descriptor
...
...
@@ -320,6 +319,7 @@ static int Open( vlc_object_t * p_this )
(
mtime_t
)
p_sys
->
wf
.
nSamplesPerSec
;
p_input
->
pf_demux
=
DemuxPCM
;
p_input
->
pf_demux_control
=
demux_vaControlDefault
;
}
/* create one program */
...
...
modules/demux/avi/avi.c
View file @
091aff73
...
...
@@ -2,7 +2,7 @@
* avi.c : AVI file Stream input module for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: avi.c,v 1.
59
2003/0
8/23 11:46:06
fenrir Exp $
* $Id: avi.c,v 1.
60
2003/0
9/07 22:48:29
fenrir Exp $
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
...
...
@@ -27,7 +27,6 @@
#include
<vlc/vlc.h>
#include
<vlc/input.h>
#include
"ninput.h"
#include
"codecs.h"
#include
"../util/sub.h"
...
...
@@ -58,6 +57,7 @@ vlc_module_end();
/*****************************************************************************
* Local prototypes
*****************************************************************************/
static
int
Control
(
input_thread_t
*
,
int
,
va_list
);
static
int
Seek
(
input_thread_t
*
,
mtime_t
,
int
);
static
int
Demux_Seekable
(
input_thread_t
*
);
static
int
Demux_UnSeekable
(
input_thread_t
*
p_input
);
...
...
@@ -159,6 +159,7 @@ static int Open( vlc_object_t * p_this )
}
stream_Control
(
p_avi
->
s
,
STREAM_CAN_FASTSEEK
,
&
p_avi
->
b_seekable
);
p_input
->
pf_demux_control
=
Control
;
p_input
->
pf_demux
=
Demux_Seekable
;
/* For unseekable stream, automaticaly use Demux_UnSeekable */
if
(
!
p_avi
->
b_seekable
||
config_GetInt
(
p_input
,
"avi-interleaved"
)
)
...
...
@@ -460,7 +461,6 @@ static int Open( vlc_object_t * p_this )
{
msg_Warn
(
p_input
,
"broken or missing index, 'seek' will be axproximative or will have strange behavour"
);
}
/* fix some BeOS MediaKit generated file */
for
(
i
=
0
;
i
<
p_avi
->
i_streams
;
i
++
)
{
...
...
@@ -656,7 +656,7 @@ static int Demux_Seekable( input_thread_t *p_input )
msg_Warn
(
p_input
,
"no track selected, exiting..."
);
return
(
0
);
}
#if 0
if( p_input->stream.p_selected_program->i_synchro_state == SYNCHRO_REINIT )
{
mtime_t i_date;
...
...
@@ -678,7 +678,7 @@ static int Demux_Seekable( input_thread_t *p_input )
subtitle_Seek( p_avi->p_sub, p_avi->i_time );
}
}
#endif
/* wait for the good time */
...
...
@@ -1131,8 +1131,7 @@ static int Demux_UnSeekable( input_thread_t *p_input )
*****************************************************************************
* Returns -1 in case of error, 0 in case of EOF, 1 otherwise
*****************************************************************************/
static
int
Seek
(
input_thread_t
*
p_input
,
mtime_t
i_date
,
int
i_percent
)
static
int
Seek
(
input_thread_t
*
p_input
,
mtime_t
i_date
,
int
i_percent
)
{
demux_sys_t
*
p_avi
=
p_input
->
p_demux_data
;
...
...
@@ -1184,7 +1183,7 @@ static int Seek ( input_thread_t *p_input,
return
(
-
1
);
}
/* be sure that the index exit */
/* be sure that the index exi
s
t */
if
(
AVI_StreamChunkSet
(
p_input
,
i_stream
,
0
)
)
...
...
@@ -1253,6 +1252,93 @@ static int Seek ( input_thread_t *p_input,
}
}
/*****************************************************************************
* Control:
*****************************************************************************
*
*****************************************************************************/
static
int
Control
(
input_thread_t
*
p_input
,
int
i_query
,
va_list
args
)
{
demux_sys_t
*
p_sys
=
p_input
->
p_demux_data
;
double
f
,
*
pf
;
int64_t
i64
,
*
pi64
;
switch
(
i_query
)
{
case
DEMUX_GET_POSITION
:
pf
=
(
double
*
)
va_arg
(
args
,
double
*
);
if
(
p_sys
->
i_length
>
0
)
{
*
pf
=
(
double
)
p_sys
->
i_time
/
(
double
)(
p_sys
->
i_length
*
(
mtime_t
)
1000000
);
return
VLC_SUCCESS
;
}
else
if
(
stream_Size
(
p_sys
->
s
)
>
0
)
{
unsigned
int
i
;
int64_t
i_tmp
;
i64
=
0
;
/* search the more advanced selected es */
for
(
i
=
0
;
i
<
p_sys
->
i_streams
;
i
++
)
{
#define tk p_sys->pp_info[i]
if
(
tk
->
b_activated
&&
tk
->
i_idxposc
<
tk
->
i_idxnb
)
{
i_tmp
=
tk
->
p_index
[
tk
->
i_idxposc
].
i_pos
+
tk
->
p_index
[
tk
->
i_idxposc
].
i_length
+
8
;
if
(
i_tmp
>
i64
)
{
i64
=
i_tmp
;
}
}
#undef tk
}
*
pf
=
(
double
)
i64
/
(
double
)
stream_Size
(
p_sys
->
s
);
return
VLC_SUCCESS
;
}
else
{
*
pf
=
0
.
0
;
return
VLC_SUCCESS
;
}
case
DEMUX_SET_POSITION
:
if
(
p_sys
->
b_seekable
)
{
int
i_ret
;
f
=
(
double
)
va_arg
(
args
,
double
);
i64
=
(
mtime_t
)(
1000000
.
0
*
p_sys
->
i_length
*
f
);
i_ret
=
Seek
(
p_input
,
i64
,
(
int
)(
f
*
100
)
);
if
(
p_sys
->
p_sub
)
{
subtitle_Seek
(
p_sys
->
p_sub
,
p_sys
->
i_time
);
}
return
i_ret
;
}
else
{
return
demux_vaControlDefault
(
p_input
,
i_query
,
args
);
}
case
DEMUX_GET_TIME
:
pi64
=
(
int64_t
*
)
va_arg
(
args
,
int64_t
*
);
*
pi64
=
p_sys
->
i_time
;
return
VLC_SUCCESS
;
case
DEMUX_SET_TIME
:
msg_Err
(
p_input
,
"FIXME DEMUX_SET_TIME to be implemented"
);
return
VLC_EGENERIC
;
/* return demux_vaControlDefault( p_input, i_query, args ); */
case
DEMUX_GET_LENGTH
:
pi64
=
(
int64_t
*
)
va_arg
(
args
,
int64_t
*
);
*
pi64
=
p_sys
->
i_length
*
(
mtime_t
)
1000000
;
return
VLC_SUCCESS
;
default:
return
demux_vaControlDefault
(
p_input
,
i_query
,
args
);
}
return
VLC_EGENERIC
;
}
/*****************************************************************************
* Function to convert pts to chunk or byte
...
...
modules/demux/avi/libavi.c
View file @
091aff73
...
...
@@ -2,7 +2,7 @@
* libavi.c :
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: libavi.c,v 1.2
5
2003/0
8/30 02:03:44
fenrir Exp $
* $Id: libavi.c,v 1.2
6
2003/0
9/07 22:48:29
fenrir Exp $
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
...
...
@@ -24,7 +24,6 @@
#include
<vlc/vlc.h>
#include
<vlc/input.h>
#include
"ninput.h"
#include
"codecs.h"
/* BITMAPINFOHEADER */
#include
"libavi.h"
...
...
modules/demux/demuxdump.c
View file @
091aff73
...
...
@@ -2,7 +2,7 @@
* demuxdump.c : Pseudo demux module for vlc (dump raw stream)
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: demuxdump.c,v 1.
9
2003/0
5/15 22:27:37 massiot
Exp $
* $Id: demuxdump.c,v 1.
10
2003/0
9/07 22:48:29 fenrir
Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
...
...
@@ -84,6 +84,7 @@ static int Activate( vlc_object_t * p_this )
/* Set the demux function */
p_input
->
pf_demux
=
Demux
;
p_input
->
pf_demux_control
=
demux_vaControlDefault
;
/* Initialize access plug-in structures. */
if
(
p_input
->
i_mtu
==
0
)
...
...
modules/demux/flac.c
View file @
091aff73
...
...
@@ -2,7 +2,7 @@
* flac.c : FLAC demuc module for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: flac.c,v 1.
4
2003/0
8/17 13:56:26 gbazin
Exp $
* $Id: flac.c,v 1.
5
2003/0
9/07 22:48:29 fenrir
Exp $
*
* Authors: Sigmund Augdal <sigmunau@idi.ntnu.no>
*
...
...
@@ -72,6 +72,7 @@ static int Init( vlc_object_t * p_this )
}
p_input
->
pf_demux
=
Demux
;
p_input
->
pf_demux_control
=
demux_vaControlDefault
;
p_input
->
pf_rewind
=
NULL
;
/* Have a peep at the show. */
...
...
modules/demux/mkv.cpp
View file @
091aff73
...
...
@@ -2,7 +2,7 @@
* mkv.cpp : matroska demuxer
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: mkv.cpp,v 1.2
5
2003/0
8/26 19:43:51 hartman
Exp $
* $Id: mkv.cpp,v 1.2
6
2003/0
9/07 22:48:29 fenrir
Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
...
...
@@ -36,7 +36,6 @@
#include
<codecs.h>
/* BITMAPINFOHEADER, WAVEFORMATEX */
#include
"iso_lang.h"
#include
"ninput.h"
#include
<iostream>
#include
<cassert>
...
...
@@ -300,6 +299,7 @@ static int Open( vlc_object_t * p_this )
/* Set the demux function */
p_input
->
pf_demux
=
Demux
;
p_input
->
pf_demux_control
=
demux_vaControlDefault
;
/* peek the begining */
if
(
input_Peek
(
p_input
,
&
p_peek
,
4
)
<
4
)
...
...
modules/demux/mp4/libmp4.c
View file @
091aff73
...
...
@@ -2,7 +2,7 @@
* libmp4.c : LibMP4 library for mp4 module for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: libmp4.c,v 1.3
1
2003/0
8/17 23:02:52
fenrir Exp $
* $Id: libmp4.c,v 1.3
2
2003/0
9/07 22:48:29
fenrir Exp $
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
...
...
@@ -519,7 +519,7 @@ int MP4_ReadBoxCommon( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
/*****************************************************************************
*
MP4_
MP4_NextBox : Go to the next box
* MP4_NextBox : Go to the next box
*****************************************************************************
* if p_box == NULL, go to the next box in witch we are( at the begining ).
*****************************************************************************/
...
...
@@ -566,7 +566,7 @@ int MP4_GotoBox( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
* after called one of theses functions, file position is unknown
* you need to call MP4_GotoBox to go where you want
*****************************************************************************/
int
MP4_ReadBoxContainerRaw
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_container
)
static
int
MP4_ReadBoxContainerRaw
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_container
)
{
MP4_Box_t
*
p_box
;
...
...
@@ -607,7 +607,7 @@ int MP4_ReadBoxContainerRaw( MP4_Stream_t *p_stream, MP4_Box_t *p_container )
}
int
MP4_ReadBoxContainer
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_container
)
static
int
MP4_ReadBoxContainer
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_container
)
{
if
(
p_container
->
i_size
<=
(
size_t
)
MP4_BOX_HEADERSIZE
(
p_container
)
+
8
)
{
...
...
@@ -621,12 +621,12 @@ int MP4_ReadBoxContainer( MP4_Stream_t *p_stream, MP4_Box_t *p_container )
return
(
MP4_ReadBoxContainerRaw
(
p_stream
,
p_container
)
);
}
void
MP4_FreeBox_Common
(
input_thread_t
*
p_input
,
MP4_Box_t
*
p_box
)
static
void
MP4_FreeBox_Common
(
MP4_Box_t
*
p_box
)
{
/* Up to now do nothing */
}
int
MP4_ReadBoxSkip
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBoxSkip
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
/* XXX sometime moov is hiden in a free box */
if
(
p_box
->
p_father
&&
p_box
->
p_father
->
i_type
==
VLC_FOURCC
(
'r'
,
'o'
,
'o'
,
't'
)
&&
...
...
@@ -662,7 +662,7 @@ int MP4_ReadBoxSkip( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
return
(
1
);
}
int
MP4_ReadBox_ftyp
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_ftyp
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
MP4_READBOX_ENTER
(
MP4_Box_data_ftyp_t
);
...
...
@@ -688,13 +688,13 @@ int MP4_ReadBox_ftyp( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
MP4_READBOX_EXIT
(
1
);
}
void
MP4_FreeBox_ftyp
(
input_thread_t
*
p_input
,
MP4_Box_t
*
p_box
)
static
void
MP4_FreeBox_ftyp
(
MP4_Box_t
*
p_box
)
{
FREE
(
p_box
->
data
.
p_ftyp
->
i_compatible_brands
);
}
int
MP4_ReadBox_mvhd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_mvhd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
unsigned
int
i
;
#ifdef MP4_VERBOSE
...
...
@@ -766,7 +766,7 @@ int MP4_ReadBox_mvhd( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
MP4_READBOX_EXIT
(
1
);
}
int
MP4_ReadBox_tkhd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_tkhd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
unsigned
int
i
;
#ifdef MP4_VERBOSE
...
...
@@ -830,7 +830,7 @@ int MP4_ReadBox_tkhd( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
}
int
MP4_ReadBox_mdhd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_mdhd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
unsigned
int
i
;
uint16_t
i_language
;
...
...
@@ -883,7 +883,7 @@ int MP4_ReadBox_mdhd( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
}
int
MP4_ReadBox_hdlr
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_hdlr
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
MP4_READBOX_ENTER
(
MP4_Box_data_hdlr_t
);
...
...
@@ -904,12 +904,12 @@ int MP4_ReadBox_hdlr( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
MP4_READBOX_EXIT
(
1
);
}
void
MP4_FreeBox_hdlr
(
input_thread_t
*
p_input
,
MP4_Box_t
*
p_box
)
static
void
MP4_FreeBox_hdlr
(
MP4_Box_t
*
p_box
)
{
FREE
(
p_box
->
data
.
p_hdlr
->
psz_name
);
}
int
MP4_ReadBox_vmhd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_vmhd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
unsigned
int
i
;
...
...
@@ -933,7 +933,7 @@ int MP4_ReadBox_vmhd( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
MP4_READBOX_EXIT
(
1
);
}
int
MP4_ReadBox_smhd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_smhd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
MP4_READBOX_ENTER
(
MP4_Box_data_smhd_t
);
...
...
@@ -953,7 +953,7 @@ int MP4_ReadBox_smhd( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
}
int
MP4_ReadBox_hmhd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_hmhd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
MP4_READBOX_ENTER
(
MP4_Box_data_hmhd_t
);
...
...
@@ -977,7 +977,7 @@ int MP4_ReadBox_hmhd( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
MP4_READBOX_EXIT
(
1
);
}
int
MP4_ReadBox_url
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_url
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
MP4_READBOX_ENTER
(
MP4_Box_data_url_t
);
...
...
@@ -993,12 +993,12 @@ int MP4_ReadBox_url( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
}
void
MP4_FreeBox_url
(
input_thread_t
*
p_input
,
MP4_Box_t
*
p_box
)
static
void
MP4_FreeBox_url
(
MP4_Box_t
*
p_box
)
{
FREE
(
p_box
->
data
.
p_url
->
psz_location
)
}
int
MP4_ReadBox_urn
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_urn
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
MP4_READBOX_ENTER
(
MP4_Box_data_urn_t
);
...
...
@@ -1014,14 +1014,14 @@ int MP4_ReadBox_urn( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
#endif
MP4_READBOX_EXIT
(
1
);
}
void
MP4_FreeBox_urn
(
input_thread_t
*
p_input
,
MP4_Box_t
*
p_box
)
static
void
MP4_FreeBox_urn
(
MP4_Box_t
*
p_box
)
{
FREE
(
p_box
->
data
.
p_urn
->
psz_name
);
FREE
(
p_box
->
data
.
p_urn
->
psz_location
);
}
int
MP4_ReadBox_dref
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_dref
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
MP4_READBOX_ENTER
(
MP4_Box_data_dref_t
);
...
...
@@ -1041,7 +1041,7 @@ int MP4_ReadBox_dref( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
}
int
MP4_ReadBox_stts
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_stts
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
unsigned
int
i
;
MP4_READBOX_ENTER
(
MP4_Box_data_stts_t
);
...
...
@@ -1068,13 +1068,13 @@ int MP4_ReadBox_stts( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
MP4_READBOX_EXIT
(
1
);
}
void
MP4_FreeBox_stts
(
input_thread_t
*
p_input
,
MP4_Box_t
*
p_box
)
static
void
MP4_FreeBox_stts
(
MP4_Box_t
*
p_box
)
{
FREE
(
p_box
->
data
.
p_stts
->
i_sample_count
);
FREE
(
p_box
->
data
.
p_stts
->
i_sample_delta
);
}
int
MP4_ReadBox_ctts
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_ctts
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
unsigned
int
i
;
MP4_READBOX_ENTER
(
MP4_Box_data_ctts_t
);
...
...
@@ -1102,7 +1102,7 @@ int MP4_ReadBox_ctts( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
MP4_READBOX_EXIT
(
1
);
}
void
MP4_FreeBox_ctts
(
input_thread_t
*
p_input
,
MP4_Box_t
*
p_box
)
static
void
MP4_FreeBox_ctts
(
MP4_Box_t
*
p_box
)
{
FREE
(
p_box
->
data
.
p_ctts
->
i_sample_count
);
FREE
(
p_box
->
data
.
p_ctts
->
i_sample_offset
);
...
...
@@ -1123,7 +1123,7 @@ static int MP4_ReadLengthDescriptor( uint8_t **pp_peek, int64_t *i_read )
return
(
i_len
);
}
int
MP4_ReadBox_esds
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_esds
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
#define es_descriptor p_box->data.p_esds->es_descriptor
unsigned
int
i_len
;
...
...
@@ -1209,7 +1209,7 @@ int MP4_ReadBox_esds( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
#undef es_descriptor
}
void
MP4_FreeBox_esds
(
input_thread_t
*
p_input
,
MP4_Box_t
*
p_box
)
static
void
MP4_FreeBox_esds
(
MP4_Box_t
*
p_box
)
{
FREE
(
p_box
->
data
.
p_esds
->
es_descriptor
.
psz_URL
);
if
(
p_box
->
data
.
p_esds
->
es_descriptor
.
p_decConfigDescr
)
...
...
@@ -1219,7 +1219,7 @@ void MP4_FreeBox_esds( input_thread_t *p_input, MP4_Box_t *p_box )
FREE
(
p_box
->
data
.
p_esds
->
es_descriptor
.
p_decConfigDescr
);
}
int
MP4_ReadBox_sample_soun
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_sample_soun
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
unsigned
int
i
;
...
...
@@ -1301,7 +1301,7 @@ int MP4_ReadBox_sample_soun( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
}
int
MP4_ReadBox_sample_vide
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_sample_vide
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
unsigned
int
i
;
...
...
@@ -1367,7 +1367,7 @@ int MP4_ReadBox_sample_vide( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
}
int
MP4_ReadBox_stsd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_stsd
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
MP4_READBOX_ENTER
(
MP4_Box_data_stsd_t
);
...
...
@@ -1389,7 +1389,7 @@ int MP4_ReadBox_stsd( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
}
int
MP4_ReadBox_stsz
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_stsz
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
unsigned
int
i
;
...
...
@@ -1421,12 +1421,12 @@ int MP4_ReadBox_stsz( MP4_Stream_t *p_stream, MP4_Box_t *p_box )
MP4_READBOX_EXIT
(
1
);
}
void
MP4_FreeBox_stsz
(
input_thread_t
*
p_input
,
MP4_Box_t
*
p_box
)
static
void
MP4_FreeBox_stsz
(
MP4_Box_t
*
p_box
)
{
FREE
(
p_box
->
data
.
p_stsz
->
i_entry_size
);
}
int
MP4_ReadBox_stsc
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
static
int
MP4_ReadBox_stsc
(
MP4_Stream_t
*
p_stream
,
MP4_Box_t
*
p_box
)
{
unsigned
int
i
;
...
...
@@ -1458,14 +1458,14 @@ int MP4_ReadBox_stsc( MP4_Stream_t *p_stream, MP4_Box_t *p_box )