Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-2-2
Commits
561b5a7a
Commit
561b5a7a
authored
Aug 24, 2013
by
Rafaël Carré
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mp4 mux: merge box_fix call into box_gather
parent
24e89b7b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
70 deletions
+5
-70
modules/mux/mp4.c
modules/mux/mp4.c
+5
-70
No files found.
modules/mux/mp4.c
View file @
561b5a7a
...
...
@@ -689,8 +689,6 @@ static bo_t *GetESDS(mp4_stream_t *p_stream)
bo_add_descr
(
esds
,
0x06
,
1
);
bo_add_8
(
esds
,
0x02
);
// sl_predefined
box_fix
(
esds
);
return
esds
;
}
...
...
@@ -703,29 +701,23 @@ static bo_t *GetWaveTag(mp4_stream_t *p_stream)
box
=
box_new
(
"frma"
);
bo_add_fourcc
(
box
,
"mp4a"
);
box_fix
(
box
);
box_gather
(
wave
,
box
);
box
=
box_new
(
"mp4a"
);
bo_add_32be
(
box
,
0
);
box_fix
(
box
);
box_gather
(
wave
,
box
);
box
=
GetESDS
(
p_stream
);
box_fix
(
box
);
box_gather
(
wave
,
box
);
box
=
box_new
(
"srcq"
);
bo_add_32be
(
box
,
0x40
);
box_fix
(
box
);
box_gather
(
wave
,
box
);
/* wazza ? */
bo_add_32be
(
wave
,
8
);
/* new empty box */
bo_add_32be
(
wave
,
0
);
/* box label */
box_fix
(
wave
);
return
wave
;
}
...
...
@@ -744,8 +736,6 @@ static bo_t *GetDamrTag(mp4_stream_t *p_stream)
bo_add_16be
(
damr
,
0x83ff
);
/* Mode set (all modes for AMR_WB) */
bo_add_16be
(
damr
,
0x1
);
/* Mode change period (no restriction) */
box_fix
(
damr
);
return
damr
;
}
...
...
@@ -759,8 +749,6 @@ static bo_t *GetD263Tag(void)
bo_add_16be
(
d263
,
0xa
);
bo_add_8
(
d263
,
0
);
box_fix
(
d263
);
return
d263
;
}
...
...
@@ -828,7 +816,6 @@ static bo_t *GetAvcCTag(mp4_stream_t *p_stream)
bo_add_16be
(
avcC
,
i_pps_size
);
bo_add_mem
(
avcC
,
i_pps_size
,
p_pps
);
}
box_fix
(
avcC
);
return
avcC
;
}
...
...
@@ -859,7 +846,6 @@ static bo_t *GetSVQ3Tag(mp4_stream_t *p_stream)
bo_add_32be
(
smi
,
0x5
);
bo_add_32be
(
smi
,
0xe2c0211d
);
bo_add_8
(
smi
,
0xc0
);
box_fix
(
smi
);
return
smi
;
}
...
...
@@ -881,7 +867,6 @@ static bo_t *GetUdtaTag(sout_mux_t *p_mux)
bo_add_16be
(
box
,
0
);
bo_add_mem
(
box
,
sizeof
(
"QuickTime 6.0 or greater"
)
-
1
,
(
uint8_t
*
)
"QuickTime 6.0 or greater"
);
box_fix
(
box
);
box_gather
(
udta
,
box
);
break
;
}
...
...
@@ -895,7 +880,6 @@ static bo_t *GetUdtaTag(sout_mux_t *p_mux)
bo_add_16be
(
box
,
0
);
bo_add_mem
(
box
,
sizeof
(
PACKAGE_STRING
" stream output"
)
-
1
,
(
uint8_t
*
)
PACKAGE_STRING
" stream output"
);
box_fix
(
box
);
box_gather
(
udta
,
box
);
}
#if 0
...
...
@@ -911,7 +895,6 @@ static bo_t *GetUdtaTag(sout_mux_t *p_mux)
bo_add_16be(box, 0); \
bo_add_mem(box, strlen(vlc_meta_Get(p_meta, vlc_meta_##type)), \
(uint8_t*)(vlc_meta_Get(p_meta, vlc_meta_##type))); \
box_fix(box); \
box_gather(udta, box); \
} }
...
...
@@ -925,7 +908,6 @@ static bo_t *GetUdtaTag(sout_mux_t *p_mux)
#undef ADD_META_BOX
}
#endif
box_fix
(
udta
);
return
udta
;
}
...
...
@@ -987,12 +969,9 @@ static bo_t *GetSounBox(sout_mux_t *p_mux, mp4_stream_t *p_stream)
box
=
GetDamrTag
(
p_stream
);
else
box
=
GetESDS
(
p_stream
);
box_fix
(
box
);
box_gather
(
soun
,
box
);
}
box_fix
(
soun
);
return
soun
;
}
...
...
@@ -1047,30 +1026,15 @@ static bo_t *GetVideBox(mp4_stream_t *p_stream)
{
case
VLC_CODEC_MP4V
:
case
VLC_CODEC_MPGV
:
{
bo_t
*
esds
=
GetESDS
(
p_stream
);
box_fix
(
esds
);
box_gather
(
vide
,
esds
);
}
box_gather
(
vide
,
GetESDS
(
p_stream
));
break
;
case
VLC_CODEC_H263
:
{
bo_t
*
d263
=
GetD263Tag
();
box_fix
(
d263
);
box_gather
(
vide
,
d263
);
}
box_gather
(
vide
,
GetD263Tag
());
break
;
case
VLC_CODEC_SVQ3
:
{
bo_t
*
esds
=
GetSVQ3Tag
(
p_stream
);
box_fix
(
esds
);
box_gather
(
vide
,
esds
);
}
box_gather
(
vide
,
GetSVQ3Tag
(
p_stream
));
break
;
case
VLC_CODEC_H264
:
...
...
@@ -1078,8 +1042,6 @@ static bo_t *GetVideBox(mp4_stream_t *p_stream)
break
;
}
box_fix
(
vide
);
return
vide
;
}
...
...
@@ -1108,8 +1070,6 @@ static bo_t *GetTextBox(void)
bo_add_8
(
text
,
9
);
bo_add_mem
(
text
,
9
,
(
uint8_t
*
)
"Helvetica"
);
box_fix
(
text
);
return
text
;
}
...
...
@@ -1129,7 +1089,6 @@ static bo_t *GetStblBox(sout_mux_t *p_mux, mp4_stream_t *p_stream)
box_gather
(
stsd
,
GetVideBox
(
p_stream
));
else
if
(
p_stream
->
fmt
.
i_cat
==
SPU_ES
)
box_gather
(
stsd
,
GetTextBox
());
box_fix
(
stsd
);
/* chunk offset table */
if
(
p_sys
->
i_pos
>=
(((
uint64_t
)
0x1
)
<<
32
))
{
...
...
@@ -1178,11 +1137,9 @@ static bo_t *GetStblBox(sout_mux_t *p_mux, mp4_stream_t *p_stream)
/* Fix stco entry count */
bo_fix_32be
(
stco
,
12
,
i_chunk
);
msg_Dbg
(
p_mux
,
"created %d chunks (stco)"
,
i_chunk
);
box_fix
(
stco
);
/* Fix stsc entry count */
bo_fix_32be
(
stsc
,
12
,
i_stsc_entries
);
box_fix
(
stsc
);
/* add stts */
stts
=
box_full_new
(
"stts"
,
0
,
0
);
...
...
@@ -1221,7 +1178,6 @@ static bo_t *GetStblBox(sout_mux_t *p_mux, mp4_stream_t *p_stream)
bo_add_32be
(
stts
,
i_delta
);
// sample-delta
}
bo_fix_32be
(
stts
,
12
,
i_index
);
box_fix
(
stts
);
/* FIXME add ctts ?? FIXME */
...
...
@@ -1230,7 +1186,6 @@ static bo_t *GetStblBox(sout_mux_t *p_mux, mp4_stream_t *p_stream)
bo_add_32be
(
stsz
,
p_stream
->
i_entry_count
);
// sample-count
for
(
unsigned
i
=
0
;
i
<
p_stream
->
i_entry_count
;
i
++
)
bo_add_32be
(
stsz
,
p_stream
->
entry
[
i
].
i_size
);
// sample-size
box_fix
(
stsz
);
/* create stss table */
stss
=
NULL
;
...
...
@@ -1245,10 +1200,8 @@ static bo_t *GetStblBox(sout_mux_t *p_mux, mp4_stream_t *p_stream)
i_index
++
;
}
if
(
stss
)
{
if
(
stss
)
bo_fix_32be
(
stss
,
12
,
i_index
);
box_fix
(
stss
);
}
/* Now gather all boxes into stbl */
box_gather
(
stbl
,
stsd
);
...
...
@@ -1260,9 +1213,6 @@ static bo_t *GetStblBox(sout_mux_t *p_mux, mp4_stream_t *p_stream)
p_stream
->
i_stco_pos
=
stbl
->
len
+
16
;
box_gather
(
stbl
,
stco
);
/* finish stbl */
box_fix
(
stbl
);
return
stbl
;
}
...
...
@@ -1320,7 +1270,6 @@ static bo_t *GetMoovBox(sout_mux_t *p_mux)
/* Next available track id */
bo_add_32be
(
mvhd
,
p_sys
->
i_nb_streams
+
1
);
// next-track-id
box_fix
(
mvhd
);
box_gather
(
moov
,
mvhd
);
for
(
int
i_trak
=
0
;
i_trak
<
p_sys
->
i_nb_streams
;
i_trak
++
)
{
...
...
@@ -1409,7 +1358,6 @@ static bo_t *GetMoovBox(sout_mux_t *p_mux)
bo_add_32be
(
tkhd
,
i_height
<<
16
);
// height(presentation)
}
box_fix
(
tkhd
);
box_gather
(
trak
,
tkhd
);
/* *** add /moov/trak/edts and elst */
...
...
@@ -1444,9 +1392,7 @@ static bo_t *GetMoovBox(sout_mux_t *p_mux)
bo_add_16be
(
elst
,
1
);
bo_add_16be
(
elst
,
0
);
box_fix
(
elst
);
box_gather
(
edts
,
elst
);
box_fix
(
edts
);
box_gather
(
trak
,
edts
);
/* *** add /moov/trak/mdia *** */
...
...
@@ -1491,7 +1437,6 @@ static bo_t *GetMoovBox(sout_mux_t *p_mux)
}
else
bo_add_16be
(
mdhd
,
0
);
// language
bo_add_16be
(
mdhd
,
0
);
// predefined
box_fix
(
mdhd
);
box_gather
(
mdia
,
mdhd
);
/* handler reference */
...
...
@@ -1526,7 +1471,6 @@ static bo_t *GetMoovBox(sout_mux_t *p_mux)
if
(
!
p_sys
->
b_mov
)
bo_add_8
(
hdlr
,
0
);
/* asciiz string for .mp4, yes that's BRAIN DAMAGED F**K MP4 */
box_fix
(
hdlr
);
box_gather
(
mdia
,
hdlr
);
/* minf*/
...
...
@@ -1539,7 +1483,6 @@ static bo_t *GetMoovBox(sout_mux_t *p_mux)
smhd
=
box_full_new
(
"smhd"
,
0
,
0
);
bo_add_16be
(
smhd
,
0
);
// balance
bo_add_16be
(
smhd
,
0
);
// reserved
box_fix
(
smhd
);
box_gather
(
minf
,
smhd
);
}
else
if
(
p_stream
->
fmt
.
i_cat
==
VIDEO_ES
)
{
...
...
@@ -1549,7 +1492,6 @@ static bo_t *GetMoovBox(sout_mux_t *p_mux)
bo_add_16be
(
vmhd
,
0
);
// graphicsmode
for
(
int
i
=
0
;
i
<
3
;
i
++
)
bo_add_16be
(
vmhd
,
0
);
// opcolor
box_fix
(
vmhd
);
box_gather
(
minf
,
vmhd
);
}
else
if
(
p_stream
->
fmt
.
i_cat
==
SPU_ES
)
{
...
...
@@ -1561,10 +1503,8 @@ static bo_t *GetMoovBox(sout_mux_t *p_mux)
bo_add_16be
(
gmin
,
0
);
// opcolor
bo_add_16be
(
gmin
,
0
);
// balance
bo_add_16be
(
gmin
,
0
);
// reserved
box_fix
(
gmin
);
box_gather
(
gmhd
,
gmin
);
box_fix
(
gmhd
);
box_gather
(
minf
,
gmhd
);
}
...
...
@@ -1574,13 +1514,10 @@ static bo_t *GetMoovBox(sout_mux_t *p_mux)
bo_t
*
dref
=
box_full_new
(
"dref"
,
0
,
0
);
bo_add_32be
(
dref
,
1
);
bo_t
*
url
=
box_full_new
(
"url "
,
0
,
0x01
);
box_fix
(
url
);
box_gather
(
dref
,
url
);
box_fix
(
dref
);
box_gather
(
dinf
,
dref
);
/* append dinf to mdia */
box_fix
(
dinf
);
box_gather
(
minf
,
dinf
);
/* add stbl */
...
...
@@ -1591,17 +1528,14 @@ static bo_t *GetMoovBox(sout_mux_t *p_mux)
box_gather
(
minf
,
stbl
);
/* append minf to mdia */
box_fix
(
minf
);
p_stream
->
i_stco_pos
+=
mdia
->
len
;
box_gather
(
mdia
,
minf
);
/* append mdia to trak */
box_fix
(
mdia
);
p_stream
->
i_stco_pos
+=
trak
->
len
;
box_gather
(
trak
,
mdia
);
/* append trak to moov */
box_fix
(
trak
);
p_stream
->
i_stco_pos
+=
moov
->
len
;
box_gather
(
moov
,
trak
);
}
...
...
@@ -1719,6 +1653,7 @@ static void box_fix(bo_t *box)
static
void
box_gather
(
bo_t
*
box
,
bo_t
*
box2
)
{
box_fix
(
box2
);
box
->
b
=
block_Realloc
(
box
->
b
,
0
,
box
->
len
+
box2
->
len
);
memcpy
(
&
box
->
b
->
p_buffer
[
box
->
len
],
box2
->
b
->
p_buffer
,
box2
->
len
);
box
->
len
+=
box2
->
len
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment