[Bug 732945] New: encodebin creates unplayable m4a files

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Jul 9 04:18:41 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=732945
  GStreamer | gst-plugins-base | 2.x

           Summary: encodebin creates unplayable m4a files
    Classification: Platform
           Product: GStreamer
           Version: 2.x
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: phillip.wood at dunelm.org.uk
         QAContact: gstreamer-bugs at lists.freedesktop.org
            Blocks: 732790
     GNOME version: ---


A sound-juicer user has reported that they cannot play the m4a files it creates
(bug 732790). I think this is due to a problem with encodebin which
sound-juicer uses for the encoding. Attachment 280079 has a debug log from
sound-juicer. The debug log contains a number of warnings from qtdemux that
there are errors in the stream, I'm not sure what is creating the qtdmux
element though as it seems to be logging from a different thread to the
encoding elements. Attachment 280218 shows the pipeline used to encode the
broken file. I'm using gstreamer 1.2.4

Encoding with 

gst-launch-1.0 cdda://1 ! faac ! mp4mux ! filesink location=/tmp/works.m4a

gives playable files. Trying to play the file created with sound-juicer with

gst-launch --gst-debug=*:3 playbin uri=file:///tmp/broken.m4a

gives

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.906184341 31045 0x7f5b200ef8a0 WARN                 qtdemux
qtdemux.c:3060:gst_qtdemux_loop_state_header:<qtdemux0> warning: Invalid atom
size.
0:00:00.906372365 31045 0x7f5b200ef8a0 WARN                 qtdemux
qtdemux.c:3060:gst_qtdemux_loop_state_header:<qtdemux0> warning: Header atom
'mdat' has empty length
WARNING: from element
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
Invalid atom size.
Additional debug info:
qtdemux.c(3060): gst_qtdemux_loop_state_header ():
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
Header atom 'mdat' has empty length
0:00:00.907121823 31045 0x7f5b200ef8a0 WARN                 qtdemux
qtdemux.c:573:gst_qtdemux_post_no_playable_stream_error:<qtdemux0> error: This
file contains no playable streams.
0:00:00.907239922 31045 0x7f5b200ef8a0 WARN                 qtdemux
qtdemux.c:573:gst_qtdemux_post_no_playable_stream_error:<qtdemux0> error: no
known streams found
ERROR: from element
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
This file contains no playable streams.
Additional debug info:
qtdemux.c(573): gst_qtdemux_post_no_playable_stream_error ():
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
no known streams found
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
0:00:00.910067438 31045 0x7f5b200ef8a0 WARN                 qtdemux
qtdemux.c:573:gst_qtdemux_post_no_playable_stream_error:<qtdemux0> error: This
file contains no playable streams.
0:00:00.910186418 31045 0x7f5b200ef8a0 WARN                 qtdemux
qtdemux.c:573:gst_qtdemux_post_no_playable_stream_error:<qtdemux0> error: no
known streams found
Freeing pipeline ...

VLC and mplayer also refuse to play the file

The files created by sound-juicer and gst-launch are very similar, diffing
their hexdumps gives

diff works.hex broken.hex 
3c3
< 00000020  00 00 00 08 66 72 65 65  00 17 56 d7 6d 64 61 74 
|....free..V.mdat|
---
> 00000020  00 00 00 01 6d 64 61 74  00 00 00 00 00 00 00 00  |....mdat........|
95601,95602c95601,95602
< 00175700  00 98 61 6d 6f 6f 76 00  00 00 6c 6d 76 68 64 00 
|..amoov...lmvhd.|
< 00175710  00 00 00 cf e1 77 b9 cf  e1 77 b9 00 00 03 e8 00 
|.....w...w......|
---
> 00175700  00 99 5e 6d 6f 6f 76 00  00 00 6c 6d 76 68 64 00  |..^moov...lmvhd.|
> 00175710  00 00 00 cf e1 d7 d0 cf  e1 d7 d0 00 00 03 e8 00  |................|
95609c95609
< 00175780  6b 68 64 00 00 00 07 cf  e1 77 b9 cf e1 77 b9 00 
|khd......w...w..|
---
> 00175780  6b 68 64 00 00 00 07 cf  e1 d7 d0 cf e1 d7 d0 00  |khd.............|
95615,95616c95615,95616
< 001757e0  00 00 20 6d 64 68 64 00  00 00 00 cf e1 77 b9 cf  |..
mdhd......w..|
< 001757f0  e1 77 b9 00 00 ac 44 00  4a f0 00 00 00 00 00 00 
|.w....D.J.......|
---
> 001757e0  00 00 20 6d 64 68 64 00  00 00 00 cf e1 d7 d0 cf  |.. mdhd.........|
> 001757f0  e1 d7 d0 00 00 ac 44 00  4a f0 00 00 00 00 00 00  |......D.J.......|
95628,95629c95628,95629
< 001758b0  03 19 00 01 00 04 11 40  15 00 00 00 00 00 00 00 
|....... at ........|
< 001758c0  00 01 ad 37 05 02 12 10  06 01 02 00 00 00 18 73 
|...7...........s|
---
> 001758b0  03 19 00 01 00 04 11 40  15 00 00 00 00 02 af b7  |....... at ........|
> 001758c0  00 01 b1 7d 05 02 12 10  06 01 02 00 00 00 18 73  |...}...........s|
98033c98033
< 0017ef00  17 55 d8 00 00 00 5d 75  64 74 61 00 00 00 55 6d 
|.U....]udta...Um|
---
> 0017ef00  17 55 d8 00 00 01 5a 75  64 74 61 00 00 01 52 6d  |.U....Zudta...Rm|

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list