GNOME Bugzilla – Bug 345184
[mpeg2dec] crash with video with pixel_width and pixel_height of 0
Last modified: 2006-06-19 15:19:06 UTC
Gstreamer can not play back the MPEG2 version of this movie. http://www.archive.org/details/DasKabinettdesDoktorCaligariTheCabinetofDrCaligari Setting pipeline to PAUSED ... Pipeline is PREROLLING ... (gst-launch-0.10:3355): GStreamer-CRITICAL **: gst_value_set_fraction: assertion `denominator != 0' failed GStreamer-ERROR **: file gstvalue.c: line 3553 (gst_value_compare_fraction): should not be reached aborting... Aborted Version 0.10.3 of gstreamer0.10-plugins-ugly.
Created attachment 67546 [details] [review] possible fix This seems to fix it, but I'm not sure if it's The Right Thing To Do...
it can only be 0/0 if the aspect ratio code in the header is an undefined value. making it 1/1 is fine. The aspect ratio code in that video is 0x0c. It might be a known extension..
fwiw, vlc assumes 4:3 on invalid ratios and this site recommends vlc.
Committed using 4:3 as default rather than 1:1: 2006-06-19 Tim-Philipp Müller <tim at centricular dot net> * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format): Assume pixel-aspect-ratio of 4:3 if libmpeg2dec doesn't give us any PAR whatsoever (rather than using 0/0, which will lead to an abort later on). Fixes #345184.
After some discussion on IRC it seems it might be better to assume a display aspect ratio of 4:3 rather than a pixel aspect ratio of 4:3. Hopefully I got it right this time: 2006-06-19 Tim-Philipp Müller <tim at centricular dot net> * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format): Assume 4:3 DAR rather than 4:3 PAR (#345184).