1 | Index: libs/libavformat/mpegts.c
|
---|
2 | ===================================================================
|
---|
3 | --- libs/libavformat/mpegts.c (revision 10421)
|
---|
4 | +++ libs/libavformat/mpegts.c (working copy)
|
---|
5 | @@ -648,6 +648,16 @@
|
---|
6 |
|
---|
7 | if (dvbci.txt_type && (stream_type == STREAM_TYPE_PRIVATE_DATA))
|
---|
8 | stream_type = STREAM_TYPE_VBI_DVB;
|
---|
9 | +
|
---|
10 | + if ((dvbci.component_tag >= 0) && (stream_type == STREAM_TYPE_PRIVATE_DATA))
|
---|
11 | + {
|
---|
12 | + /* Audio and video are sometimes encoded in private streams labelled with a component tag. */
|
---|
13 | + if (dvbci.language[0])
|
---|
14 | + stream_type = STREAM_TYPE_AUDIO_MPEG2;
|
---|
15 | + else
|
---|
16 | + stream_type = STREAM_TYPE_VIDEO_MPEG2;
|
---|
17 | + }
|
---|
18 | +
|
---|
19 | #ifdef DEBUG_SI
|
---|
20 | av_log(NULL, AV_LOG_DEBUG, "stream_type=%d pid=0x%x\n", stream_type, pid);
|
---|
21 | #endif
|
---|
22 | @@ -845,7 +855,6 @@
|
---|
23 | case STREAM_TYPE_AUDIO_AAC:
|
---|
24 | case STREAM_TYPE_AUDIO_AC3:
|
---|
25 | case STREAM_TYPE_AUDIO_DTS:
|
---|
26 | - case STREAM_TYPE_PRIVATE_DATA:
|
---|
27 | case STREAM_TYPE_VBI_DVB:
|
---|
28 | case STREAM_TYPE_SUBTITLE_DVB:
|
---|
29 | case STREAM_TYPE_DSMCC_B:
|
---|
30 | @@ -1420,7 +1429,6 @@
|
---|
31 | codec_type = CODEC_TYPE_DATA;
|
---|
32 | codec_id = CODEC_ID_DSMCC_B;
|
---|
33 | break;
|
---|
34 | - case STREAM_TYPE_PRIVATE_DATA:
|
---|
35 | default:
|
---|
36 | if (code >= 0x1c0 && code <= 0x1df) {
|
---|
37 | codec_type = CODEC_TYPE_AUDIO;
|
---|