[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