[FFmpeg-trac] #2161(undetermined:new): Only one of two dvbsub streams decoded
FFmpeg
trac at avcodec.org
Fri Jun 27 23:42:03 CEST 2014
#2161: Only one of two dvbsub streams decoded
-------------------------------------+-------------------------------------
Reporter: cehoyos | Owner:
Type: defect | Status: new
Priority: normal | Component:
Version: git-master | undetermined
Keywords: videolan | Resolution:
mpegts dvbsub | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by er.anshul.maheshwari@…):
I tested using gdb ffplay and wireshark.
and I find that page_id is equal to 1 of stream 6 and ancilary id = 0 and
Composition ID is 0 for stream 6. so we never decode any segment in dvbsub
decoder.
following is wireshark log for same file
Stream PID=0x0096
Stream type: ITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packets
containing private data (0x06)
111. .... .... .... = Reserved: 0x0007
...0 0000 1001 0110 = Elementary PID: 0x0096
1111 .... .... .... = Reserved: 0x000f
.... 0000 0000 1010 = ES Info Length: 0x000a
Descriptor Tag=0x59
Descriptor Tag: Subtitling Descriptor (0x59)
Descriptor Length: 8
Language Code: fra
Subtitling Type: DVB subtitles (for the hard of hearing) with
no monitor aspect ratio criticality (0x20)
Composition Page ID: 1
Ancillary Page ID: 0
Stream PID=0x0097
Stream type: ITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packets
containing private data (0x06)
111. .... .... .... = Reserved: 0x0007
...0 0000 1001 0111 = Elementary PID: 0x0097
1111 .... .... .... = Reserved: 0x000f
.... 0000 0000 1010 = ES Info Length: 0x000a
Descriptor Tag=0x59
Descriptor Tag: Subtitling Descriptor (0x59)
Descriptor Length: 8
Language Code: eng
Subtitling Type: DVB subtitles (normal) with no monitor aspect
ratio criticality (0x10)
Composition Page ID: 0
Ancillary Page ID: 0
my last git log 6d2df3c00a7899e9c06e3a460d64e4d0ccde0fae
following is br guide how i tested the value in ffplay(decoding)
(gdb) info br
Num Type Disp Enb Address What
1 breakpoint keep y 0x0831f95b in dvbsub_decode at
libavcodec/dvbsubdec.c:1531
breakpoint already hit 244 times
silent
if (page_id == 1) && (ctx->composition_id == 0) &&
(ctx->ancillary_id == 0)
c
end
following is from dvbsub spec
page_id: The page_id identifies the subtitle service of the data contained
in this subtitling_segment. Segments with a
page_id value signalled in the subtitling descriptor as the composition
page id, carry subtitling data specific for one
subtitle service. Accordingly, segments with the page_id signalled in the
subtitling descriptor as the ancillary page id,
carry data that may be shared by multiple subtitle services.
IMO If any sane player is able to show the second video, then only we
should think it as defect.
This 0x6 can be extracted if we ignore page_id.
or Composition Page ID = 0 and Ancillary Page ID = 0 have special meaning
(i did not found anything but i may have missed it in spec).
I have not tested with mplayer or vlc , please pardon me but i really did
not find it worth since both of them were using ffmpeg.
As you said in discription it works in stream 5, it should since page_id
match with composition ID.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/2161#comment:10>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list