Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
456c39f5
Commit
456c39f5
authored
Mar 31, 2007
by
Derk-Jan Hartman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* backport [18561] [18562]
small isolated feature. Enables H264 playback in apple's special RTP style
parent
7d3780cb
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
4 deletions
+26
-4
modules/demux/live555.cpp
modules/demux/live555.cpp
+26
-4
No files found.
modules/demux/live555.cpp
View file @
456c39f5
...
...
@@ -1315,10 +1315,32 @@ static void StreamRead( void *p_private, unsigned int i_size,
tk
->
fmt
.
video
.
i_width
=
(
sdAtom
[
28
]
<<
8
)
|
sdAtom
[
29
];
tk
->
fmt
.
video
.
i_height
=
(
sdAtom
[
30
]
<<
8
)
|
sdAtom
[
31
];
tk
->
fmt
.
i_extra
=
qtState
.
sdAtomSize
-
16
;
tk
->
fmt
.
p_extra
=
malloc
(
tk
->
fmt
.
i_extra
);
memcpy
(
tk
->
fmt
.
p_extra
,
&
sdAtom
[
12
],
tk
->
fmt
.
i_extra
);
if
(
tk
->
fmt
.
i_codec
==
VLC_FOURCC
(
'a'
,
'v'
,
'c'
,
'1'
)
)
{
uint8_t
*
pos
=
(
uint8_t
*
)
qtRTPSource
->
qtState
.
sdAtom
+
86
;
uint8_t
*
endpos
=
(
uint8_t
*
)
qtRTPSource
->
qtState
.
sdAtom
+
qtRTPSource
->
qtState
.
sdAtomSize
;
while
(
pos
+
8
<
endpos
)
{
unsigned
atomLength
=
pos
[
0
]
<<
24
|
pos
[
1
]
<<
16
|
pos
[
2
]
<<
8
|
pos
[
3
];
if
(
atomLength
==
0
||
atomLength
>
endpos
-
pos
)
break
;
if
(
memcmp
(
pos
+
4
,
"avcC"
,
4
)
==
0
&&
atomLength
>
8
&&
atomLength
<=
INT_MAX
)
{
tk
->
fmt
.
i_extra
=
atomLength
-
8
;
tk
->
fmt
.
p_extra
=
malloc
(
tk
->
fmt
.
i_extra
);
memcpy
(
tk
->
fmt
.
p_extra
,
pos
+
8
,
atomLength
-
8
);
break
;
}
pos
+=
atomLength
;
}
}
else
{
tk
->
fmt
.
i_extra
=
qtState
.
sdAtomSize
-
16
;
tk
->
fmt
.
p_extra
=
malloc
(
tk
->
fmt
.
i_extra
);
memcpy
(
tk
->
fmt
.
p_extra
,
&
sdAtom
[
12
],
tk
->
fmt
.
i_extra
);
}
tk
->
p_es
=
es_out_Add
(
p_demux
->
out
,
&
tk
->
fmt
);
}
...
...
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