From: <tp...@ke...> - 2006-07-03 20:03:09
|
CVS Root: /cvs/gstreamer Module: gst-plugins-bad Changes by: tpm Date: Mon Jul 03 2006 20:03:08 UTC Log message: * gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state), (gst_qtdemux_loop_state_header), (qtdemux_video_caps): Fix silly crasher in state change function; add IV41 fourcc (see bug #171111); don't output confusing debug message when skipping atoms. Modified files: . : ChangeLog gst/qtdemux : qtdemux.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.2156&r2=1.2157 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/qtdemux/qtdemux.c.diff?r1=1.153&r2=1.154 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v retrieving revision 1.2156 retrieving revision 1.2157 diff -u -d -r1.2156 -r1.2157 --- ChangeLog 23 Jun 2006 09:09:43 -0000 1.2156 +++ ChangeLog 3 Jul 2006 20:02:56 -0000 1.2157 @@ -1,3 +1,11 @@ +2006-07-03 Tim-Philipp Müller <tim at centricular dot net> + + * gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state), + (gst_qtdemux_loop_state_header), (qtdemux_video_caps): + Fix silly crasher in state change function; add + IV41 fourcc (see bug #171111); don't output confusing + debug message when skipping atoms. 2006-06-23 Tim-Philipp Müller <tim at centricular dot net> * ext/directfb/dfbvideosink.c: Index: qtdemux.c RCS file: /cvs/gstreamer/gst-plugins-bad/gst/qtdemux/qtdemux.c,v retrieving revision 1.153 retrieving revision 1.154 diff -u -d -r1.153 -r1.154 --- qtdemux.c 15 Jun 2006 15:58:09 -0000 1.153 +++ qtdemux.c 3 Jul 2006 20:02:56 -0000 1.154 @@ -923,8 +923,8 @@ g_free (qtdemux->streams[n]->samples); if (qtdemux->streams[n]->caps) gst_caps_unref (qtdemux->streams[n]->caps); - g_free (qtdemux->streams[n]); g_free (qtdemux->streams[n]->segments); + g_free (qtdemux->streams[n]); } qtdemux->n_streams = 0; gst_segment_init (&qtdemux->segment, GST_FORMAT_TIME); @@ -994,7 +994,11 @@ case GST_MAKE_FOURCC ('w', 'i', 'd', 'e'): case GST_MAKE_FOURCC ('P', 'I', 'C', 'T'): case GST_MAKE_FOURCC ('p', 'n', 'o', 't'): - goto ed_edd_and_eddy; + GST_LOG ("skipping atom '%" GST_FOURCC_FORMAT "' at %" G_GUINT64_FORMAT, + GST_FOURCC_ARGS (fourcc), cur_offset); + cur_offset += length; + qtdemux->offset += length; + break; case GST_MAKE_FOURCC ('m', 'o', 'o', 'v'):{ GstBuffer *moov; @@ -1024,9 +1028,8 @@ qtdemux->state); break; } - ed_edd_and_eddy: default:{ - GST_LOG ("unknown %08x '%" GST_FOURCC_FORMAT "' at %d", + GST_LOG ("unknown %08x '%" GST_FOURCC_FORMAT "' at %" G_GUINT64_FORMAT, fourcc, GST_FOURCC_ARGS (fourcc), cur_offset); cur_offset += length; qtdemux->offset += length; @@ -4043,6 +4046,10 @@ case GST_MAKE_FOURCC ('i', 'v', '3', '2'): _codec ("Indeo Video 3"); return gst_caps_from_string ("video/x-indeo, indeoversion=(int)3"); + case GST_MAKE_FOURCC ('I', 'V', '4', '1'): + case GST_MAKE_FOURCC ('i', 'v', '4', '1'): + _codec ("Intel Video 4"); + return gst_caps_from_string ("video/x-indeo, indeoversion=(int)4"); case GST_MAKE_FOURCC ('d', 'v', 'c', 'p'): case GST_MAKE_FOURCC ('d', 'v', 'c', ' '): case GST_MAKE_FOURCC ('d', 'v', 's', 'd'): @@ -4057,18 +4064,13 @@ return gst_caps_from_string ("video/x-vp3"); case GST_MAKE_FOURCC ('k', 'p', 'c', 'd'): default: -#if 0 - g_critical ("Don't know how to convert fourcc '%" GST_FOURCC_FORMAT - "' to caps", GST_FOURCC_ARGS (fourcc)); - return NULL; -#endif - { - char *s; + { + char *s; - s = g_strdup_printf ("video/x-gst-fourcc-%" GST_FOURCC_FORMAT, - GST_FOURCC_ARGS (fourcc)); - return gst_caps_new_simple (s, NULL); - } + s = g_strdup_printf ("video/x-gst-fourcc-%" GST_FOURCC_FORMAT, + GST_FOURCC_ARGS (fourcc)); + return gst_caps_new_simple (s, NULL); + } } } |