Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
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-gpu
Commits
1d8f5517
Commit
1d8f5517
authored
Sep 09, 2008
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added blu-ray proprietary codec ids to TS demuxer.
parent
9f6620a0
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
57 additions
and
0 deletions
+57
-0
modules/demux/ts.c
modules/demux/ts.c
+57
-0
No files found.
modules/demux/ts.c
View file @
1d8f5517
...
...
@@ -3055,6 +3055,7 @@ static void PMTCallBack( demux_t *p_demux, dvbpsi_pmt_t *p_pmt )
ts_pid_t
**
pp_clean
=
NULL
;
int
i_clean
=
0
,
i
;
bool
b_hdmv
=
false
;
msg_Dbg
(
p_demux
,
"PMTCallBack called"
);
...
...
@@ -3141,6 +3142,26 @@ static void PMTCallBack( demux_t *p_demux, dvbpsi_pmt_t *p_pmt )
|
p_dr
->
p_data
[
1
];
msg_Dbg
(
p_demux
,
" * descriptor : CA (0x9) SysID 0x%x"
,
i_sysid
);
}
else
if
(
p_dr
->
i_tag
==
0x05
)
{
if
(
p_dr
->
i_tag
==
0x05
)
{
/* Registration Descriptor */
if
(
p_dr
->
i_length
!=
4
)
{
msg_Warn
(
p_demux
,
"invalid Registration Descriptor"
);
}
else
{
msg_Dbg
(
p_demux
,
" * descriptor : registration %4.4s"
,
p_dr
->
p_data
);
if
(
!
memcmp
(
p_dr
->
p_data
,
"HDMV"
,
4
)
)
{
/* Blu-Ray */
b_hdmv
=
true
;
}
}
}
}
else
{
msg_Dbg
(
p_demux
,
" * descriptor : unknown (0x%x)"
,
p_dr
->
i_tag
);
...
...
@@ -3354,6 +3375,12 @@ static void PMTCallBack( demux_t *p_demux, dvbpsi_pmt_t *p_pmt )
pid
->
es
->
fmt
.
i_cat
=
AUDIO_ES
;
pid
->
es
->
fmt
.
i_codec
=
VLC_FOURCC
(
'a'
,
'5'
,
'2'
,
' '
);
}
else
if
(
p_dr
->
i_tag
==
0x81
)
{
/* ATSC with stream_type 0x06 */
pid
->
es
->
fmt
.
i_cat
=
AUDIO_ES
;
pid
->
es
->
fmt
.
i_codec
=
VLC_FOURCC
(
'a'
,
'5'
,
'2'
,
' '
);
}
else
if
(
p_dr
->
i_tag
==
0x7a
)
{
/* DVB with stream_type 0x06 (ETS EN 300 468) */
...
...
@@ -3692,6 +3719,36 @@ static void PMTCallBack( demux_t *p_demux, dvbpsi_pmt_t *p_pmt )
* Yes it's ugly but it's the only way to have DIV3 working */
pid
->
es
->
fmt
.
b_packetized
=
true
;
}
else
if
(
b_hdmv
)
{
/* Blu-Ray mapping */
switch
(
p_es
->
i_type
)
{
case
0x80
:
pid
->
es
->
fmt
.
i_cat
=
AUDIO_ES
;
pid
->
es
->
fmt
.
i_codec
=
VLC_FOURCC
(
'l'
,
'p'
,
'c'
,
'm'
);
break
;
case
0x82
:
case
0x85
:
/* DTS-HD High resolution audio */
case
0x86
:
/* DTS-HD Master audio */
case
0xA2
:
/* Secondary DTS audio */
pid
->
es
->
fmt
.
i_cat
=
AUDIO_ES
;
pid
->
es
->
fmt
.
i_codec
=
VLC_FOURCC
(
'd'
,
't'
,
's'
,
' '
);
break
;
case
0x83
:
/* TrueHD AC3 */
case
0x84
:
/* E-AC3 */
case
0x87
:
/* E-AC3 */
case
0xA1
:
/* Secondary E-AC3 */
pid
->
es
->
fmt
.
i_cat
=
AUDIO_ES
;
pid
->
es
->
fmt
.
i_codec
=
VLC_FOURCC
(
'e'
,
'a'
,
'c'
,
'3'
);
break
;
case
0x90
:
/* Presentation graphics */
case
0x91
:
/* Interactive graphics */
case
0x92
:
/* Subtitle */
default:
break
;
}
}
if
(
pid
->
es
->
fmt
.
i_cat
==
AUDIO_ES
||
(
pid
->
es
->
fmt
.
i_cat
==
SPU_ES
&&
...
...
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