[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