Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
Steve Lhomme
VLC
Commits
b893a280
Commit
b893a280
authored
Mar 07, 2017
by
François Cartegnie
🤞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
demux: ps: use defines for stream id
parent
0c3f88a4
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
10 deletions
+16
-10
modules/demux/mpeg/ps.c
modules/demux/mpeg/ps.c
+8
-8
modules/demux/mpeg/ps.h
modules/demux/mpeg/ps.h
+8
-2
No files found.
modules/demux/mpeg/ps.c
View file @
b893a280
...
@@ -330,11 +330,11 @@ static int Demux( demux_t *p_demux )
...
@@ -330,11 +330,11 @@ static int Demux( demux_t *p_demux )
switch
(
i_code
)
switch
(
i_code
)
{
{
case
0x1
b9
:
case
PS_STREAM_ID_END_STREAM
|
0x1
00
:
block_Release
(
p_pkt
);
block_Release
(
p_pkt
);
break
;
break
;
case
0x1
ba
:
case
PS_STREAM_ID_PACK_HEADER
|
0x1
00
:
if
(
!
ps_pkt_parse_pack
(
p_pkt
,
&
p_sys
->
i_scr
,
&
i_mux_rate
)
)
if
(
!
ps_pkt_parse_pack
(
p_pkt
,
&
p_sys
->
i_scr
,
&
i_mux_rate
)
)
{
{
p_sys
->
i_last_scr
=
p_sys
->
i_scr
;
p_sys
->
i_last_scr
=
p_sys
->
i_scr
;
...
@@ -346,7 +346,7 @@ static int Demux( demux_t *p_demux )
...
@@ -346,7 +346,7 @@ static int Demux( demux_t *p_demux )
block_Release
(
p_pkt
);
block_Release
(
p_pkt
);
break
;
break
;
case
0x1
bb
:
case
PS_STREAM_ID_SYSTEM_HEADER
|
0x1
00
:
if
(
!
ps_pkt_parse_system
(
p_pkt
,
&
p_sys
->
psm
,
p_sys
->
tk
)
)
if
(
!
ps_pkt_parse_system
(
p_pkt
,
&
p_sys
->
psm
,
p_sys
->
tk
)
)
{
{
int
i
;
int
i
;
...
@@ -363,7 +363,7 @@ static int Demux( demux_t *p_demux )
...
@@ -363,7 +363,7 @@ static int Demux( demux_t *p_demux )
block_Release
(
p_pkt
);
block_Release
(
p_pkt
);
break
;
break
;
case
0x1
bc
:
case
PS_STREAM_ID_MAP
|
0x1
00
:
if
(
p_sys
->
psm
.
i_version
==
0xFFFF
)
if
(
p_sys
->
psm
.
i_version
==
0xFFFF
)
msg_Dbg
(
p_demux
,
"contains a PSM"
);
msg_Dbg
(
p_demux
,
"contains a PSM"
);
...
@@ -613,7 +613,7 @@ static int ps_pkt_resynch( stream_t *s, uint32_t *pi_code )
...
@@ -613,7 +613,7 @@ static int ps_pkt_resynch( stream_t *s, uint32_t *pi_code )
return
-
1
;
return
-
1
;
}
}
if
(
p_peek
[
0
]
==
0
&&
p_peek
[
1
]
==
0
&&
p_peek
[
2
]
==
1
&&
if
(
p_peek
[
0
]
==
0
&&
p_peek
[
1
]
==
0
&&
p_peek
[
2
]
==
1
&&
p_peek
[
3
]
>=
0xb9
)
p_peek
[
3
]
>=
PS_STREAM_ID_END_STREAM
)
{
{
*
pi_code
=
0x100
|
p_peek
[
3
];
*
pi_code
=
0x100
|
p_peek
[
3
];
return
1
;
return
1
;
...
@@ -632,7 +632,7 @@ static int ps_pkt_resynch( stream_t *s, uint32_t *pi_code )
...
@@ -632,7 +632,7 @@ static int ps_pkt_resynch( stream_t *s, uint32_t *pi_code )
break
;
break
;
}
}
if
(
p_peek
[
0
]
==
0
&&
p_peek
[
1
]
==
0
&&
p_peek
[
2
]
==
1
&&
if
(
p_peek
[
0
]
==
0
&&
p_peek
[
1
]
==
0
&&
p_peek
[
2
]
==
1
&&
p_peek
[
3
]
>=
0xb9
)
p_peek
[
3
]
>=
PS_STREAM_ID_END_STREAM
)
{
{
*
pi_code
=
0x100
|
p_peek
[
3
];
*
pi_code
=
0x100
|
p_peek
[
3
];
return
vlc_stream_Read
(
s
,
NULL
,
i_skip
)
==
i_skip
?
1
:
-
1
;
return
vlc_stream_Read
(
s
,
NULL
,
i_skip
)
==
i_skip
?
1
:
-
1
;
...
@@ -653,7 +653,7 @@ static block_t *ps_pkt_read( stream_t *s, uint32_t i_code )
...
@@ -653,7 +653,7 @@ static block_t *ps_pkt_read( stream_t *s, uint32_t i_code )
return
NULL
;
return
NULL
;
int
i_size
=
ps_pkt_size
(
p_peek
,
i_peek
);
int
i_size
=
ps_pkt_size
(
p_peek
,
i_peek
);
if
(
i_size
<=
6
&&
p_peek
[
3
]
>
0xba
)
if
(
i_size
<=
6
&&
p_peek
[
3
]
>
PS_STREAM_ID_PACK_HEADER
)
{
{
/* Special case, search the next start code */
/* Special case, search the next start code */
i_size
=
6
;
i_size
=
6
;
...
@@ -667,7 +667,7 @@ static block_t *ps_pkt_read( stream_t *s, uint32_t i_code )
...
@@ -667,7 +667,7 @@ static block_t *ps_pkt_read( stream_t *s, uint32_t i_code )
while
(
i_size
<=
i_peek
-
4
)
while
(
i_size
<=
i_peek
-
4
)
{
{
if
(
p_peek
[
i_size
]
==
0x00
&&
p_peek
[
i_size
+
1
]
==
0x00
&&
if
(
p_peek
[
i_size
]
==
0x00
&&
p_peek
[
i_size
+
1
]
==
0x00
&&
p_peek
[
i_size
+
2
]
==
0x01
&&
p_peek
[
i_size
+
3
]
>=
0xb9
)
p_peek
[
i_size
+
2
]
==
0x01
&&
p_peek
[
i_size
+
3
]
>=
PS_STREAM_ID_END_STREAM
)
{
{
return
vlc_stream_Block
(
s
,
i_size
);
return
vlc_stream_Block
(
s
,
i_size
);
}
}
...
...
modules/demux/mpeg/ps.h
View file @
b893a280
...
@@ -26,6 +26,12 @@
...
@@ -26,6 +26,12 @@
#include <vlc_memory.h>
#include <vlc_memory.h>
#include "timestamps.h"
#include "timestamps.h"
#define PS_STREAM_ID_END_STREAM 0xB9
#define PS_STREAM_ID_PACK_HEADER 0xBA
#define PS_STREAM_ID_SYSTEM_HEADER 0xBB
#define PS_STREAM_ID_MAP 0xBC
#define PS_STREAM_ID_DIRECTORY 0xFF
/* 256-0xC0 for normal stream, 256 for 0xbd stream, 256 for 0xfd stream, 8 for 0xa0 AOB stream */
/* 256-0xC0 for normal stream, 256 for 0xbd stream, 256 for 0xfd stream, 8 for 0xa0 AOB stream */
#define PS_TK_COUNT (256+256+256+8 - 0xc0)
#define PS_TK_COUNT (256+256+256+8 - 0xc0)
#if 0
#if 0
...
@@ -339,11 +345,11 @@ static inline int ps_pkt_size( const uint8_t *p, int i_peek )
...
@@ -339,11 +345,11 @@ static inline int ps_pkt_size( const uint8_t *p, int i_peek )
{
{
return
-
1
;
return
-
1
;
}
}
else
if
(
p
[
3
]
==
0xb9
)
else
if
(
p
[
3
]
==
PS_STREAM_ID_END_STREAM
)
{
{
return
4
;
return
4
;
}
}
else
if
(
p
[
3
]
==
0xba
)
else
if
(
p
[
3
]
==
PS_STREAM_ID_PACK_HEADER
)
{
{
if
(
i_peek
>=
14
&&
(
p
[
4
]
>>
6
)
==
0x01
)
if
(
i_peek
>=
14
&&
(
p
[
4
]
>>
6
)
==
0x01
)
{
{
...
...
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