=== release 0.10.29 === 2011-05-10 Tim-Philipp Müller * configure.ac: releasing 0.10.29, "Soft Cheese Enthusiast" 2011-05-05 13:24:23 +0200 Edward Hervey * gst/isomp4/gstqtmux.c: qtmux: Fix signed floating point values writing You would end up on some architectures with 0 being written out instead of the proper value. https://bugzilla.gnome.org/show_bug.cgi?id=649449 2011-05-04 12:04:15 +0200 Mark Nauwelaerts * gst/matroska/matroska-mux.c: matroskamux: avoid building index when streamable ... as it will not be written anyway. Fixes #648937 (?). 2011-05-02 12:09:02 +0100 Tim-Philipp Müller * Makefile.am: build: add old qtdemux/quicktime directories to CRUFT_DIRS and CRUFT_FILES 2011-05-01 00:04:03 -0400 Tom Janiszewski * gst/flv/gstflvmux.c: flvmux: don't overwrite metadata tag with duration in streaming mode A duration tag gets inserted only for streamable=false, so only update/write the duration later if we actually inserted that tag, otherwise we write garbage into other tags. https://bugzilla.gnome.org/show_bug.cgi?id=649060 2011-04-30 18:16:36 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/gst-plugins-good-plugins.interfaces: * docs/plugins/gst-plugins-good-plugins.prerequisites: * docs/plugins/inspect/plugin-1394.xml: * docs/plugins/inspect/plugin-aasink.xml: * docs/plugins/inspect/plugin-alaw.xml: * docs/plugins/inspect/plugin-alpha.xml: * docs/plugins/inspect/plugin-alphacolor.xml: * docs/plugins/inspect/plugin-annodex.xml: * docs/plugins/inspect/plugin-apetag.xml: * docs/plugins/inspect/plugin-audiofx.xml: * docs/plugins/inspect/plugin-audioparsers.xml: * docs/plugins/inspect/plugin-auparse.xml: * docs/plugins/inspect/plugin-autodetect.xml: * docs/plugins/inspect/plugin-avi.xml: * docs/plugins/inspect/plugin-cacasink.xml: * docs/plugins/inspect/plugin-cairo.xml: * docs/plugins/inspect/plugin-cutter.xml: * docs/plugins/inspect/plugin-debug.xml: * docs/plugins/inspect/plugin-deinterlace.xml: * docs/plugins/inspect/plugin-dv.xml: * docs/plugins/inspect/plugin-efence.xml: * docs/plugins/inspect/plugin-effectv.xml: * docs/plugins/inspect/plugin-equalizer.xml: * docs/plugins/inspect/plugin-esdsink.xml: * docs/plugins/inspect/plugin-flac.xml: * docs/plugins/inspect/plugin-flv.xml: * docs/plugins/inspect/plugin-flxdec.xml: * docs/plugins/inspect/plugin-gconfelements.xml: * docs/plugins/inspect/plugin-gdkpixbuf.xml: * docs/plugins/inspect/plugin-goom.xml: * docs/plugins/inspect/plugin-goom2k1.xml: * docs/plugins/inspect/plugin-gstrtpmanager.xml: * docs/plugins/inspect/plugin-halelements.xml: * docs/plugins/inspect/plugin-icydemux.xml: * docs/plugins/inspect/plugin-id3demux.xml: * docs/plugins/inspect/plugin-imagefreeze.xml: * docs/plugins/inspect/plugin-interleave.xml: * docs/plugins/inspect/plugin-isomp4.xml: * docs/plugins/inspect/plugin-jack.xml: * docs/plugins/inspect/plugin-jpeg.xml: * docs/plugins/inspect/plugin-level.xml: * docs/plugins/inspect/plugin-matroska.xml: * docs/plugins/inspect/plugin-monoscope.xml: * docs/plugins/inspect/plugin-mulaw.xml: * docs/plugins/inspect/plugin-multifile.xml: * docs/plugins/inspect/plugin-multipart.xml: * docs/plugins/inspect/plugin-navigationtest.xml: * docs/plugins/inspect/plugin-oss4.xml: * docs/plugins/inspect/plugin-ossaudio.xml: * docs/plugins/inspect/plugin-png.xml: * docs/plugins/inspect/plugin-pulseaudio.xml: * docs/plugins/inspect/plugin-replaygain.xml: * docs/plugins/inspect/plugin-rtp.xml: * docs/plugins/inspect/plugin-rtsp.xml: * docs/plugins/inspect/plugin-shapewipe.xml: * docs/plugins/inspect/plugin-shout2send.xml: * docs/plugins/inspect/plugin-smpte.xml: * docs/plugins/inspect/plugin-soup.xml: * docs/plugins/inspect/plugin-spectrum.xml: * docs/plugins/inspect/plugin-speex.xml: * docs/plugins/inspect/plugin-taglib.xml: * docs/plugins/inspect/plugin-udp.xml: * docs/plugins/inspect/plugin-video4linux2.xml: * docs/plugins/inspect/plugin-videobox.xml: * docs/plugins/inspect/plugin-videocrop.xml: * docs/plugins/inspect/plugin-videofilter.xml: * docs/plugins/inspect/plugin-videomixer.xml: * docs/plugins/inspect/plugin-wavenc.xml: * docs/plugins/inspect/plugin-wavpack.xml: * docs/plugins/inspect/plugin-wavparse.xml: * docs/plugins/inspect/plugin-ximagesrc.xml: * docs/plugins/inspect/plugin-y4menc.xml: * po/fr.po: * win32/common/config.h: 0.10.28.4 pre-release 2011-04-30 17:46:36 +0100 Tim-Philipp Müller * Android.mk: * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/inspect/plugin-isomp4.xml: * docs/plugins/inspect/plugin-quicktime.xml: * gst-plugins-good.spec.in: * gst/isomp4/LEGAL: * gst/isomp4/Makefile.am: * gst/isomp4/atoms.c: * gst/isomp4/atoms.h: * gst/isomp4/atomsrecovery.c: * gst/isomp4/atomsrecovery.h: * gst/isomp4/descriptors.c: * gst/isomp4/descriptors.h: * gst/isomp4/fourcc.h: * gst/isomp4/ftypcc.h: * gst/isomp4/gstqtmoovrecover.c: * gst/isomp4/gstqtmoovrecover.h: * gst/isomp4/gstqtmux-doc.c: * gst/isomp4/gstqtmux-doc.h: * gst/isomp4/gstqtmux.c: * gst/isomp4/gstqtmux.h: * gst/isomp4/gstqtmuxmap.c: * gst/isomp4/gstqtmuxmap.h: * gst/isomp4/gstrtpxqtdepay.c: * gst/isomp4/gstrtpxqtdepay.h: * gst/isomp4/isomp4-plugin.c: * gst/isomp4/properties.c: * gst/isomp4/properties.h: * gst/isomp4/qtatomparser.h: * gst/isomp4/qtdemux.c: * gst/isomp4/qtdemux.h: * gst/isomp4/qtdemux.vcproj: * gst/isomp4/qtdemux_dump.c: * gst/isomp4/qtdemux_dump.h: * gst/isomp4/qtdemux_fourcc.h: * gst/isomp4/qtdemux_lang.c: * gst/isomp4/qtdemux_lang.h: * gst/isomp4/qtdemux_types.c: * gst/isomp4/qtdemux_types.h: * gst/isomp4/qtpalette.h: * gst/quicktime/LEGAL: * gst/quicktime/Makefile.am: * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/atomsrecovery.c: * gst/quicktime/atomsrecovery.h: * gst/quicktime/descriptors.c: * gst/quicktime/descriptors.h: * gst/quicktime/fourcc.h: * gst/quicktime/ftypcc.h: * gst/quicktime/gstqtmoovrecover.c: * gst/quicktime/gstqtmoovrecover.h: * gst/quicktime/gstqtmux-doc.c: * gst/quicktime/gstqtmux-doc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: * gst/quicktime/gstqtmuxmap.c: * gst/quicktime/gstqtmuxmap.h: * gst/quicktime/gstrtpxqtdepay.c: * gst/quicktime/gstrtpxqtdepay.h: * gst/quicktime/properties.c: * gst/quicktime/properties.h: * gst/quicktime/qtatomparser.h: * gst/quicktime/qtdemux.c: * gst/quicktime/qtdemux.h: * gst/quicktime/qtdemux.vcproj: * gst/quicktime/qtdemux_dump.c: * gst/quicktime/qtdemux_dump.h: * gst/quicktime/qtdemux_fourcc.h: * gst/quicktime/qtdemux_lang.c: * gst/quicktime/qtdemux_lang.h: * gst/quicktime/qtdemux_types.c: * gst/quicktime/qtdemux_types.h: * gst/quicktime/qtpalette.h: * gst/quicktime/quicktime.c: * po/POTFILES.in: quicktime: rename plugin to isomp4 https://bugzilla.gnome.org/show_bug.cgi?id=648004 2011-04-27 12:45:51 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/gst-plugins-good-plugins.interfaces: * docs/plugins/gst-plugins-good-plugins.prerequisites: * docs/plugins/inspect/plugin-1394.xml: * docs/plugins/inspect/plugin-aasink.xml: * docs/plugins/inspect/plugin-alaw.xml: * docs/plugins/inspect/plugin-alpha.xml: * docs/plugins/inspect/plugin-alphacolor.xml: * docs/plugins/inspect/plugin-annodex.xml: * docs/plugins/inspect/plugin-apetag.xml: * docs/plugins/inspect/plugin-audiofx.xml: * docs/plugins/inspect/plugin-audioparsers.xml: * docs/plugins/inspect/plugin-auparse.xml: * docs/plugins/inspect/plugin-autodetect.xml: * docs/plugins/inspect/plugin-avi.xml: * docs/plugins/inspect/plugin-cacasink.xml: * docs/plugins/inspect/plugin-cairo.xml: * docs/plugins/inspect/plugin-cutter.xml: * docs/plugins/inspect/plugin-debug.xml: * docs/plugins/inspect/plugin-deinterlace.xml: * docs/plugins/inspect/plugin-dv.xml: * docs/plugins/inspect/plugin-efence.xml: * docs/plugins/inspect/plugin-effectv.xml: * docs/plugins/inspect/plugin-equalizer.xml: * docs/plugins/inspect/plugin-esdsink.xml: * docs/plugins/inspect/plugin-flac.xml: * docs/plugins/inspect/plugin-flv.xml: * docs/plugins/inspect/plugin-flxdec.xml: * docs/plugins/inspect/plugin-gconfelements.xml: * docs/plugins/inspect/plugin-gdkpixbuf.xml: * docs/plugins/inspect/plugin-goom.xml: * docs/plugins/inspect/plugin-goom2k1.xml: * docs/plugins/inspect/plugin-gstrtpmanager.xml: * docs/plugins/inspect/plugin-halelements.xml: * docs/plugins/inspect/plugin-icydemux.xml: * docs/plugins/inspect/plugin-id3demux.xml: * docs/plugins/inspect/plugin-imagefreeze.xml: * docs/plugins/inspect/plugin-interleave.xml: * docs/plugins/inspect/plugin-jack.xml: * docs/plugins/inspect/plugin-jpeg.xml: * docs/plugins/inspect/plugin-level.xml: * docs/plugins/inspect/plugin-matroska.xml: * docs/plugins/inspect/plugin-mulaw.xml: * docs/plugins/inspect/plugin-multifile.xml: * docs/plugins/inspect/plugin-multipart.xml: * docs/plugins/inspect/plugin-navigationtest.xml: * docs/plugins/inspect/plugin-oss4.xml: * docs/plugins/inspect/plugin-ossaudio.xml: * docs/plugins/inspect/plugin-png.xml: * docs/plugins/inspect/plugin-pulseaudio.xml: * docs/plugins/inspect/plugin-quicktime.xml: * docs/plugins/inspect/plugin-replaygain.xml: * docs/plugins/inspect/plugin-rtp.xml: * docs/plugins/inspect/plugin-rtsp.xml: * docs/plugins/inspect/plugin-shapewipe.xml: * docs/plugins/inspect/plugin-shout2send.xml: * docs/plugins/inspect/plugin-smpte.xml: * docs/plugins/inspect/plugin-soup.xml: * docs/plugins/inspect/plugin-spectrum.xml: * docs/plugins/inspect/plugin-speex.xml: * docs/plugins/inspect/plugin-taglib.xml: * docs/plugins/inspect/plugin-udp.xml: * docs/plugins/inspect/plugin-video4linux2.xml: * docs/plugins/inspect/plugin-videobox.xml: * docs/plugins/inspect/plugin-videocrop.xml: * docs/plugins/inspect/plugin-videofilter.xml: * docs/plugins/inspect/plugin-videomixer.xml: * docs/plugins/inspect/plugin-wavenc.xml: * docs/plugins/inspect/plugin-wavpack.xml: * docs/plugins/inspect/plugin-wavparse.xml: * docs/plugins/inspect/plugin-ximagesrc.xml: * docs/plugins/inspect/plugin-y4menc.xml: * po/bg.po: * po/ja.po: * po/nl.po: * po/ru.po: * win32/common/config.h: 0.10.28.3 pre-release 2011-04-26 15:58:12 +0200 Wim Taymans * gst/rtp/gstrtpgstpay.c: rtpgstpay: fix buffer leak 2011-04-25 10:04:52 +0200 Philip Jägenstedt * ext/jpeg/gstjpegdec.c: jpegdec: documentation typo "jpegddec" https://bugzilla.gnome.org/show_bug.cgi?id=648589 2011-04-24 16:45:07 -0700 David Schleef * gst/avi/gstavimux.c: * gst/matroska/matroska-mux.c: avimux,matroskamux: Add stream-format to h264 caps Fixes #606662. 2011-02-20 12:13:49 -0800 David Schleef * ext/libpng/gstpngdec.c: pngdec: Remove temporary code Now that we depend on (what will be) -base-0.10.33. 2011-04-24 14:03:56 +0100 Tim-Philipp Müller * configure.ac: configure: don't pass -Waddress to ObjC compiler on OSX when compiling osxvideosink Temporary workaround until we fix this properly and check for the ObjC warning/error flags instead of just passing CFLAGS to the ObjC compiler. https://bugzilla.gnome.org/show_bug.cgi?id=643939 2011-04-24 13:29:32 +0100 Tim-Philipp Müller * docs/plugins/inspect/plugin-quicktime.xml: * gst-plugins-good.spec.in: * gst/quicktime/Makefile.am: quicktime: rename plugin filename from *qtdemux* to *quicktime* https://bugzilla.gnome.org/show_bug.cgi?id=648004 2011-04-24 14:03:41 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From c3cafe1 to 46dfcea 2011-04-21 23:30:26 +0100 Tim-Philipp Müller * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * gst/quicktime/Makefile.am: * gst/quicktime/gstqtmoovrecover.c: * gst/quicktime/gstqtmux-doc.c: * gst/quicktime/gstqtmux-doc.h: docs: add various qtmux variants to documentation 2011-04-21 22:51:52 +0100 Tim-Philipp Müller * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmuxmap.c: * gst/quicktime/gstqtmuxmap.h: quicktime: register 3gppmux element in addition to the misnamed gppmux 2011-04-18 18:08:30 -0400 Olivier Crête * gst/rtpmanager/gstrtpsession.c: * gst/rtpmanager/rtpsession.c: * gst/rtpmanager/rtpsession.h: rtpsession: Remove incomplete support for RTCP FIR Remove bits that were meant to suppport RTCP FIR https://bugzilla.gnome.org/show_bug.cgi?id=648160 2011-04-19 14:33:25 +0100 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/generic/.gitignore: * tests/check/generic/index.c: tests: add generic set_index test 2011-04-19 14:33:42 +0100 Tim-Philipp Müller * gst/flv/gstflvdemux.c: flvdemux: fix deadlock on setting index on flvdemux 2011-04-19 14:16:11 +0100 Tim-Philipp Müller * tests/check/elements/flacparse.c: tests: add index-setting test for baseparse/flacparse https://bugzilla.gnome.org/show_bug.cgi?id=646811 2011-04-18 11:29:15 +0200 Sebastian Dröge * tests/check/pipelines/wavpack.c: wavpack: Remove bus GSource to prevent a valgrind warning 2011-04-18 11:14:32 +0200 Sebastian Dröge * tests/check/pipelines/wavenc.c: wavenc: Remove bus GSource to prevent a valgrind warning 2011-04-18 11:11:53 +0200 Sebastian Dröge * tests/check/pipelines/tagschecking.c: tagschecking: Remove bus GSource to prevent a valgrind warning 2011-04-18 11:10:01 +0200 Sebastian Dröge * tests/check/elements/imagefreeze.c: imagefreeze: Remove bus GSource to prevent a valgrind warning 2011-04-17 01:29:01 +0100 Tim-Philipp Müller * gst/avi/gstavidemux.c: avidemux: fix 'variable may be used uninitialized' warnings caused by -DG_DISABLE_ASSERT 2011-04-16 18:50:11 +0100 Tim-Philipp Müller * configure.ac: * win32/common/config.h: * win32/common/gstrtpbin-marshal.c: * win32/common/gstrtpbin-marshal.h: 0.10.28.2 pre-release 2011-04-16 18:49:27 +0100 Tim-Philipp Müller * gst/deinterlace/tvtime-dist.c: * gst/deinterlace/tvtime-dist.h: * gst/videobox/gstvideoboxorc-dist.c: * gst/videobox/gstvideoboxorc-dist.h: * gst/videomixer/blendorc-dist.c: * gst/videomixer/blendorc-dist.h: gst: update disted orc backup code 2011-04-16 18:29:45 +0100 Tim-Philipp Müller * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/gst-plugins-good-plugins.interfaces: * docs/plugins/gst-plugins-good-plugins.prerequisites: * docs/plugins/inspect/plugin-1394.xml: * docs/plugins/inspect/plugin-aasink.xml: * docs/plugins/inspect/plugin-alaw.xml: * docs/plugins/inspect/plugin-alpha.xml: * docs/plugins/inspect/plugin-alphacolor.xml: * docs/plugins/inspect/plugin-annodex.xml: * docs/plugins/inspect/plugin-apetag.xml: * docs/plugins/inspect/plugin-audiofx.xml: * docs/plugins/inspect/plugin-audioparsers.xml: * docs/plugins/inspect/plugin-auparse.xml: * docs/plugins/inspect/plugin-autodetect.xml: * docs/plugins/inspect/plugin-avi.xml: * docs/plugins/inspect/plugin-cacasink.xml: * docs/plugins/inspect/plugin-cairo.xml: * docs/plugins/inspect/plugin-cutter.xml: * docs/plugins/inspect/plugin-debug.xml: * docs/plugins/inspect/plugin-deinterlace.xml: * docs/plugins/inspect/plugin-dv.xml: * docs/plugins/inspect/plugin-efence.xml: * docs/plugins/inspect/plugin-effectv.xml: * docs/plugins/inspect/plugin-equalizer.xml: * docs/plugins/inspect/plugin-esdsink.xml: * docs/plugins/inspect/plugin-flac.xml: * docs/plugins/inspect/plugin-flv.xml: * docs/plugins/inspect/plugin-flxdec.xml: * docs/plugins/inspect/plugin-gconfelements.xml: * docs/plugins/inspect/plugin-gdkpixbuf.xml: * docs/plugins/inspect/plugin-goom.xml: * docs/plugins/inspect/plugin-goom2k1.xml: * docs/plugins/inspect/plugin-gstrtpmanager.xml: * docs/plugins/inspect/plugin-halelements.xml: * docs/plugins/inspect/plugin-icydemux.xml: * docs/plugins/inspect/plugin-id3demux.xml: * docs/plugins/inspect/plugin-imagefreeze.xml: * docs/plugins/inspect/plugin-interleave.xml: * docs/plugins/inspect/plugin-jack.xml: * docs/plugins/inspect/plugin-jpeg.xml: * docs/plugins/inspect/plugin-level.xml: * docs/plugins/inspect/plugin-matroska.xml: * docs/plugins/inspect/plugin-monoscope.xml: * docs/plugins/inspect/plugin-mulaw.xml: * docs/plugins/inspect/plugin-multifile.xml: * docs/plugins/inspect/plugin-multipart.xml: * docs/plugins/inspect/plugin-navigationtest.xml: * docs/plugins/inspect/plugin-oss4.xml: * docs/plugins/inspect/plugin-ossaudio.xml: * docs/plugins/inspect/plugin-png.xml: * docs/plugins/inspect/plugin-pulseaudio.xml: * docs/plugins/inspect/plugin-quicktime.xml: * docs/plugins/inspect/plugin-replaygain.xml: * docs/plugins/inspect/plugin-rtp.xml: * docs/plugins/inspect/plugin-rtsp.xml: * docs/plugins/inspect/plugin-shapewipe.xml: * docs/plugins/inspect/plugin-shout2send.xml: * docs/plugins/inspect/plugin-smpte.xml: * docs/plugins/inspect/plugin-soup.xml: * docs/plugins/inspect/plugin-spectrum.xml: * docs/plugins/inspect/plugin-speex.xml: * docs/plugins/inspect/plugin-udp.xml: * docs/plugins/inspect/plugin-video4linux2.xml: * docs/plugins/inspect/plugin-videobox.xml: * docs/plugins/inspect/plugin-videocrop.xml: * docs/plugins/inspect/plugin-videofilter.xml: * docs/plugins/inspect/plugin-videomixer.xml: * docs/plugins/inspect/plugin-wavenc.xml: * docs/plugins/inspect/plugin-wavpack.xml: * docs/plugins/inspect/plugin-wavparse.xml: * docs/plugins/inspect/plugin-ximagesrc.xml: * docs/plugins/inspect/plugin-y4menc.xml: docs: update for pre-release 2011-04-16 18:27:54 +0100 Tim-Philipp Müller * po/bg.po: * po/cs.po: * po/de.po: * po/es.po: * po/id.po: * po/sl.po: po: update translations 2011-04-16 18:17:01 +0100 Tim-Philipp Müller * gst/quicktime/gstqtmux.c: qtmux: refuse incomplete legacy h264 caps Refuse h264 caps without stream-format and codec_data fields for now, to avoid creating broken files. This might cause some pipelines that worked previously to fail. However, the move from -bad to -good is our only chance to fix this up, so make it strict for now. We can always change it back to be less strict in future. https://bugzilla.gnome.org/show_bug.cgi?id=647919 2011-04-16 18:16:11 +0100 Tim-Philipp Müller * sys/v4l2/gstv4l2sink.c: v4l2sink: fix another unused-but-set-variable warning 2011-04-16 18:10:24 +0100 Tim-Philipp Müller * ext/pulse/pulsesink.c: * ext/pulse/pulsesrc.c: * ext/speex/gstspeexenc.c: * gst/rtp/gstrtpgsmpay.c: pulse, speexenc, rtpgsmpay: don't use g_assert() for error handling Don't use g_assert() for error handling, even if they're highly unlikely. Either we *know* that something can't happen, in which case we should just not handle it, or we think something can happen, but it is very very unlikely that it will ever happen, in which case we should handle it like any other error instead of asserting. g_assert() is best left for conditions we have control of, like checking internal consistency of our code, not checking return values of external code. Fixes a bunch of warnings when compiling with -DG_DISABLE_ASSERT: gstrtpgsmpay.c: In function 'gst_rtp_gsm_pay_handle_buffer': gstrtpgsmpay.c:130:17: warning: variable 'rtpgsmpay' set but not used gstspeexenc.c: In function 'gst_speex_enc_encode': gstspeexenc.c:904:19: warning: variable 'written' set but not used pulsesink.c: In function 'gst_pulsesink_change_state': pulsesink.c:2725:9: warning: variable 'res' set but not used pulsesrc.c: In function 'gst_pulsesrc_change_state': pulsesrc.c:1253:7: warning: variable 'e' set but not used 2011-04-16 18:07:35 +0100 Tim-Philipp Müller * tests/examples/rtp/server-alsasrc-PCMA.c: examples: fix some warnings in rtp example Caused by -DG_DISABLE_ASSERT 2011-04-16 17:57:32 +0100 Tim-Philipp Müller * tests/examples/level/level-example.c: examples: don't put code with side-effects into g_assert() Otherwise things won't work too well when compiling with -DG_DISABLE_ASSERT (as we do for pre-releases and releases). 2011-04-16 16:51:32 +0100 Tim-Philipp Müller * gst/deinterlace/tvtime/greedyh.c: * gst/matroska/matroska-mux.c: deinterlace, matroska: fix two variable-may-be-used-uninitialized compiler warnings We use -DG_DISABLE_ASSERT for the pre-releases, which makes these warnings pop up in cases that were previously covered by g_assert_not_reached() and the like: tvtime/greedyh.c:801:14: warning: 'scanline' may be used uninitialized in this function matroska-mux.c:501:19: warning: 'context' may be used uninitialized in this function 2011-04-16 13:33:45 +0100 Tim-Philipp Müller * ext/jack/gstjackaudiosink.c: * ext/jack/gstjackaudiosrc.c: jack: fix unused-but-set-variable warnings with gcc-4.6 2011-04-16 13:23:50 +0100 Tim-Philipp Müller * tests/examples/cairo/cairo_overlay.c: examples: fix 'control reaches end of non-void function' warning in cairo example 2011-04-15 15:47:24 +0200 Robert Swain * sys/v4l2/gstv4l2src.c: v4l2src: Address unused but set variable The v4l2object formats list was being obtained into a local variable and then still used from the context. Make use of the local variable. 2011-04-15 15:17:34 +0200 Robert Swain * sys/oss4/oss4-mixer-slider.c: * sys/oss4/oss4-mixer-switch.c: * sys/oss4/oss4-property-probe.c: * sys/oss4/oss4-source.c: oss4: Address unused but set variables GCC 4.6.x complains about such variable usage. Unused but set variables were removed except that gst_oss4_mixer_slider_set_mute () now returns the value from the call to gst_oss4_mixer_set_control_val (). 2011-04-15 15:14:13 +0200 Robert Swain * ext/jpeg/gstjpegenc.c: * ext/pulse/pulsesink.c: * ext/raw1394/gstdv1394src.c: * ext/raw1394/gsthdv1394src.c: jpegenc: pulsesink: raw1394: Address unused but set variables GCC 4.6.x spits warnings about such usage of variables. The variables in raw1394 were marked with G_GNUC_UNUSED as this seemed omre appropriate. The others were removed. 2011-04-15 15:12:44 +0200 Robert Swain * gst/shapewipe/gstshapewipe.c: * gst/y4m/gsty4mencode.c: y4mencode: shapewipe: Address unused but set variables GCC 4.6.x complains about such usage. 2011-04-15 15:11:35 +0200 Robert Swain * tests/check/elements/deinterlace.c: * tests/check/elements/rtp-payloading.c: * tests/check/pipelines/flacdec.c: * tests/examples/level/level-example.c: * tests/icles/videocrop-test.c: * tests/icles/ximagesrc-test.c: tests: Address unused but set variables GCC 4.6.x spits warnings about such usage of variables. 2011-04-15 15:36:41 +0200 Robert Swain * gst/videomixer/blendorc.orc: videomixer: Fix argb/rgba overlay orc code Remove some redundant operations (convubw) and use the correct variable, t2, in the orc_overlay_bgra function. 2011-04-15 15:33:35 +0200 Robert Swain * gst/videomixer/blend.c: * gst/videomixer/gstcollectpads2.c: * gst/videomixer/videomixer2.c: videomixer: address unused but set variables GCC 4.6.x spits warnings about variables that are set but unused. Such variables have been removed in blend, collectpads2 and videomixer2. 2011-04-15 14:57:20 +0200 Robert Swain * gst/rtp/gstrtpamrdepay.c: * gst/rtp/gstrtpbvdepay.c: * gst/rtp/gstrtpbvpay.c: * gst/rtp/gstrtpg722pay.c: * gst/rtp/gstrtpgstdepay.c: * gst/rtp/gstrtpgstpay.c: * gst/rtp/gstrtpj2kpay.c: * gst/rtp/gstrtpmp4gpay.c: * gst/rtp/gstrtpmp4vpay.c: * gst/rtp/gstrtpmpadepay.c: * gst/rtp/gstrtpqcelpdepay.c: * gst/rtpmanager/gstrtpjitterbuffer.c: * gst/rtpmanager/gstrtpsession.c: rtp, rtpmanager: Address unused but set variables GCC 4.6.x spits warnings about variables that are unused but set. Such variables have been removed where trivial but with comments left behind for informational purposes in some cases. gst_rtp_session_chain_recv_rtcp () was changed in commit 490113d4 to always return GST_FLOW_OK instead of the return value of rtp_session_process_rtcp (), so we'll keep it that way. 2011-04-15 11:29:30 +0200 Robert Swain * gst/quicktime/descriptors.c: * gst/quicktime/gstrtpxqtdepay.c: * gst/quicktime/qtdemux.c: quicktime: Remove unused but set variables GCC 4.6.x spits warnings about such variable usage. Note that some calculations are left as comments for informative purposes. 2011-04-15 11:23:38 +0200 Robert Swain * gst/matroska/matroska-demux.c: * gst/matroska/matroska-parse.c: matroska: Remove unused but set variables GCC 4.6.x spits warnings about such variable usage. 2011-04-15 11:19:26 +0200 Robert Swain * gst/imagefreeze/gstimagefreeze.c: imagefreeze: Remove unused but set duration variable GCC 4.6.x spits warnings about such variable usage. 2011-04-15 11:18:19 +0200 Robert Swain * gst/flv/gstflvdemux.c: flxdemux: Remove unused but set keyframe variables The FIXMEs about the keyframe flag never being used are left for later fixing, at which point the keyframe variables could be added back. 2011-04-15 11:16:42 +0200 Robert Swain * gst/effectv/gstedge.c: edgetv: Remove unused but set height variable GCC 4.6.x spits warnings about such variables. 2011-04-15 18:51:20 +0100 Tim-Philipp Müller * gst/audioparsers/gstflacparse.c: flacparse: update for gst_base_parse_frame_init() API change 2011-02-01 15:57:01 -0500 Olivier Crête * gst/rtpmanager/rtpsession.c: rtpsession: Use existing functions to parse RTCP FB packets Use existing functions to get the FCI from FB packets. https://bugzilla.gnome.org/show_bug.cgi?id=622553 2011-02-01 16:23:52 -0500 Olivier Crête * gst/rtpmanager/gstrtpbin-marshal.list: * gst/rtpmanager/rtpsession.c: rtpsession: marshal GstBuffer as a MiniObject instead of a pointer https://bugzilla.gnome.org/show_bug.cgi?id=622553 2011-04-14 23:24:56 -0700 David Schleef * gst/matroska/matroska-demux.c: matroskademux: Better calculation of framerate https://bugzilla.gnome.org/show_bug.cgi?id=647833 2011-04-13 12:37:09 +0100 Tim-Philipp Müller * gst/quicktime/gstqtmux.c: qtmux: default to dts-method=reorder and presentation-time=true https://bugzilla.gnome.org/show_bug.cgi?id=636699 2011-04-15 12:47:52 +0200 Mark Nauwelaerts * tests/check/elements/qtmux.c: tests: qtmux: test various dts-methods 2011-04-15 12:34:05 +0200 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: fix corner case buffer handling for reorder method 2011-04-14 13:47:05 +0200 Sebastian Dröge * gst/flv/gstflvdemux.c: flvdemux: Don't leak the SEEKING query 2011-04-14 13:43:06 +0200 Sebastian Dröge * gst/quicktime/gstqtmoovrecover.c: * gst/quicktime/gstqtmoovrecover.h: qtmoovrecover: Don't leak the static recursive mutex 2011-04-14 13:37:52 +0200 Sebastian Dröge * sys/v4l2/gstv4l2radio.c: v4l2radio: Free videodev string before replacing it 2011-04-14 13:24:21 +0200 Sebastian Dröge * gst/matroska/matroska-parse.c: matroskaparse: Allow webm and matroska caps and don't leak caps 2011-04-14 07:35:29 +0100 Christian Fredrik Kalager Schaller * gst-plugins-good.spec.in: Add parser plugin 2011-03-24 14:34:24 -0700 David Schleef * sys/directsound/gstdirectsoundsink.c: directsoundsink: Add conditionals on WAVE_FORMAT_DOLBY_AC3_SPDIF 2011-04-11 20:09:14 +0100 Tim-Philipp Müller * gst/debugutils/gstcapsdebug.c: capsdebug: fix unused-but-set-variable warnings with gcc 4.6 2011-04-11 20:05:54 +0100 Tim-Philipp Müller * gst/avi/gstavidemux.c: avidemux: fix unused-but-set-variable warning with gcc 4.6 Most likely a leftover from when the index parsing code was rewritten. 2011-04-11 19:54:00 +0100 Tim-Philipp Müller * gst/audioparsers/gstac3parse.c: ac3parse: fix unused-but-set-variable warning with gcc 4.6 2011-04-11 19:50:07 +0100 Tim-Philipp Müller * gst/videofilter/gstvideobalance.c: videobalance: fix handling of YUV images with 'odd' widths Fixes unused-but-set-variable warnings with gcc 4.6. 2011-04-11 19:49:22 +0100 Tim-Philipp Müller * gst/videofilter/gstvideoflip.c: videoflip: fix unused-but-set-variable warnings with gcc 4.6 2011-04-13 18:11:34 +0200 Sebastian Dröge * gst/audiofx/audiowsincband.c: * gst/audiofx/audiowsinclimit.c: audiowsinc{band,limit}: Fix check for divison by zero 2011-04-13 18:01:01 +0200 Sebastian Dröge * gst/audiofx/audiowsincband.c: audiowsincband: Fix range of kernel elements (lim -> lim-1) 2011-04-13 18:00:44 +0200 Sebastian Dröge * gst/audiofx/audiowsinclimit.c: audiowsinclimit: Add some more braces to make the code more readable 2011-04-11 18:40:30 -0500 Jordi Burguet-Castell * gst/audiofx/audiowsinclimit.c: audiowsinclimit: Fix range of kernel elements (lim -> lim-1) in high/low-pass filters 2011-04-13 17:49:22 +0200 Sebastian Dröge * gst/audiofx/audiowsincband.c: audiowsincband: Add new windowing functions: gaussian, cos and hann 2011-04-11 18:41:43 -0500 Jordi Burguet-Castell * gst/audiofx/audiowsinclimit.c: audiowsinclimimt: Add new windows to high/low-pass filters: gaussian, cosine, hann 2011-04-13 16:47:05 +0100 Tim-Philipp Müller * gst/matroska/matroska-demux.c: matroskademux: set stream-format=byte-stream on h264 caps if there's no codec data https://bugzilla.gnome.org/show_bug.cgi?id=606662 2011-04-13 16:37:07 +0100 Thiago Santos * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmuxmap.c: qtmux: restrict h264 some more to only accept AU-aligned AVC https://bugzilla.gnome.org/show_bug.cgi?id=606662 2011-04-13 17:11:26 +0200 Sebastian Dröge * gst/audioparsers/gstmpegaudioparse.c: mpegaudioparse: The VBRI header is always at offset 0x20, independent of MPEG version Also clean up advancing of the data pointer a bit. Fixes bug #647659. 2011-04-13 15:18:11 +0100 Tim-Philipp Müller * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmuxmap.c: * tests/check/Makefile.am: * tests/check/elements/qtmux.c: qtmux: add variant-less video/quicktime to source pad template caps This is needed for automatic transcoding using encodebin. Our typefinder does not always add a variant to the found caps, and encodebin needs an *exact* match to the caps on the source pad template, so we need to add the variant-less video/quicktime caps to the template as well for encodebin to be able to find it. Add unit test for this as well. https://bugzilla.gnome.org/show_bug.cgi?id=642879 2011-04-13 16:17:41 +0200 Sebastian Dröge * ext/flac/gstflacenc.c: flacenc: Properly interprete the result of strcmp() 2011-04-13 16:09:04 +0200 Sebastian Dröge * ext/flac/gstflacenc.c: flacenc: Don't store image tags inside the vorbiscomments and the flac metadata Instead only store them inside the flac metadata. There's no point in storing them twice and the flac metadata is still the official way to store image tags inside flac. 2011-04-13 12:38:15 +0100 Tim-Philipp Müller * tests/check/elements/.gitignore: * tests/check/pipelines/.gitignore: tests: ignore new qtmux-related test binaries 2011-04-13 11:25:11 +0100 Tim-Philipp Müller * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/inspect/plugin-quicktime.xml: * gst/quicktime/Makefile.am: * gst/quicktime/gstqtmuxplugin.c: * gst/quicktime/quicktime.c: * tests/check/Makefile.am: quicktime: move qtmux plugin from -bad to -good https://bugzilla.gnome.org/show_bug.cgi?id=636699 2011-04-04 12:21:23 +0200 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: more helpful debug error message when no needed duration on input buffers Fixes #646256. 2011-03-21 10:56:51 -0300 Thiago Santos * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/gstqtmux.c: qtmux: Adding GstTagXmpWriter interface Adds GstTagXmpWriter interface support to qtmux 2011-03-22 20:53:08 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: use running time for synchronization See also #432612. 2011-03-10 16:03:58 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: provide for PTS metadata when so configured ... and not only when sort-of feeling like it. In any case, if it turns out all really is in order, and presumably DTS == PTS, then no ctts will be produced anyway. 2011-03-10 16:02:42 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: also track original PTS buffer timestamp in reorder dts-method 2011-02-21 12:14:59 +0100 Edward Hervey * gst/quicktime/gstqtmux.c: Revert "Check that collectpads exists before removing pad" This reverts commit 6d8740476ccd3a3498dc4f18c19733643825c7b8. Depends on a core commit that was reverted 2011-02-20 23:57:19 -0800 David Schleef * gst/quicktime/gstqtmux.c: Check that collectpads exists before removing pad The core now calls release pad from finalize, at which point the collectpads might have already been freed. 2011-01-13 11:28:32 -0300 Thiago Santos * tests/check/elements/qtmux.c: test: qtmux: Tests qtmux reuse Forces the use of qtmux after it has been put to PLAYING and back to NULL once https://bugzilla.gnome.org/show_bug.cgi?id=639338 2011-01-13 15:27:36 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: set src pads when starting file ... rather than at _init time, so they are also available following a pad (de)activation cycle. https://bugzilla.gnome.org/show_bug.cgi?id=639338 2011-01-03 17:24:23 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: qtmux: adjust nasty case timestamp tracking That is, all sorts of problems arise with re-ordered input timestamps that tend to defy automagic handling for every case, so allow for a few variations that can be tried depending on circumstances. Also try to document accordingly. Also fixes #638288. 2010-12-30 21:48:41 +0200 Felipe Contreras * gst/quicktime/gstqtmux.c: qtmux: get rid of timestamp overprotectiveness Signed-off-by: Felipe Contreras 2011-01-03 16:56:57 +0100 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/atomsrecovery.c: * gst/quicktime/gstqtmux.c: qtmux: simplify and fix pts_offset storing In particular, only write a ctts atom if and only if ever a non-zero offset. 2011-01-03 10:43:15 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: add some more documentation 2010-12-03 15:23:00 +0100 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: qtmux: remove large-file property Rather, auto-determine if 64-bits fields are needed for a valid result, and stick to plain 32-bits if not needed. API: GstQTMux:large-file (removed) 2010-12-19 12:53:34 +0100 Sebastian Dröge * gst/quicktime/gstqtmux.c: qtmux: Free AtomInfo structs 2010-12-19 12:50:30 +0100 Sebastian Dröge * gst/quicktime/gstqtmux.c: qtmux: Free tag string after use 2010-12-19 12:12:25 +0100 Sebastian Dröge * tests/check/pipelines/tagschecking.c: tagschecking: Fix some more memory leaks 2010-12-17 19:41:25 +0200 Lasse Laukkanen * gst/quicktime/gstqtmux.c: qtmux: allow zero duration tracks 2010-12-03 18:09:41 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: add documentation 2010-12-01 10:45:49 +0100 David Hoyt * gst/quicktime/gstqtmux.c: qtmux: handle msvc ftruncate incompatibility Fixes #636185. 2010-11-27 16:07:19 -0600 Alejandro Gonzalez * gst/quicktime/gstqtmux.c: qtmux: gst_qtmux_check_difference verify before subtract Avoid negative overflow by checking the order of operands on subtraction of unsigned integers. https://bugzilla.gnome.org/show_bug.cgi?id=635878 2010-11-19 17:55:36 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: remove remnant of obsolete property 2010-11-19 15:18:58 +0100 Mark Nauwelaerts * tests/check/elements/qtmux.c: tests: qtmux: also unit test fragmented file cases 2010-07-30 12:48:29 +0200 Marc-André Lureau * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: qtmux: allow specifying trak timescale This is mainly because Smoothstreaming client are broken and don't take the TimeScale property into account. 2010-11-19 17:41:41 +0100 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/gstqtmux.c: qtmux: include sdtp atoms for ismv fragmented files Based on patch by Marc-André Lureau 2010-11-19 19:17:45 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: enable default fragmented file for ismlmux 2010-09-02 13:58:05 +0200 Marc-André Lureau * gst/quicktime/atoms.h: * gst/quicktime/ftypcc.h: * gst/quicktime/gstqtmuxmap.c: * gst/quicktime/gstqtmuxmap.h: qtmux: add ismlmux, for fragmented isml major brand 2010-11-19 14:44:45 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: finalize sinkpads list 2010-07-22 19:40:07 +0200 Marc-André Lureau * gst/quicktime/gstqtmux.c: qtmux: add moov in streamheader 2010-08-06 13:26:27 +0200 Marc-André Lureau * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: qtmux: add streamable property to avoid building fragmented mfra index 2010-11-18 16:48:06 +0100 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: qtmux: add mfra to fragmented file Based on patch by Marc-André Lureau 2010-11-15 15:17:59 +0100 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: qtmux: optionally create fragmented file In this mode, an initial empty moov (containing only stream metadata) is written, followed by fragments containing actual data (along with required metadata). New fragments are started either at keyframe (if such are sparse) or when property configured duration exceeded. Based on patch by Marc-André Lureau Fixes #632911. 2010-11-15 15:12:45 +0100 Mark Nauwelaerts * gst/quicktime/atoms.c: qtmux: use helper to set atom flags from given uint 2010-11-09 16:49:07 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: refactor configuring and sending of moov Based on patch by Marc-André Lureau 2010-11-09 15:54:44 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: refactor extra top-level atom handling Also check a bit more for possible errors, and free proper items in such case. 2010-11-09 15:01:15 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: refactor slightly using buffer helper 2010-11-05 13:48:57 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: fix misinforming comment 2010-11-05 12:08:15 +0100 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/gstqtmux.c: qtmux: delegate mvex handling to atoms ... which keeps qtmux simpler. 2009-09-28 16:11:35 +0200 Marc-André Lureau * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/gstqtmux.c: qtmux: add mvex/trex in header if fragmented One "trex" is added per "trak". We don't support default values, but the "trex" box is mandatory. 2009-09-28 13:01:30 +0200 Marc-André Lureau * gst/quicktime/fourcc.h: qtmux: add a couple of fourcc for fragmented mp4 2010-11-05 11:08:01 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: avoid removing temp file when error occurred 2009-09-30 17:16:30 +0200 Marc-André Lureau * gst/quicktime/gstqtmux.c: qtmux: truncate buffer file after each send 2009-09-28 16:53:51 +0200 Marc-André Lureau * gst/quicktime/gstqtmux.c: qtmux: remove temp file when reset/finalize 2010-10-19 13:43:14 +0300 Stefan Kost * gst/quicktime/gstqtmoovrecover.c: various (gst): add missing G_PARAM_STATIC_STRINGS flags Canonicalize property names as needed. 2010-10-13 17:47:29 +0200 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: prevent infinite loop when adjusting framerate Fixes #632070. 2010-10-03 23:45:46 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: qtmux: Add G_PARAM_STATIC_STRINGS Add G_PARAM_STATIC_STRINGS to qtmux properties 2010-09-15 17:54:49 -0300 Thiago Santos * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: qtmux: Follow xmp serialization guidelines closer qt and isom variants have different ways of serializing xmp, follow these guidelines. Those can be found in Adobe's xmp docs. 2010-08-16 12:36:24 +0200 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: autodetect out-of-order input timestamps and determine DTS accordingly Favour using input buffer timestamps for DTS, but fallback to using buffer duration (accumulation) if input ts detected out-of-order. Fixes #624212. 2010-07-28 16:15:53 +0200 Marc-André Lureau * gst/quicktime/gstqtmux.c: qtmux: use caps bitrate at last chance If we didn't get the stream's bitrate from one of the atoms, try getting it from the caps as a last resort. https://bugzilla.gnome.org/show_bug.cgi?id=625496 2010-07-28 16:12:11 +0200 Marc-André Lureau * gst/quicktime/atoms.c: qtmux: btrt - max bitrate before average According to iso base media file format, the max bitrate is before the avg https://bugzilla.gnome.org/show_bug.cgi?id=625496 2010-07-06 14:48:08 +0530 Arun Raghavan * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/gstqtmux.c: qtmux: Write 'btrt' atom for H.264 media if possible This writes out the optional 'btrt' atom (MPEG4BitrateBox) for H.264 media if either or both of average and maximum bitrate are available for the stream. https://bugzilla.gnome.org/show_bug.cgi?id=623678 2010-07-05 14:09:50 +0530 Arun Raghavan * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: qtmux: Write avg/max bitrate to ESDS if available This collects the 'bitrate' and 'maximum-bitrate' tags on the corresponding pad and uses these to populate these fields in the ESDS where applicable. https://bugzilla.gnome.org/show_bug.cgi?id=623678 2010-07-02 12:45:20 +0200 Edward Hervey * gst/quicktime/gstqtmux.c: qtmux: Don't use bogus codec/format tags https://bugzilla.gnome.org/show_bug.cgi?id=623365 2010-06-25 20:19:20 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: qtmux: Write uint tags that don't have a complement Write uint tags that have complements (e.g. track-number/ track-count) even when we only have one of them available and set the other one to 0. Fixes #622484 2010-06-21 19:39:54 +0200 Edward Hervey * gst/quicktime/gstqtmux.c: qtmux: Remove the pad from our internal list before calling collectpads Previously we would end up with the collectpaddata structure already freed. This would result in a bogus iteration of mux->sinkpads (all the GstQTPad being freed) and it wouldn't be removed from that list. Finally, due to it not being removed from that list, we would end up calling a bogus gst_qt_mux_pad_reset on those structures => SEGFAULT 2010-05-12 18:50:34 -0700 David Schleef * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmuxmap.c: qtmux: Add VP8 2010-05-11 13:15:37 +0100 Tim-Philipp Müller * tests/check/pipelines/tagschecking.c: tests: don't fail tagschecking test if qtdemux is not available or too old 2010-03-27 09:46:30 +0000 Tim-Philipp Müller * gst/quicktime/gstqtmuxplugin.c: qtmux: use GStreamer package name and origin in the plugin info 2010-03-23 17:34:30 -0300 Thiago Santos * tests/check/pipelines/tagschecking.c: tests: tagschecking: New tags tests Adds new tags checking tests. 2010-03-25 00:20:54 +0000 Tim-Philipp Müller * gst/quicktime/gstqtmux.c: qtmux: init debug category before using it 2010-03-22 16:56:03 +0100 Benjamin Otte * gst/quicktime/atoms.c: Add -Wold-style-definition and fix the warnings 2010-03-22 13:16:33 +0100 Benjamin Otte * gst/quicktime/atoms.c: * gst/quicktime/gstqtmuxmap.h: * tests/check/elements/qtmux.c: Add -Wwrite-strings and fix its warnings 2010-03-21 21:39:18 +0100 Benjamin Otte * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/atomsrecovery.c: * gst/quicktime/descriptors.c: * tests/check/elements/qtmux.c: * tests/check/pipelines/tagschecking.c: Add -Wmissing-declarations -Wmissing-prototypes to configure flags And fix all warnings 2010-03-18 17:30:26 +0100 Benjamin Otte * gst/quicktime/gstqtmoovrecover.c: * gst/quicktime/gstqtmux.c: gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-12 11:28:51 -0300 Thiago Santos * tests/check/pipelines/tagschecking.c: tests: tagschecking: Improvements and new geo-location tests Makes some improvements to tagschecking.c, making it use fakesrc instead of videotestsrc and allowing to set input caps so that more muxers can be used. Previously we could only use those that accepted raw video caps. Also adds some tests for geo-location tags 2010-03-12 10:53:36 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: qtmux: Use xmp on mp4mux and gppmux too Do not restrict xmp to qtmux, but use it too on mp4mux and gppmux 2010-03-05 13:33:37 -0300 Thiago Santos * tests/check/pipelines/tagschecking.c: check: tagschecking: tests for tags serialization in muxers Adds a check unit test that aims to test tags serialization and deserialization consistency (in muxers). It provides a basic function that allows one to easily specify tags, a muxer and a demuxer and a test will be done to check if the tags have been consistently muxed and demuxed 2010-02-22 16:45:34 -0300 Thiago Santos * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmux.c: qtmux: add xmp support Adds xmp metatags adding to qtmux. Fixes #609539 2010-03-11 17:17:15 +0000 Tim-Philipp Müller * gst/quicktime/gstqtmoovrecover.c: qtmux: fix GST_ELEMENT_ERROR usage We need to pass (NULL) rather than NULL for empty arguments. 2010-03-10 10:23:23 -0600 Rob Clark * gst/quicktime/gstqtmoovrecover.c: qtmux: fix compile error gst/quicktime/gstqtmoovrecover.c:268: warning: format not a string literal and no format arguments https://bugzilla.gnome.org/show_bug.cgi?id=612454 2010-02-22 19:38:15 -0300 Thiago Santos * gst/quicktime/gstqtmuxmap.c: qtmux: Rename 'avc-sample' to 'avc' in caps Fixes #606662 2010-02-26 11:50:25 -0800 Michael Smith * gst/quicktime/gstqtmux.c: qtmux: Take lock around use of (non-threadsafe) tagsetter interface. 2010-02-22 16:51:00 -0300 Thiago Santos * gst/quicktime/atoms.c: qtmux: write all udta children atoms UDTA might have META and other children atoms together, write them all. 2010-02-22 10:48:11 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: qtmux: Use internal sink pads list Due to GstCollectPads sink pads list being not reliably iteratable (when not inside the collected function) this patch adds a sink pads list to qtmux to be used when iterating sink pads on reset function. Fixes #609055 2010-02-16 17:13:09 +0100 Mark Nauwelaerts * gst/quicktime/atoms.c: qtmux: prevent leaking hdlr name 2010-02-16 16:24:12 +0100 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmuxmap.c: qtmux: support for ALAC Fixes #580731. 2010-02-16 14:19:04 +0100 Mark Nauwelaerts * gst/quicktime/atoms.c: qtmux: refactor building stsd entry 'wave' extension 2010-02-08 11:51:52 -0300 Thiago Santos * gst/quicktime/atomsrecovery.c: qtmux: atomsrecovery: Fix compilation problem Fixes a compilation error due to unused function result. 2009-12-12 16:07:15 -0300 Thiago Santos * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/atomsrecovery.c: * gst/quicktime/atomsrecovery.h: * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmoovrecover.c: * gst/quicktime/gstqtmoovrecover.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: * gst/quicktime/gstqtmuxplugin.c: qtmux: Adds moov recovery feature Adds a new property to qtmux that sets a path to a file to write and update data about the moov atom (that is not writen till the end of the file). If the pipeline/app crashes during execution it might be possible to recover the movie using the qtmoovrecover element. qtmoovrecover is an element that is also a pipeline. It is not meant to be used with other elements (it has no pads). It is merely a tool/utilitary to recover unfinished qtmux files. Fixes #601576 2010-01-27 19:06:53 -0800 Michael Smith * gst/quicktime/atoms.c: qtmux: for fixed-sample size streams (PCM audio, etc) don't allocate an enormous buffer that we then won't use at all. 2010-01-27 15:37:37 -0800 Michael Smith * gst/quicktime/gstqtmux.c: qtmux: handle muxing adpcm correctly. 2010-01-22 13:36:04 -0800 Michael Smith * gst/quicktime/atoms.c: qtmux: Set the mdia hdlr name field to what quicktime uses. Fix writing it since it's not null-terminated. Improves compatibility with some hardware players. 2010-01-22 13:30:07 -0800 Michael Smith * gst/quicktime/gstqtmux.c: qtmux: endianness in gstreamer is an int, not boolean. 2010-01-26 17:54:28 +0100 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: qtmux: streamline moov data memory storage In particular, use arrays rather than (double) linked lists. 2010-01-26 13:44:04 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: qtmux: g_free is NULL safe 2010-01-20 13:30:48 +0100 Benjamin Otte * gst/quicktime/descriptors.c: * gst/quicktime/descriptors.h: * gst/quicktime/properties.c: [cleanup] Various style and cleanups Various fixes for gtk-doc warnings and making functions without arguments take void as parameter. 2010-01-14 08:09:03 -0300 Thiago Santos * gst/quicktime/atoms.c: * gst/quicktime/gstqtmux.c: qtmux: Actually use new caps info on renegotiation Following the previous qtmux commit, this patch tries to use the new info added to the caps to fill the 'trak' atom's fields and children atoms. This way qtmux will use the late added 'codec_data' when h264parse adds it in the following pipeline: videotestsrc num-buffers=200 ! x264enc byte-stream=true ! \ h264parse output-format=0 ! qtmux ! \ filesink location=test.mov 2010-01-13 23:33:51 -0300 Thiago Santos * gst/quicktime/atoms.c: * gst/quicktime/gstqtmux.c: qtmux: Do caps renegotiation when it only adds fields Qtmux can accept caps renegotiation if the new caps is a superset of the old one, meaning upstream added new info to the caps. This patch still doesn't make qtmux update any atoms info from the new info, but at least it doesn't reject the new caps anymore. A pipeline that reproduces this use case is: videotestsrc num-buffers=200 ! x264enc byte-stream=true ! \ h264parse output-format=0 ! qtmux ! \ filesink location=test.mov 2010-01-13 19:30:45 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: provide request pads under wider conditions Fixes #606859. 2010-01-13 10:35:00 -0300 Thiago Santos * gst/quicktime/gstqtmuxmap.c: qtmux: Only accept avc-sample h264 qtmux and mp4mux should only accept h264 in avc-sample format 2010-01-11 13:13:41 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmuxmap.c: Rename aac's stream-format 'none' to 'raw' Renames aac's stream-format from previous commits from none to raw 2010-01-11 10:34:32 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmuxmap.c: qtmux: Only accept stream-format='none' aac Only accept raw aac streams (stream-format=none) to avoid generating invalid files. Fixes #604925 2009-12-28 11:34:35 +0200 Stefan Kost * gst/quicktime/gstqtmux.h: qtmux: also add .h file changes to unbreak the build 2009-12-27 23:51:50 +0200 Stefan Kost * gst/quicktime/gstqtmux.c: qtmux: use correct names from template for request pads The pads where names pad0, pad1, ... 2009-12-27 23:32:58 +0200 Stefan Kost * gst/quicktime/gstqtmux.c: qtmux: move errors _new_pad to the end 2009-12-21 13:58:30 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: qtmux: Accept non-paired uint tags Adds support for unpaired unsigned interger tags 2009-12-21 12:05:37 -0300 Thiago Santos * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmux.c: qtmux: Adds new tags Maps more tags that are already posted by qtdemux Fixes #599759 2009-12-10 22:20:45 -0300 Thiago Santos * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: * gst/quicktime/gstqtmuxmap.c: qtmux: support more of j2k Reads the new caps added to qtdemux by commit c917d65e6df0b5d585f905c7ad78a8a0a44b2cb0 and adds its corresponding atoms. Also adds support for image/x-jpc as it is the same as image/x-jp2, except that the buffers need to be boxed inside a jp2c isom box before muxing. To solve this the QTPads now have a function that (if not NULL) is called when a buffer is collected. This function returns a replacement to the current collected buffer. Fixes #598916 2009-12-10 16:53:19 -0300 Thiago Santos * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: qtmux: Maps 'classification' tag for 3gpp files Adds the mapping of 'classification' tags to writing of 'clsf' atoms for gppmux. Based on a patch by: Lasse Laukkanen 2009-12-08 17:59:04 -0800 Michael Smith * gst/quicktime/atoms.c: * gst/quicktime/gstqtmux.c: qtmux: remove c++ comments and add some more comments. 2009-12-08 17:55:56 -0800 Michael Smith * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmuxmap.c: qtmux: add ima adpcm support 2009-11-25 21:41:27 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: qtmux: replace _scale with _scale_round Use the rounding version for improved sync between streams. Small variations in the duration when muxing might lead to cumullative wrong timestamping when demuxing. Fixes #602936 2009-11-24 16:16:56 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: qtmux: use timestamps for muxing Try to use timestamps even when the stream has out of order timestamps, only fall back to durations when we detect an out of order buffer. Improves sync between streams. 2009-11-19 18:28:52 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: qtmux: fix missing debug argument Adds a missing debug argument 2009-11-19 11:36:14 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: fix misinforming debug statement 2009-11-19 11:14:57 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: ensure writable buffer metadata before setting caps 2009-10-29 08:36:02 -0300 Thiago Santos * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmuxmap.c: qtmux: support for SVQ3 Adds support for muxing SVQ3 content. Usually this format has decoder info that must be passed in the 'seqh' field in the caps. It is also good to add the gama atom to make quicktime not crash. Fixes #587922 2009-11-17 09:26:05 -0300 Thiago Sousa Santos * gst/quicktime/gstqtmux.c: qtmux: do not leak a string Frees a string after use. Also does some code organization 2009-11-16 14:57:53 -0300 Thiago Sousa Santos * gst/quicktime/atoms.c: qtmux: do not add size to the pointer variable Do not wrongly add the result of the function to the pointer to the buffer size. Instead, check the result to see if the serialization was ok. Based on a patch by: "Carsten Kroll " Fixes #602106 2009-11-06 10:34:39 -0300 Thiago Santos * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: qtmux: handle 'late' streams When muxing streams, some can start later than others. qtmux now handle this by adding an empty edts entry with the duration of the 'lateness' to the stream's trak. It tolerates a stream to be up to 0.1s late. Fixes #586848 2009-11-05 21:35:56 -0300 Thiago Santos * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: qtmux: adds the EDTS and ELTS atoms to atoms.c These atoms will be useful for signaling streams that start later in the file. As well for adding edit lists if needed sometime later. 2009-11-06 00:46:12 -0300 Thiago Santos * gst/quicktime/atoms.c: * gst/quicktime/gstqtmux.c: qtmux: Adding some ifs for protection Adding somes ifs to protect against warning conditions that might happen when upstream element is not sane Fixes #600895 2009-10-16 10:47:32 -0300 Thiago Santos * gst/quicktime/ftypcc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: * gst/quicktime/gstqtmuxmap.c: * gst/quicktime/gstqtmuxmap.h: gppmux: Add support for 3gr6 Keep track of the chunk durations to be able to add 3gr6 brand if it is a faststart file and the longest chunk is smaller than a sec. Implemented according to 3gpp TS 26.244 v6.4.0 (2005-09) Fixes #584361 2009-10-15 21:11:16 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: qtmux: Only push ftyp later (in faststart mode) In faststart mode, there is no need to send the ftyp right at the beginning of the stream. Waiting and sending it only later (when the moov atom is ready to be sent) provides us with more information about the stream and we can better select the compatible brands. 2009-10-15 17:51:39 -0300 Thiago Santos * gst/quicktime/gstqtmux.c: qtmux: Improve error message Improve error message when we can't get or estimate the timestamp/duration of a buffer 2009-09-29 15:47:13 +0200 Marc-André Lureau * gst/quicktime/atoms.c: qtmux: fix flags_as_uint to flags[] 2009-08-04 12:58:35 +0200 Jan Urbanski * gst/quicktime/gstqtmux.c: qtmux: Don't require endianness field for 8 bit raw audio Fixes bug #590360. 2009-06-25 08:38:21 +0200 Edward Hervey * gst/quicktime/atoms.c: qtmux: Remove unused variable. 2009-06-25 08:38:10 +0200 Edward Hervey * gst/quicktime/gstqtmux.c: qtmux: Fix debug statement. 2009-06-11 15:54:42 +0200 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: qtmux: only use (64-bit) extended (mdat) atom size if needed. Fixes #585319. 2009-06-10 14:46:14 +0200 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: set default movie timescale to microsecond units 2009-06-10 13:24:20 +0200 Mark Nauwelaerts * gst/quicktime/atoms.c: qtmux: compress/optimize stsc writing 2009-06-10 12:42:44 +0200 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmuxmap.c: qtmux: add 3GP style tagging (and refactor appropriately) 2009-06-01 23:00:44 +0200 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmux.c: qtmux (and variants): handle pixel-aspect-ratio. Fixes #584358. 2009-06-01 22:42:08 +0200 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/ftypcc.h: * gst/quicktime/gstqtmuxmap.c: gppmux: enhance ftyp brand heuristic. Fixes #584360. 2009-05-28 13:56:10 +0200 Mark Nauwelaerts * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmux.c: qtmux: use different stsd atom type for H263 for ISO and QT variants Fixes #584114. 2009-05-15 01:54:44 -0300 Thiago Santos * gst/quicktime/atoms.c: [qtmux] Fixes segfault when adding a blob as first tag. Moves tags data initialization to the function that actually appends the tags to the list. Fixes #582702 Also fixes some style caught by the pre-commit hook. 2009-05-10 21:21:36 +0200 Mark Nauwelaerts * gst/quicktime/gstqtmuxmap.c: gppmux: Add MPEG-4 part 2 to supported formats. Fixes #581593. 2009-05-07 17:53:42 +0100 Christian Schaller * gst/quicktime/gstqtmux.c: Add ranks to various muxers and encoders in -bad 2009-04-30 14:43:36 -0300 Thiago Santos * gst/quicktime/gstqtmuxmap.c: qtmux: changes caps of src pads to video/quicktime, variant=something Take a look at bug #580005 for further info. 2009-04-24 18:53:36 -0300 Thiago Santos * gst/quicktime/gstqtmuxmap.c: mp4mux: Changes src caps to application/x-iso-mp4 Fixes #580005 2009-03-25 21:24:44 +0100 Mark Nauwelaerts * gst/quicktime/gstqtmux.c: qtmux: fix reusing element State change to READY and then back to PAUSED should still provide the proper structures as are otherwise freshly available following a request_new_pad. Pointed out by Thiago Santos. 2009-03-23 11:17:39 +0100 Wim Taymans * gst/quicktime/gstqtmux.c: qtmux: fix includes for lseek -- 2009-03-20 14:20:16 +0100 LRN * gst/quicktime/gstqtmux.c: win32: fix seeking in large files Use _lseeki64() on Windows to seek in large files. Fixes #576021. 2009-03-02 10:57:35 +0100 Edward Hervey * gst/quicktime/gstqtmux.c: qtmux: Be a bit more verbose in our debug message when failing to renegotiate 2009-01-28 13:25:14 +0100 Mark Nauwelaerts * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmuxmap.c: Additional media type support in qtmux (and friends). Support AMR and H263 for both qtmux and gppmux, and add extensions in sample table description. 2009-01-09 21:59:48 +0000 David Schleef gst/quicktime/gstqtmuxmap.c: Add video/x-qt-part and video/x-m4-part to caps so schroenc/schroparse can use it. Fixes #5... Original commit message from CVS: * gst/quicktime/gstqtmuxmap.c: Add video/x-qt-part and video/x-m4-part to caps so schroenc/schroparse can use it. Fixes #566958 2008-12-19 18:53:47 +0000 Mark Nauwelaerts gst/quicktime/gstqtmux.c: Do not tempt or suggest to violate gst_collect_pads API specification. Original commit message from CVS: * gst/quicktime/gstqtmux.c: (gst_qt_mux_change_state): Do not tempt or suggest to violate gst_collect_pads API specification. 2008-12-19 18:33:47 +0000 Mark Nauwelaerts gst/quicktime/: Dual license qtmux LGPL/MIT. Fixes #564232. Original commit message from CVS: * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/descriptors.c: * gst/quicktime/descriptors.h: * gst/quicktime/fourcc.h: * gst/quicktime/ftypcc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: * gst/quicktime/gstqtmuxmap.c: * gst/quicktime/gstqtmuxmap.h: * gst/quicktime/properties.c: * gst/quicktime/properties.h: Dual license qtmux LGPL/MIT. Fixes #564232. 2008-12-16 16:26:52 +0000 Stefan Kost Totally remove the internal taglists and fully use tagsetter. Fixes various tag muxing issues. Original commit message from CVS: * ext/celt/gstceltenc.c: * ext/celt/gstceltenc.h: * ext/metadata/gstmetadatamux.c: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: Totally remove the internal taglists and fully use tagsetter. Fixes various tag muxing issues. 2008-12-01 16:37:45 +0000 Mark Nauwelaerts gst/quicktime/atoms.c: Fix mj2 sample description metadata construction. Original commit message from CVS: * gst/quicktime/atoms.c: (build_jp2h_extension): Fix mj2 sample description metadata construction. 2008-11-18 01:09:09 +0000 David Schleef gst/quicktime/gstqtmux.c: Quiet a debugging message that I recently added. Original commit message from CVS: * gst/quicktime/gstqtmux.c: Quiet a debugging message that I recently added. 2008-11-15 02:56:31 +0000 David Schleef gst/quicktime/gstqtmux.*: Use dts from GST_BUFFER_OFFSET_END() for video/x-qt-part. Original commit message from CVS: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: Use dts from GST_BUFFER_OFFSET_END() for video/x-qt-part. 2008-11-14 21:24:51 +0000 Mark Nauwelaerts gst/quicktime/: Revert previous commit. Original commit message from CVS: * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/descriptors.c: * gst/quicktime/descriptors.h: * gst/quicktime/fourcc.h: * gst/quicktime/ftypcc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: * gst/quicktime/gstqtmuxmap.c: * gst/quicktime/gstqtmuxmap.h: * gst/quicktime/properties.c: * gst/quicktime/properties.h: Revert previous commit. 2008-11-14 20:38:18 +0000 Mark Nauwelaerts gst/quicktime/: Dual license LGPL/MIT, as apparently supposed to. Original commit message from CVS: * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/descriptors.c: * gst/quicktime/descriptors.h: * gst/quicktime/fourcc.h: * gst/quicktime/ftypcc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: * gst/quicktime/gstqtmuxmap.c: * gst/quicktime/gstqtmuxmap.h: * gst/quicktime/properties.c: * gst/quicktime/properties.h: Dual license LGPL/MIT, as apparently supposed to. 2008-11-14 20:17:10 +0000 Mark Nauwelaerts gst/quicktime/: Cut detour in sample description extension construction. Original commit message from CVS: * gst/quicktime/atoms.c: (build_esds_extension), (build_mov_aac_extension), (build_jp2h_extension), (build_codec_data_extension): * gst/quicktime/atoms.h: * gst/quicktime/fourcc.h: * gst/quicktime/gstqtmux.c: (gst_qt_mux_audio_sink_set_caps), (gst_qt_mux_video_sink_set_caps): * gst/quicktime/gstqtmuxmap.c: (gst_qt_mux_map_format_to_header): Cut detour in sample description extension construction. Also actually implement ISO JPEG2000 mj2 format. 2008-11-11 19:31:35 +0000 Mark Nauwelaerts tests/check/: Add unit test for qtmux. Original commit message from CVS: * tests/check/Makefile.am: * tests/check/elements/qtmux.c: (setup_src_pad), (teardown_src_pad), (setup_qtmux), (cleanup_qtmux), (check_qtmux_pad), (GST_START_TEST), (qtmux_suite), (main): Add unit test for qtmux. 2008-11-11 19:24:12 +0000 Mark Nauwelaerts gst/quicktime/gstqtmux.c: Add some more safety/sanity checks in tag manipulation. Original commit message from CVS: * gst/quicktime/gstqtmux.c: (gst_qt_mux_add_metadata_tags): Add some more safety/sanity checks in tag manipulation. 2008-11-08 02:00:58 +0000 Thiago Sousa Santos Copy qtmux from revision 148 of the gst-qtmux repository. Original commit message from CVS: patch by: Thiago Sousa Santos * configure.ac: * gst/quicktime/Makefile.am: * gst/quicktime/atoms.c: * gst/quicktime/atoms.h: * gst/quicktime/descriptors.c: * gst/quicktime/descriptors.h: * gst/quicktime/fourcc.h: * gst/quicktime/ftypcc.h: * gst/quicktime/gstqtmux.c: * gst/quicktime/gstqtmux.h: * gst/quicktime/gstqtmuxmap.c: * gst/quicktime/gstqtmuxmap.h: * gst/quicktime/properties.c: * gst/quicktime/properties.h: Copy qtmux from revision 148 of the gst-qtmux repository. Fixes #550280. 2011-04-12 18:25:34 +0100 Tim-Philipp Müller * Android.mk: * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/inspect/plugin-quicktime.xml: * gst/qtdemux/LEGAL: * gst/qtdemux/Makefile.am: * gst/qtdemux/gstrtpxqtdepay.c: * gst/qtdemux/gstrtpxqtdepay.h: * gst/qtdemux/qtatomparser.h: * gst/qtdemux/qtdemux.c: * gst/qtdemux/qtdemux.h: * gst/qtdemux/qtdemux.vcproj: * gst/qtdemux/qtdemux_dump.c: * gst/qtdemux/qtdemux_dump.h: * gst/qtdemux/qtdemux_fourcc.h: * gst/qtdemux/qtdemux_lang.c: * gst/qtdemux/qtdemux_lang.h: * gst/qtdemux/qtdemux_types.c: * gst/qtdemux/qtdemux_types.h: * gst/qtdemux/qtpalette.h: * gst/qtdemux/quicktime.c: * gst/quicktime/LEGAL: * gst/quicktime/Makefile.am: * gst/quicktime/gstrtpxqtdepay.c: * gst/quicktime/gstrtpxqtdepay.h: * gst/quicktime/qtatomparser.h: * gst/quicktime/qtdemux.c: * gst/quicktime/qtdemux.h: * gst/quicktime/qtdemux.vcproj: * gst/quicktime/qtdemux_dump.c: * gst/quicktime/qtdemux_dump.h: * gst/quicktime/qtdemux_fourcc.h: * gst/quicktime/qtdemux_lang.c: * gst/quicktime/qtdemux_lang.h: * gst/quicktime/qtdemux_types.c: * gst/quicktime/qtdemux_types.h: * gst/quicktime/qtpalette.h: * gst/quicktime/quicktime.c: * po/POTFILES.in: qtdemux: rename directory to quicktime to match plugin name In preparation for qtmux moving to -good. 2011-04-12 11:49:54 +0200 Mark Nauwelaerts * gst/flv/gstflvdemux.c: flvdemux: simplify framerate fraction calculation 2011-01-24 15:45:28 -0600 Leonardo Sandoval * gst/flv/gstflvdemux.c: * gst/flv/gstflvdemux.h: flvdemux: add width, height and framerate to caps when present on onMetaData Fixes #640483. 2010-08-24 13:57:55 +0200 Pascal Buhler * gst/rtpmanager/gstrtpssrcdemux.c: rtpssrcdemux: Unknown SSRC is not fatal https://bugzilla.gnome.org/show_bug.cgi?id=646966 2010-08-24 13:54:58 +0200 Pascal Buhler * gst/rtpmanager/rtpsession.c: rtpsession: Number of active sources should be updated whenever the status of the source changes to active Forward-ported by Olivier Crête https://bugzilla.gnome.org/show_bug.cgi?id=646965 2010-06-23 11:29:58 +0200 Havard Graff * gst/rtpmanager/rtpsession.c: rtpmanager: ignore a BYE if it is sent with our internal SSRC https://bugzilla.gnome.org/show_bug.cgi?id=646964 2010-01-29 09:49:48 -0300 Thiago Santos * gst/qtdemux/qtdemux.c: qtdemux: Adds more h264 fields to its caps Adds alignment=au and stream-format=avc to h264 caps Fixes #606662 2011-04-11 12:44:19 +0300 Stefan Kost * configure.ac: * ext/jack/gstjackaudiosink.c: * ext/jack/gstjackaudiosrc.c: jack: also handle deprecations for jack 1.9.7 Jack 1.9.7 was released 20.Mar.2011, need to handle the deprecated api for this version too. 2011-04-10 18:56:52 -0400 Thibault Saunier * Android.mk: * android/NOTICE: * android/apetag.mk: * android/avi.mk: * android/flv.mk: * android/gst/rtpmanager/gstrtpbin-marshal.c: * android/gst/rtpmanager/gstrtpbin-marshal.h: * android/gst/udp/gstudp-enumtypes.c: * android/gst/udp/gstudp-enumtypes.h: * android/gst/udp/gstudp-marshal.c: * android/gst/udp/gstudp-marshal.h: * android/icydemux.mk: * android/id3demux.mk: * android/qtdemux.mk: * android/rtp.mk: * android/rtpmanager.mk: * android/rtsp.mk: * android/soup.mk: * android/udp.mk: * android/wavenc.mk: * android/wavparse.mk: * gst/alpha/Makefile.am: * gst/apetag/Makefile.am: * gst/audiofx/Makefile.am: * gst/auparse/Makefile.am: * gst/autodetect/Makefile.am: * gst/avi/Makefile.am: * gst/cutter/Makefile.am: * gst/debugutils/Makefile.am: * gst/deinterlace/Makefile.am: * gst/effectv/Makefile.am: * gst/equalizer/Makefile.am: * gst/flv/Makefile.am: * gst/flx/Makefile.am: * gst/goom/Makefile.am: * gst/goom2k1/Makefile.am: * gst/icydemux/Makefile.am: * gst/id3demux/Makefile.am: * gst/imagefreeze/Makefile.am: * gst/interleave/Makefile.am: * gst/law/Makefile.am: * gst/level/Makefile.am: * gst/matroska/Makefile.am: * gst/monoscope/Makefile.am: * gst/multifile/Makefile.am: * gst/multipart/Makefile.am: * gst/qtdemux/Makefile.am: * gst/replaygain/Makefile.am: * gst/rtp/Makefile.am: * gst/rtpmanager/Makefile.am: * gst/rtsp/Makefile.am: * gst/shapewipe/Makefile.am: * gst/smpte/Makefile.am: * gst/spectrum/Makefile.am: * gst/udp/Makefile.am: * gst/videobox/Makefile.am: * gst/videocrop/Makefile.am: * gst/videofilter/Makefile.am: * gst/videomixer/Makefile.am: * gst/wavenc/Makefile.am: * gst/wavparse/Makefile.am: * gst/y4m/Makefile.am: android: Make it ready for androgenizer Remove the android/ top dir Fixe the Makefile.am to be androgenized To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files. Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git 2011-04-05 21:14:43 +0200 Haakon Sporsheim * gst/rtp/gstrtpgstpay.c: rtpgstpay: declare frag_offset to hold 32bits. As specified in documenation above and below. https://bugzilla.gnome.org/show_bug.cgi?id=646954 2011-04-09 12:41:48 +0200 Havard Graff * gst/rtpmanager/gstrtpsession.c: rtpsession: fix wrongly applied patch Obviously recv_rtp_sink does not have much to do with send_rtcp_src... See commit 046ff170. https://bugzilla.gnome.org/show_bug.cgi?id=647263 2011-04-08 15:59:58 +0100 Tim-Philipp Müller * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstac3parse.c: * gst/audioparsers/gstamrparse.c: * gst/audioparsers/gstdcaparse.c: * gst/audioparsers/gstmpegaudioparse.c: audioparsers: update for set_frame_props -> set_frame_rate API change 2011-04-08 00:03:21 +0100 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.gitignore: tests: hook up audioparser unit tests 2011-04-07 18:30:49 +0200 Mark Nauwelaerts * gst/audioparsers/gstmpegaudioparse.c: mpegaudioparse: relax sync match a bit when draining ... to at least allow initial caps change (but no further caps jitter). Fixes unit test again after previous change. 2011-04-07 15:21:10 +0100 Tim-Philipp Müller * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/gst-plugins-good-plugins.interfaces: * docs/plugins/gst-plugins-good-plugins.prerequisites: * docs/plugins/inspect/plugin-avi.xml: * docs/plugins/inspect/plugin-cairo.xml: * docs/plugins/inspect/plugin-flv.xml: * docs/plugins/inspect/plugin-matroska.xml: * docs/plugins/inspect/plugin-monoscope.xml: * docs/plugins/inspect/plugin-png.xml: * docs/plugins/inspect/plugin-video4linux2.xml: * docs/plugins/inspect/plugin-videofilter.xml: docs: update for changes in git 2011-04-07 15:20:19 +0100 Tim-Philipp Müller * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/inspect/plugin-audioparsers.xml: docs: add audioparsers to docs 2011-04-07 15:07:15 +0100 Tim-Philipp Müller * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstaacparse.h: * gst/audioparsers/gstamrparse.c: * gst/audioparsers/gstamrparse.h: * gst/audioparsers/plugin.c: aacparse, amrparse: gst_fooparse_xyz -> gst_foo_parse_xyz to match GstFooParse See moving-plugins checklist. 2011-04-07 14:43:42 +0100 Tim-Philipp Müller * configure.ac: * gst/audioparsers/Makefile.am: * gst/audioparsers/plugin.c: audioparsers: hook up to build 2011-04-07 13:26:41 +0100 Tim-Philipp Müller * gst/audioparsers/Makefile.am: * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstaacparse.h: * gst/audioparsers/gstac3parse.c: * gst/audioparsers/gstac3parse.h: * gst/audioparsers/gstamrparse.c: * gst/audioparsers/gstamrparse.h: * gst/audioparsers/gstdcaparse.c: * gst/audioparsers/gstdcaparse.h: * gst/audioparsers/gstflacparse.c: * gst/audioparsers/gstflacparse.h: * gst/audioparsers/gstmpegaudioparse.c: * gst/audioparsers/gstmpegaudioparse.h: audioparsers: port to new GstBaseParse in core 2011-04-04 20:55:39 +0200 Mark Nauwelaerts * gst/audioparsers/gstmpegaudioparse.c: mpegaudioparse: require tighter sync match when draining 2011-04-01 14:47:43 +0200 Sebastian Dröge * gst/audioparsers/gstmpegaudioparse.c: * gst/audioparsers/gstmpegaudioparse.h: mpegaudioparse: Parse encoder delay and encoder padding from the LAME header if present 2011-03-09 23:06:14 +0530 Arun Raghavan * gst/audioparsers/plugin.c: dcaparse: Bump rank to primary+1 Seems to work fine with a reasonably wide range of media, so bumping rank. 2011-03-23 22:02:37 +0530 Arun Raghavan * gst/audioparsers/gstdcaparse.c: * gst/audioparsers/gstdcaparse.h: dcaparse: Expose frame size in caps This exports the size of the frame (number of bytes from one sync point to the next) as the "frame_size" field in caps. 2011-03-09 23:03:10 +0530 Arun Raghavan * gst/audioparsers/gstdcaparse.c: * gst/audioparsers/gstdcaparse.h: dcaparse: Expose block size in caps This sets the "block_size" field on caps as the number of samples encoded in one frame. 2011-03-16 15:53:13 +0000 Tim-Philipp Müller * gst/audioparsers/gstmpegaudioparse.c: mpegaudioparse: add FIXME for making the base class use xing seek tables better 2011-03-14 18:25:25 +0100 Sebastian Dröge * gst/audioparsers/gstdcaparse.c: * gst/audioparsers/gstdcaparse.h: dcaparse: Add depth and endianness to the caps Some decoders can only handle specific endianness or a fixed depth and this allows better negotiation. Fixes bug #644208. 2011-02-26 13:53:44 -0800 David Schleef * gst/audioparsers/gstaacparse.c: Revert "aacparse: allow parsed frames on sink pad" This reverts commit e49b89d5c5a1244fa0dcb8bb4996e38fb9bff9e5. 2011-02-23 17:25:03 -0800 David Schleef * gst/audioparsers/gstaacparse.c: aacparse: allow parsed frames on sink pad 2010-10-13 16:12:02 -0700 David Schleef * tests/check/elements/parser.c: tests: fix baseparse test 2010-10-13 15:39:55 -0700 David Schleef * gst/audioparsers/Makefile.am: * gst/audioparsers/gstaacparse.h: * gst/audioparsers/gstac3parse.h: * gst/audioparsers/gstamrparse.h: * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: * gst/audioparsers/gstdcaparse.h: * gst/audioparsers/gstflacparse.h: * gst/audioparsers/gstmpegaudioparse.h: baseparse: Create baseparse library 2011-02-07 14:46:57 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: tune QUERY_SEEKING response Even if we currently do not have a duration yet, assume seekable if it looks like we'll likely be able to determine it later on (which coincides with needed information to perform seeking). Fixes #641047. 2011-02-08 23:39:24 +0530 Arun Raghavan * gst/audioparsers/gstbaseparse.c: baseparse: Update min/max bitrate before first posting them This avoids posting an initial min-bitrate of G_UINTMAX and max-bitrate of 0. https://bugzilla.gnome.org/show_bug.cgi?id=641857 2011-02-08 23:50:13 +0530 Arun Raghavan * gst/audioparsers/gstmpegaudioparse.c: * gst/audioparsers/gstmpegaudioparse.h: mpegaudioparse: Post CBR bitrate as nominal bitrate Even if VBR headers are missing, we can't guarantee that a stream is in fact a CBR stream, so it's safer to let baseparse calculate the average bitrate rather than assume a CBR stream. However, in order to make /some/ metadata available before the requisite number of frames have been parsed, this posts the bitrate from the non-VBR headers as the nominal bitrate. https://bugzilla.gnome.org/show_bug.cgi?id=641858 2010-09-06 14:10:11 +0200 Mark Nauwelaerts * gst/audioparsers/gstamrparse.c: amrparse: a valid amr-wb frame should not have reserved frame type index See #639715. 2011-01-27 16:52:34 +0100 Mark Nauwelaerts * gst/audioparsers/gstac3parse.c: ac3parse: improve handling of dependent substream frames In particular, timestamps of these should track main-stream timestamps. 2011-01-21 14:53:39 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: tune default duration estimate update interval Rather than a fixed default frame count, estimate frame count to aim for an interval duration depending on fps if available, otherwise use old fixed default. 2011-01-14 15:16:04 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: reverse playback; mind keyframes for fragment boundary 2011-01-13 15:26:21 +0100 Mark Nauwelaerts * gst/audioparsers/gstamrparse.c: amrparse: properly check for sufficient available data prior to access 2011-01-12 14:40:37 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: ensure non-empty candidate frames 2011-01-11 15:24:23 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: clarify some debug statements 2011-01-11 15:24:02 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: properly track upstream timestamps ... rather than with a delay. 2011-01-11 15:23:29 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: need proper frame duration to obtain sensible frame bitrate 2011-01-11 15:22:51 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: proper initial values for index tracking variables 2011-01-11 12:05:13 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: arrange for consistent event handling 2011-01-10 16:59:59 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.h: baseparse: header style cleaning 2011-01-10 17:07:38 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: provide some more initial frame metadata in parse_frame ... and document accordingly. 2011-01-10 16:56:36 +0100 Mark Nauwelaerts * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: * gst/audioparsers/gstflacparse.c: baseparse: refactor passthrough into format flags Also add a format flag to signal baseparse that subclass/format can provide (parsed) timestamp rather than an estimated one. In particular, such "strong" timestamp then allows to e.g. determine duration. 2011-01-10 15:34:48 +0100 Mark Nauwelaerts * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstac3parse.c: * gst/audioparsers/gstamrparse.c: * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: * gst/audioparsers/gstdcaparse.c: * gst/audioparsers/gstflacparse.c: * gst/audioparsers/gstmpegaudioparse.c: baseparse: introduce a baseparse frame to serve as context ... and adjust subclass parsers accordingly 2011-01-07 16:39:51 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: restrict duration scanning to pull mode and avoid extra set_caps call 2011-01-07 15:58:49 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: update some documentation Also add some more debug. 2011-01-06 11:41:44 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: allow increasing min_size for current frame parsing only Also check that subclass actually either directs to skip bytes or increases expected frame size to avoid going nowhere in bogus indefinite looping. 2011-01-14 15:26:37 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baesparse: fix refactor regression in loop based parsing 2011-01-06 11:16:56 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: pass all available data to subclass rather than minimum Also reduce some adapter calls and add a few debug statements. 2010-12-10 15:59:49 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: fix reverse playback handling 2010-12-10 14:56:13 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: minor typo and debug statement cleanup 2010-12-10 14:40:05 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: reduce locking ... which is either already mute and/or implicitly handled by STREAM_LOCK. 2011-01-14 14:08:38 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: avoid loop in frame locating interpolation 2011-01-19 18:26:30 +0100 Mark Nauwelaerts * gst/audioparsers/gstflacparse.c: flacparse: mind gst_buffer_unref not liking NULL Fixes #639950. 2011-01-14 16:30:11 -0300 Thiago Santos * gst/audioparsers/gstbaseparse.c: audioparsers: baseparse: Be careful to not lose the event ref Don't unref the event if it hasn't been handled, because the caller assumes it is still valid and might reuse it. I ran into this problem when transcoding an AVI (with mp3 inside) to gpp. https://bugzilla.gnome.org/show_bug.cgi?id=639555 2011-01-13 17:10:13 +0000 Tim-Philipp Müller * gst/audioparsers/gstdcaparse.c: dcaparse: fix sync word for 14-bit little endian coding Fix copy'n'paste bug that made us look for the raw little endian sync word twice instead of looking for the 14-bit LE sync word as well. Fixes parsing of such streams (see #636234 for sample file). 2011-01-13 16:27:04 +0000 Tim-Philipp Müller * gst/audioparsers/gstbaseparse.c: docs: minor baseparse docs/comment fixes Remove copy'n'paste leftovers. 2011-01-06 12:49:43 +0100 Edward Hervey * gst/audioparsers/gstflacparse.c: flacparse: Fix unitialized variable on macosx 2010-12-13 15:17:29 +0100 Mark Nauwelaerts * gst/audioparsers/gstac3parse.c: ac3parse: relax bsid checking ... to the widest possible spec interpretation. Fixes #637062. 2010-12-03 18:11:56 +0100 Mark Nauwelaerts * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstac3parse.c: * gst/audioparsers/gstamrparse.c: audioparsers: update some documentation 2010-12-03 18:11:38 +0100 Mark Nauwelaerts * gst/audioparsers/gstmpegaudioparse.c: mpegaudioparse: add to documentation 2010-12-03 18:11:09 +0100 Mark Nauwelaerts * gst/audioparsers/gstdcaparse.c: dcaparse: add to documentation 2010-11-08 19:58:31 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: increase keyframe awareness ... which is not particular relevant for audio parsing, but more so in video cases. In particular, auto-determine if dealing with video (caps). 2010-12-01 15:28:53 +0100 Mark Nauwelaerts * gst/audioparsers/gstac3parse.c: * gst/audioparsers/gstac3parse.h: ac3parse: use proper EAC-3 caps 2010-11-30 15:41:02 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: avoid unexpected stray metadata 2010-11-30 15:40:28 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: use proper _NONE output value when applicable 2010-11-25 18:56:42 +0100 Edward Hervey * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstamrparse.c: * gst/audioparsers/gstbaseparse.c: audioparsers: Remove dead assignments 2010-11-25 17:14:23 +0100 Andoni Morales Alastruey * gst/audioparsers/gstbaseparse.c: audioparse: fix possible division-by-zero https://bugzilla.gnome.org/show_bug.cgi?id=635786 2010-11-17 16:23:42 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: use correct offset when adding index entry ... bearing in mind that BUFFER_OFFSET is media specific and may not reflect the basic offset after having been parsed. 2010-11-17 14:30:09 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: enhancements for timestamp marked framed formats That is, as such formats allow subclass to extract position from frame, it is possible to extract duration (if not otherwise provided) from (near) last frame, and a seek can fairly accurately target the required position. Fixes #631389. 2010-11-16 17:06:14 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: refactor frame scanning peformed by _loop 2010-11-16 18:04:00 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: slightly optimize sending of pending newsegment events 2010-11-16 17:04:35 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: minor fixes and enhancements Arrange for upstream as well as downstream flushing when seeking. Also determine upstream size as well as seekability. Adjust some comments to reality and employ debug statement in proper order. 2010-11-17 15:33:36 +0100 Mark Nauwelaerts * gst/audioparsers/gstaacparse.c: aacparse: minor cleanups 2010-11-17 15:24:37 +0100 Mark Nauwelaerts * gst/audioparsers/gstaacparse.c: aacparse: fix regression in ADIF src caps setting 2010-11-16 12:11:53 +0100 Mark Nauwelaerts * gst/audioparsers/gstflacparse.c: * gst/audioparsers/gstflacparse.h: flacparse: parse seektable Fixes #631389 (partially). 2010-11-16 12:08:54 +0100 Mark Nauwelaerts * gst/audioparsers/gstflacparse.c: flacparse: minor refactor and enable default baseparse segment clipping 2010-11-09 19:38:25 +0100 Mark Nauwelaerts * gst/audioparsers/gstmpegaudioparse.c: mpegaudioparse: fix silly leak in _reset 2010-10-29 14:08:58 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: use only upstream duration if it provides one 2010-10-25 14:15:50 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: reflow update_bitrate code ... which makes local variables represent real state better, and avoids triggering unneeded updates/actions. 2010-10-25 14:13:51 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: add some debug statements 2010-10-19 23:25:54 +0100 Tim-Philipp Müller * gst/audioparsers/gstdcaparse.c: dcaparse: init variable to make osx build bot happy gstdcaparse.c: In function 'gst_dca_parse_check_valid_frame': gstdcaparse.c:246: warning: 'best_sync' may be used uninitialized in this function 2010-10-19 00:15:20 +0100 Tim-Philipp Müller * gst/audioparsers/Makefile.am: * gst/audioparsers/gstdcaparse.c: * gst/audioparsers/gstdcaparse.h: * gst/audioparsers/plugin.c: audioparsers: add very basic dts/dca parser Still some issues, e.g. with seekable queries in totem, but also processing already-chunked input (created with matroskademux ! gdppay). 2010-10-14 16:48:21 +0200 Mark Nauwelaerts * gst/audioparsers/gstac3parse.c: ac3parse: properly parse e-ac3 frame header Also add a few debug statements. 2010-10-13 11:00:01 +0200 Mark Nauwelaerts * gst/audioparsers/gstflacparse.c: flacparse: tweak setting buffer metadata; avoid timestamp jitter Fixes #631993. 2010-10-12 18:07:49 +0200 Mark Nauwelaerts * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstaacparse.h: aacparse: streamline src caps setting In particular, also set src caps whenever changes in stream warrant doing so. 2010-10-12 10:28:33 +0200 Sebastian Dröge * tests/check/elements/flacparse.c: flacparse: Adjust unit tests to new flacparse behaviour Garbage after frames is now included in the frames because flacparse has no easy way to detect the real end of a frame. Decoders are expected to everything after the frame because only decoding the bitstream will reveal the real end of the frame. Fixes bug #631814. 2010-10-12 10:27:53 +0200 Sebastian Dröge * gst/audioparsers/gstflacparse.c: flacparse: Don't drop the last frame if it is followed by garbage See bug #631814. 2010-10-11 17:49:46 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: perform bitrate handling and posting after newsegment sending 2010-10-11 17:36:19 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: immediately post subclass provided bitrate 2010-10-11 17:06:48 +0200 Mark Nauwelaerts * gst/audioparsers/gstflacparse.c: flacparse: fix parsing with unknown framesizes Fixes #631814 (mostly). 2010-10-07 23:37:36 +0200 Sebastian Dröge * gst/audioparsers/gstflacparse.c: flacparse: Simplify frame header parsing by using lookup tables Based on a patch by Felipe Contreras. See bug #631200. 2010-10-07 23:28:08 +0200 Sebastian Dröge * gst/audioparsers/gstflacparse.c: * gst/audioparsers/gstflacparse.h: flacparse: Don't parse the complete FLAC frames but only look for valid frame headers Thanks to Felipe Contreras for the suggestion. This is partially based on his patches and makes flacparse more than 3.5 times faster. Looking for valid frame headers is unlikely to give false positives because every frame header is at least 9 bytes long, contains a 14 bit sync code and a 8 bit checksum over the first 8 bytes. Fixes bug #631200. 2010-10-06 18:32:51 +0200 Sebastian Dröge * gst/audioparsers/gstflacparse.c: flacparse: Really post tags only after the initial newsegment event The first newsegment event will be send by the first call to gst_base_parse_push_buffer() if necessary, posting the tags before that is not a good idea. Instead do it from the GstBaseParse::pre_push_buffer vfunc. 2010-10-05 11:17:52 +0100 Tim-Philipp Müller * gst/audioparsers/gstbaseparse.c: Revert "baseparse: add skip property" This reverts commit b5a3d60363d837a10f0533c141ec93d10b742312. Reverting this for now, since no one really seems to remember why this property exists or what it could possibly be good for. It seems to have been in the original mp3parse since the beginning of time and was back- ported from there. 2010-10-04 10:41:52 +0200 Sebastian Dröge * gst/audioparsers/gstflacparse.c: flacparse: Fix uninitialized variable compiler warnings These warnings are wrong, the variables are only used if they were initialized by the bit reader. 2010-09-14 02:48:58 +0300 Felipe Contreras * gst/audioparsers/gstflacparse.c: flacparse: fix picture parsing Signed-off-by: Felipe Contreras 2010-10-03 23:54:49 +0200 Sebastian Dröge * gst/audioparsers/gstflacparse.c: flacparse: Push tags before the header buffers are pushed 2010-08-02 20:50:21 +0300 Felipe Contreras * gst/audioparsers/gstflacparse.c: flacparse: trivial caps fix Signed-off-by: Felipe Contreras 2010-10-03 23:50:29 +0200 Sebastian Dröge * gst/audioparsers/gstbaseparse.c: audioparser: Let the format string agree with the parameters to fix compiler warning 2010-10-03 15:41:20 +0200 Sebastian Dröge * gst/audioparsers/gstac3parse.c: ac3parse: Use unchecked versions of the bitreader get functions We didn't check the return values anyway... 2010-09-22 15:44:43 +0530 Arun Raghavan * gst/audioparsers/gstbaseparse.c: baseparse: Fix debug output We lose the reference to the buffer after gst_pad_push(), so the debug print should happen before. https://bugzilla.gnome.org/show_bug.cgi?id=622276 2010-10-01 12:34:55 +0200 Mark Nauwelaerts * tests/check/elements/flacparse.c: * tests/check/elements/parser.c: * tests/check/elements/parser.h: audioparsers: add flacparse unit test ... and tweak parser test helper in the process. 2010-09-29 16:12:42 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: support reverse playback ... in pull mode or upstream driven. 2010-09-27 12:16:43 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: remove done TODOs and update documentation 2010-09-25 14:40:54 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: use determined seekability in answering SEEKING query 2010-09-25 14:32:06 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: add skip property 2010-09-25 13:59:39 +0200 Mark Nauwelaerts * tests/check/elements/ac3parse.c: * tests/check/elements/mpegaudioparse.c: audioparsers: add ac3parse and mpegaudioparse unit test 2010-09-25 13:59:18 +0200 Mark Nauwelaerts * gst/audioparsers/Makefile.am: * gst/audioparsers/gstmpegaudioparse.c: * gst/audioparsers/gstmpegaudioparse.h: * gst/audioparsers/plugin.c: mpegaudioparse: initial version ... adequately equivalent to mp3parse, so lets boldly set it to higher rank. 2010-09-25 14:01:07 +0200 Mark Nauwelaerts * gst/audioparsers/gstaacparse.c: aacparse: set minimum frame size at _start ... rather than one time at _init. 2010-09-25 13:50:51 +0200 Mark Nauwelaerts * tests/check/elements/aacparse.c: * tests/check/elements/amrparse.c: * tests/check/elements/parser.c: * tests/check/elements/parser.h: audioparsers: refactor existing unit tests using common helper 2010-09-22 15:07:09 +0200 Mark Nauwelaerts * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstac3parse.c: * gst/audioparsers/gstamrparse.c: * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: use _set_frame_props to configure frame lead_in and lead_out ... provided a corresponding decoder with sufficient leading and following frames to carry out full decoding for a particular segment. 2010-09-22 14:13:17 +0200 Mark Nauwelaerts * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstac3parse.c: * gst/audioparsers/gstamrparse.c: * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: * gst/audioparsers/gstflacparse.c: baseparse: use _set_duration to configure duration update interval ... as it logically belongs there as one or the other; either subclass can provide a duration, or an estimate must be made (reguarly updated). 2010-09-22 13:55:20 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: localize use of provided fps information 2010-09-22 12:13:12 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: seek table and accurate seek support 2010-09-21 13:57:10 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: proper and more extended segment and seek handling That is, loop pause handling, segment seek support, newsegment for gaps, etc 2010-09-21 10:57:04 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: add index support 2010-09-21 09:59:56 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: refactor state reset 2010-09-20 16:39:37 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: prevent indefinite resyncing 2010-09-20 13:57:55 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: specific EOS handling if no output so far 2010-09-20 13:31:57 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: adjust _set_frame_prop documentation and set default as claimed 2010-09-20 13:30:54 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: fix bitrate copy-and-paste and update heuristic 2010-09-17 18:33:29 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: post duration message if average bitrates is updated 2010-09-17 18:24:22 +0200 Mark Nauwelaerts * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: remove is_seekable vmethod and use a set_seek instead Seekability, like duration, etc is unlikely to change (frequently), and the default assumption covers most cases, so let subclass set when needed. At the same time, allow subclass to indicate if it has seek-metadata (table) available, and possibly have it provide an average bitrate. 2010-09-17 17:35:40 +0200 Mark Nauwelaerts * gst/audioparsers/gstac3parse.c: ac3parse: remove redundant default is_seekable 2010-09-17 17:21:46 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: add another hook for subclass prior to pushing buffer ... and allow subclass to perform custom segment clipping, or to emit tags or messages at this time. 2010-09-17 17:19:37 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: 0 converts to 0 by default 2010-09-16 18:56:46 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: basepase: refactor conversion using helper function and export default convert 2010-09-16 18:35:47 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: streamline query handling 2010-09-16 11:51:20 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: cleanup struct and remove unused member 2010-08-16 11:04:37 +0200 Mark Nauwelaerts * gst/audioparsers/plugin.c: audioparsers: increase ranks to enable auto-plugging Because we can, and should, have some shakedown testing before having these make it into -good later on ... 2010-09-22 16:07:24 +0530 Arun Raghavan * gst/audioparsers/gstbaseparse.c: baseparse: Allow chaining of subclass event handlers This allows the child class to chain its event handler with GstBaseParse, so that subclasses don't have to duplicate all the default event handling logic. https://bugzilla.gnome.org/show_bug.cgi?id=622276 2010-08-27 18:35:10 +0200 Sebastian Dröge * gst/audioparsers/gstbaseparse.c: baseparse: Don't use GST_FLOW_IS_FATAL() Also don't post an error message for UNEXPECTED and do it for NOT_LINKED. 2010-09-06 14:12:00 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: non-TIME seek event is simply not handled 2010-06-15 15:34:05 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: fix seek event ref handling 2010-06-15 15:33:37 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: prevent arithmetic overflows in pull mode buffer cache handling 2010-06-15 15:32:34 +0200 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: fix seek handling Allow a few more seek event type combinations, and really use the result of gst_segment_set_seek to perform the seek. Also add some debug. 2010-04-12 18:07:29 +0200 Edward Hervey * tests/check/elements/aacparse.c: * tests/check/elements/amrparse.c: check: Don't re-declare 'GList *buffers' in the tests It's an external which lives in gstcheck.c. Redeclaring it makes some compilers/architectures think the 'buffers' in the individual tests are a different symbol... and therefore we end up comparing holodecks with oranges. 2010-03-26 18:56:49 +0000 Arun Raghavan * gst/audioparsers/gstbaseparse.c: baseparse: Don't emit bitrate tags too early We wait to parse a minimum number of frames (10, arbitrarily) before emiting bitrate tags so that our early estimates are not wildly inaccurate for streams that start with a silence. If the stream ends before that, we just emit the tags anyway. While it _would_ be nicer to be specify the threshold to start pushing the tags in terms of duration, this would introduce more complexity than this merits. https://bugzilla.gnome.org/show_bug.cgi?id=614991 2010-03-26 18:58:35 +0100 Sebastian Dröge * gst/audioparsers/gstflacparse.c: * gst/audioparsers/gstflacparse.h: flacparse: Optionally check the overall frame checksums too before accepting a frame as valid This is optional because it's a quite expensive operation and it's very unlikely that a non-frame is detected as frame after the header CRC check and checking all bits for valid values. The overall frame checksums are mainly useful to detect inconsistencies in the encoded payload. 2010-03-26 18:42:28 +0100 Sebastian Dröge * gst/audioparsers/gstflacparse.c: flacparse: Check the CRC-8 of the headers before accepting a frame as valid This makes false-positives during seeking much less likely and detection of them much faster. 2010-03-26 18:20:24 +0100 Sebastian Dröge * gst/audioparsers/gstbaseparse.c: baseparse: Set the last stop to the buffer starttime if the duration is invalid ...instead of not setting it at all. 2010-03-26 18:19:00 +0100 Joshua M. Doe * gst/audioparsers/gstbaseparse.c: baseparse: Send NEWSEGMENT event with correct start and position Instead of taking the last stop (which could be buffer endtime instead of starttime) always take the buffer starttime. Fixes bug #614016. 2010-03-26 16:49:01 +0000 Arun Raghavan * gst/audioparsers/gstflacparse.c: flacparse: Fix buffer refcount issue When called from the GST_FLAC_PARSE_STATE_HEADERS case, gst_flac_parse_hand_headers() does a gst_buffer_set_caps() on a buffer with refcount > 1. This change handles this case by making the buffer metadata_Writable. https://bugzilla.gnome.org/show_bug.cgi?id=614037 2010-03-25 17:09:17 +0000 Tim-Philipp Müller * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: audioparsers: remove unused GstBaseParseClassPrivate structure 2010-03-25 12:55:02 +0000 Arun Raghavan * gst/audioparsers/gstflacparse.c: flacparse: Make bitrate estimation more accurate This implements the get_frame_overhead() vfunc so that baseparse can make more accurate bitrate estimates. 2010-03-25 11:48:46 +0000 Arun Raghavan * gst/audioparsers/gstaacparse.c: aacparse: Fix bitrate calculation This patch adds the get_frame_overhead() vfunc so that baseparse can accurately calculate the min/avg/max bitrates for aacparse. Note: The bitrate was being incorrectly calculated for ADTS streams (it's not in the header as the code suggests). 2010-03-25 11:22:58 +0000 Arun Raghavan * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: audioparsers: Add bitrate calculation to baseparse This makes baseparse keep a running average of the stream bitrate, as well as the minimum and maximum bitrates. Subclasses can override a vfunc to make sure that per-frame overhead from the container is not accounted for in the bitrate calculation. We take care not to override the bitrate, minimum-bitrate, and maximum-bitrate tags if they have been posted upstream. We also rate-limit the emission of bitrate so that it is only triggered by a change of >10 kbps. 2010-03-22 16:56:03 +0100 Benjamin Otte * tests/check/elements/amrparse.c: Add -Wold-style-definition and fix the warnings 2010-03-21 21:39:18 +0100 Benjamin Otte * tests/check/elements/aacparse.c: * tests/check/elements/amrparse.c: Add -Wmissing-declarations -Wmissing-prototypes to configure flags And fix all warnings 2010-03-18 17:30:26 +0100 Benjamin Otte * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstamrparse.c: gst_element_class_set_details => gst_element_class_set_details_simple 2010-01-14 11:50:33 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: audioparsers: rename baseparse GType name to avoid possible conflicts 2010-01-12 18:55:53 +0100 Edward Hervey * gst/audioparsers/gstflacparse.c: flacparse: Initialize variables. Fixes build on $#@*( macosx 2010-01-11 22:41:57 +0300 Ðóñëàí Èæáóëàòîâ * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstamrparse.c: win32: Include config.h before anything else. Fix mpegdemux LIBADD Because config.h defines __MSVCRT_VERSION__, which should be defined before inclusion of any system header. Also fixes mpegdemux Makefile.am LIBADD typo. Fixes #606665 2010-01-11 13:20:26 -0300 Thiago Santos * gst/audioparsers/gstaacparse.c: aacparse: Also add stream-format to template caps Do not forget to add stream-format to template caps off aacparse 2010-01-11 13:13:41 -0300 Thiago Santos * gst/audioparsers/gstaacparse.c: * tests/check/elements/aacparse.c: Rename aac's stream-format 'none' to 'raw' Renames aac's stream-format from previous commits from none to raw 2010-01-11 12:10:02 -0300 Thiago Santos * tests/check/elements/aacparse.c: aacparse: update tests to stream-format changes Updates aacparse unit tests to check for stream-format correctness as well. 2010-01-11 10:51:18 -0300 Thiago Santos * gst/audioparsers/gstaacparse.c: aacparse: Add stream-format to output caps Adds stream-format field to output caps 2010-01-05 15:05:05 +0100 Mark Nauwelaerts * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstamrparse.c: * gst/audioparsers/gstbaseparse.c: audioparsers: documentation fixes 2010-01-05 15:04:38 +0100 Mark Nauwelaerts * gst/audioparsers/gstac3parse.c: ac3parse: add documentation 2010-01-05 14:48:49 +0100 Mark Nauwelaerts * gst/audioparsers/gstflacparse.c: * gst/audioparsers/gstflacparse.h: flacparse: add documentation 2009-12-21 18:29:43 +0100 Mark Nauwelaerts * gst/audioparsers/gstflacparse.c: flacparse: perform additional frame checks when resyncing 2010-01-05 16:35:52 +0100 Mark Nauwelaerts * gst/audioparsers/gstflacparse.c: flacparse: fix (multiple channel) frame parsing 2010-01-05 16:35:44 +0100 Mark Nauwelaerts * gst/audioparsers/gstflacparse.c: flacparse: declare unparsed input and parsed output 2009-12-21 18:19:23 +0100 Mark Nauwelaerts * gst/audioparsers/gstac3parse.c: ac3parse: fix scanning for next syncword 2009-12-21 18:18:39 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: adjust seek handling and newsegment sending Perform sanity check on type of seek, and only perform one that is appropriately supported. Adjust downstream newsegment event to first buffer timestamp that is sent downstream. 2009-12-21 11:59:45 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: minor refactor cleanup Also add some debug logging. 2009-12-18 21:05:11 +0100 Mark Nauwelaerts * gst/audioparsers/gstflacparse.c: flacparse: locate next sync code more efficiently 2009-12-18 21:04:12 +0100 Mark Nauwelaerts * gst/audioparsers/gstflacparse.c: flacparse: baseparse takes care of handling leftover pieces 2009-12-18 21:02:40 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: implement leftover draining in pull mode 2009-12-17 12:45:36 +0100 Mark Nauwelaerts * gst/audioparsers/gstflacparse.c: flacparse: set _OFFSET and _OFFSET_END on outgoing buffers 2009-12-17 12:44:20 +0100 Mark Nauwelaerts * gst/audioparsers/Makefile.am: * gst/audioparsers/gstflacparse.c: * gst/audioparsers/gstflacparse.h: * gst/audioparsers/plugin.c: audioparsers: move 'flacparse' into it 2009-12-16 18:38:33 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: provide default conversion using bps if no fps available Also store estimated duration as such, rather than pretending otherwise (e.g. set by subclass). 2009-12-18 13:30:29 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: check for remaining data when draining in push mode 2009-12-18 13:30:07 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: baseparse: fix pull mode cache size comparison 2009-12-18 13:01:17 +0100 Edward Hervey * gst/audioparsers/gstac3parse.c: ac3parse: Fix unitialized variable. 2009-12-17 14:46:01 +0000 Christian Schaller * gst/audioparsers/Makefile.am: Update spec file and fix ac3parser header listing in Makefile.am 2009-12-11 10:25:16 -0800 Michael Smith * gst/audioparsers/gstbaseparse.c: audioparse: fix a format string as reported on irc. 2009-11-23 16:34:50 +0100 Mark Nauwelaerts * gst/audioparsers/gstac3parse.c: ac3parse: ensure sufficient data available for parsing 2009-10-29 15:19:04 +0100 Mark Nauwelaerts * gst/audioparsers/gstac3parse.c: ac3parse: extract and use some more details for Enhanced Ac-3 streams 2009-10-29 15:18:37 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: baseparse: custom bufferflag indicates not to count frame in stats 2009-10-28 14:08:43 +0100 Mark Nauwelaerts * gst/audioparsers/gstac3parse.c: ac3parse: perform additional frame checks when resyncing 2009-10-28 14:07:17 +0100 Mark Nauwelaerts * gst/audioparsers/gstac3parse.c: ac3parse: inform base parser of frame duration 2009-10-27 16:16:50 +0100 Mark Nauwelaerts * gst/audioparsers/gstac3parse.c: ac3parse: improve src caps settings 2009-11-27 17:59:03 +0100 Mark Nauwelaerts * gst/audioparsers/Makefile.am: * gst/audioparsers/gstac3parse.c: * gst/audioparsers/gstac3parse.h: * gst/audioparsers/plugin.c: ac3parse: initial version MARGINAL rank for now; might take some time for some (useful) framed=true/false to appear here and there. 2009-11-26 18:34:45 +0100 Mark Nauwelaerts * gst/audioparsers/gstamrparse.c: * gst/audioparsers/gstamrparse.h: amrparse: use (default) time handling of baseparser class 2009-11-26 18:15:21 +0100 Mark Nauwelaerts * gst/audioparsers/Makefile.am: * gst/audioparsers/gstamrparse.c: * gst/audioparsers/gstamrparse.h: * gst/audioparsers/plugin.c: audioparsers: move 'amrparse' into it 2009-11-27 17:27:32 +0100 Mark Nauwelaerts * gst/audioparsers/gstbaseparse.c: audioparsers: reference GstBaseParse now lives here 2009-11-28 18:13:31 +0100 Mark Nauwelaerts * gst/aacparse/Makefile.am: * gst/aacparse/gstaacparse.c: * gst/aacparse/gstaacparse.h: * gst/aacparse/gstbaseparse.c: * gst/aacparse/gstbaseparse.h: * gst/aacparse/plugin.c: * gst/audioparsers/Makefile.am: * gst/audioparsers/gstaacparse.c: * gst/audioparsers/gstaacparse.h: * gst/audioparsers/gstbaseparse.c: * gst/audioparsers/gstbaseparse.h: * gst/audioparsers/plugin.c: audioparsers: rename 'aacparse' plugin to generic 'audioparsers' plugin 2009-11-26 17:04:43 +0100 Mark Nauwelaerts * gst/aacparse/Makefile.am: * gst/aacparse/gstaacparse.c: * gst/aacparse/plugin.c: aacparse: separate plugin registration and rename plugin 2009-11-26 17:04:36 +0100 Mark Nauwelaerts * gst/aacparse/gstaacparse.c: aacparse: ensure sufficient data available before accessing 2009-11-05 14:31:40 +0100 Mark Nauwelaerts * gst/aacparse/gstaacparse.c: * gst/aacparse/gstaacparse.h: aacparse: use (default) time handling of baseparser class 2009-10-29 15:19:35 +0100 Mark Nauwelaerts * gst/aacparse/gstaacparse.c: aacparse: fixup comments to C-style 2009-10-29 16:05:00 +0100 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: reset passthrough mode to default (disabled) on activation 2009-10-29 15:16:59 +0100 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: ensure buffer metadata is writable 2009-10-28 14:06:13 +0100 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: * gst/aacparse/gstbaseparse.h: baseparse: fix/enhance DISCONT marking In particular, consider DISCONT == !sync, and allow subclass to query sync state, as it may want to perform additional checks depending on whether sync was achieved earlier on. Also arrange for subclass to query whether leftover data is being drained. 2009-11-23 15:48:25 +0100 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: * gst/aacparse/gstbaseparse.h: baseparse: add timestamp handling, and default conversion In particular, (optionally) provide baseparse with a notion of frames per second (and therefore also frame duration) and have it track frame and byte counts. This way, subclass can provide baseparse with fps and have it provide default buffer time metadata and conversions, though subclass can still install callbacks to handle such itself. 2009-10-28 12:02:03 +0100 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: documentation fixes 2009-10-28 12:00:08 +0100 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: use_fixed_caps for src pad After all, stream is as-is, and there is little molding to downstream's taste that can be done. If subclass can and wants to do so, it can still override as such. 2009-11-20 17:32:13 +0100 Julien Moutte * gst/aacparse/gstbaseparse.c: aacparse: Fix compilation warnings 2009-10-11 11:22:11 +0200 Josep Torra * gst/aacparse/gstaacparse.c: * gst/aacparse/gstbaseparse.c: aacparse: fix warnings in macosx snow leopard 2009-09-25 17:02:53 +0200 Mark Nauwelaerts * gst/aacparse/gstaacparse.c: * gst/aacparse/gstbaseparse.c: * gst/aacparse/gstbaseparse.h: aacparse: forego (bogus) parsing of already parsed (raw) input 2009-08-07 13:07:17 +0200 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: prevent infinite loop when draining 2009-08-07 13:06:28 +0200 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: fix minor memory leak 2009-07-14 14:08:04 +0200 Sebastian Dröge * gst/aacparse/gstbaseparse.c: * gst/aacparse/gstbaseparse.h: aacparse: Add function for the baseparse subclass to push buffers downstream Also handle the case gracefully where the subclass decides to drop the first buffers and has no caps set yet. It's still required to have valid caps set when the first buffer should be passed downstream. 2009-07-14 14:07:44 +0200 Sebastian Dröge * gst/aacparse/gstbaseparse.c: baseparse: Fix seek event leaking 2009-06-18 12:13:28 +0200 Mark Nauwelaerts * gst/aacparse/gstaacparse.c: aacparse: ADIF: do not send bogus timestamps, leave to downstream (decoder) 2009-06-01 15:53:27 +0100 Tim-Philipp Müller * gst/aacparse/gstaacparse.c: aacparse: fix sample rate extraction from codec data In one case we extracted the sample rate index from the codec data and saved it as sample rate rather than getting the real sample rate from the table. Fix that, and also make sure we don't access non-existant table entries by adding a small helper function that guards against out-of-bounds access in case of invalid input data. 2009-06-01 14:02:33 +0100 Tim-Philipp Müller * gst/aacparse/gstaacparse.c: aacparse, amrparse: remove bogus gst_pad_fixate_caps() calls 2009-06-01 13:56:18 +0100 Tim-Philipp Müller * gst/aacparse/gstbaseparse.c: baseparse: propagate return value of GstBaseParse::set_sink_caps() gst_base_parse_sink_setcaps() presumably should fail if the subclass returns FALSE from its ::set_sink_caps() function. 2009-06-01 13:47:01 +0100 Tim-Philipp Müller * gst/aacparse/gstbaseparse.c: baseparse: don't try to GST_LOG an already-freed caps string The proper way to log caps is via GST_PTR_FORMAT anyway. 2009-06-01 13:05:35 +0100 Tim-Philipp Müller * gst/aacparse/gstaacparse.c: * tests/check/elements/aacparse.c: aacparse: set channels and rate on output caps, and keep codec_data Create output caps from input caps, so we maintain any fields we might get on the input caps, such as codec_data or rate and channels. Set channels and rate on the output caps if we don't have input caps or they don't contain such fields. We do this partly because we can, but also because some muxers need this information. Tagreadbin will also be happy about this. 2009-05-26 19:43:53 +0200 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: fix debug category 2009-04-27 22:39:15 +0200 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: fix (regression in) newsegment handling (aacparse, amrparse, flacparse). Fixes #580133. 2009-04-07 04:53:02 +0300 René Stadler * gst/aacparse/gstbaseparse.c: baseparse: Fix slightly broken buffer-in-segment check (aacparse, amrparse, flacparse) 2009-04-05 03:50:19 +0300 René Stadler * gst/aacparse/gstbaseparse.c: baseparse: Fix push mode seeking (aacparse, amrparse) Sending the flush-start event forward before taking the stream lock actually works, in contrast to deadlocking in downstream preroll_wait (hunk 1). After that we get the chain function being stuck in a busy loop. This is fixed by updating the minimum frame size inside the synchronization loop because the subclass asks for more data in this way (hunk 2). Finally, this leads to a very probable crash because the subclass can find a valid frame with a size greater than the currently available data in the adapter. This makes the subsequent gst_adapter_take_buffer call return NULL, which is not expected (hunk 3). 2009-03-31 16:07:46 +0200 Mark Nauwelaerts * gst/aacparse/gstbaseparse.c: baseparse: Delay newsegment as long as possible. If newsegment is sent (too) early, caps may not yet be fixed/set, and downstream may not have been linked. 2009-03-19 01:17:25 +0200 René Stadler * gst/aacparse/gstaacparse.c: aacparse: Fix busyloop when seeking. Fixes #575388 The problem is that after a discont, set_min_frame_size(1024) is called when detect_stream returns FALSE. However, detect_stream calls check_adts_frame which sets the frame size on its own to something larger than 1024. This is the same situation as in the beginning, so the base class ends up calling check_valid_frame in an endless loop. 2009-03-19 00:32:40 +0200 René Stadler * gst/aacparse/gstaacparse.c: aacparse: Refactor check_valid_frame to expose broken code Just moving code around and removing an unhelpful/misleading comment. 2009-02-27 11:24:37 +0200 Stefan Kost * gst/aacparse/gstbaseparse.c: baseparse: revert last change and properly fix Baseparse internaly breaks the semantics of a _chain function by calling it with buffer==NULL. The reson I belived it was okay to remove it was that there is also an unchecked access to buffer later in _chain. Actually that code is wrong, as it most probably wants to set discont on the outgoing buffer. 2009-02-26 11:02:06 +0200 Stefan Kost * gst/aacparse/gstbaseparse.c: baseparse: remove checks for buffer==NULL Accordifn to docs for GstPadChainFunction buffer cannot be NULL. If we would leave the check, we would also need more such check below. 2009-02-11 00:15:43 +0200 René Stadler * gst/aacparse/gstaacparse.c: aacparse: Fix license specified in plugin details. 2009-01-30 18:18:10 +0000 Jan Schmidt * gst/aacparse/gstbaseparse.c: Fix the return value of the default parse_frame function. Fix the return value of the default parse_frame function in both copies of GstBaseParse 2009-01-23 16:00:10 +0200 Stefan Kost * gst/aacparse/gstaacparse.c: Log aac details found in codec_data. 2008-11-13 17:24:58 +0000 Wim Taymans gst/aacparse/gstaacparse.c: Don't autoplug aacparse until it works. Original commit message from CVS: * gst/aacparse/gstaacparse.c: (plugin_init): Don't autoplug aacparse until it works. 2008-11-13 15:20:15 +0000 Stefan Kost tests/check/: Add unit tests for new parsers. Original commit message from CVS: * tests/check/Makefile.am: * tests/check/elements/aacparse.c: * tests/check/elements/amrparse.c: Add unit tests for new parsers. 2008-11-13 14:21:39 +0000 Stefan Kost gst/: Fix baseparse type name. Original commit message from CVS: * gst/aacparse/gstbaseparse.c: * gst/amrparse/gstbaseparse.c: Fix baseparse type name. 2008-11-13 12:59:34 +0000 Stefan Kost Add two new baseparse based parsers (aac and amr) from Bug #518857. Original commit message from CVS: * configure.ac: * gst/aacparse/Makefile.am: * gst/aacparse/gstaacparse.c: * gst/aacparse/gstaacparse.h: * gst/aacparse/gstbaseparse.c: * gst/aacparse/gstbaseparse.h: * gst/amrparse/Makefile.am: * gst/amrparse/gstamrparse.c: * gst/amrparse/gstamrparse.h: * gst/amrparse/gstbaseparse.c: * gst/amrparse/gstbaseparse.h: Add two new baseparse based parsers (aac and amr) from Bug #518857. 2011-03-20 01:08:38 +0100 Havard Graff * gst/rtpmanager/gstrtpjitterbuffer.c: jitterbuffer: Make src_query MT-safe It is possible that the element might be going down while the event arrives 2011-04-08 15:22:47 +0200 Sebastian Dröge * ext/jpeg/gstjpegdec.c: jpegdec: Unref event if the parent element disappeared 2011-04-08 15:22:19 +0200 Sebastian Dröge * gst/rtpmanager/gstrtpjitterbuffer.c: jitterbuffer: Unref event if the parent element disappeared 2011-03-21 16:04:34 +0100 Havard Graff * ext/jpeg/gstjpegdec.c: jpegdec: Make upstream events MT-safe 2011-03-21 16:04:34 +0100 Havard Graff * gst/rtpmanager/gstrtpjitterbuffer.c: jitterbuffer: Make upstream events MT-safe 2011-04-08 15:20:51 +0200 Sebastian Dröge * gst/rtpmanager/gstrtpjitterbuffer.c: * gst/rtpmanager/gstrtpptdemux.c: * gst/rtpmanager/gstrtpsession.c: * gst/rtpmanager/gstrtpssrcdemux.c: rtp: Unref events if the parent element disappeared 2011-01-06 18:24:36 +0100 Ole André Vadla RavnÃ¥s * gst/rtpmanager/gstrtpjitterbuffer.c: * gst/rtpmanager/gstrtpptdemux.c: * gst/rtpmanager/gstrtpsession.c: * gst/rtpmanager/gstrtpssrcdemux.c: rtpmanager: fix pad callbacks so they handle when parent goes away 1) We need to lock and get a strong ref to the parent, if still there. 2) If it has gone away, we need to handle that gracefully. This is necessary in order to safely modify a running pipeline. Has been observed when a streaming thread is doing a buffer_alloc() while an application thread sends an event on a pad further downstream, and from within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing while the streaming thread has its buffer_alloc() in progress. 2010-11-26 15:20:04 +0100 Havard Graff * gst/rtpmanager/gstrtpsession.c: rtpsession: make iterate_internal_links MT-safe 2011-04-08 14:35:04 +0200 Sebastian Dröge * ext/pulse/pulsesink.c: Revert "Pulsesink: Allow chunks up to bufsize instead of segsize" This reverts commit 1e2c1467ae042a3c6bb1a6bc0c07aeff13ec5edb. The commit causes pulsesink to ignore the latency-time baseaudiosink property. 2011-04-08 11:13:07 +0200 Alexey Fisher * gst/rtp/gstrtpspeexpay.c: rtpspeexpay: Do not transmitt samples with GAP flag If we get GAP samples, there is no need to transmitt it. In some situations, microphone is muted, we can drop net traffick usage to ~1 kbit/s. Without patch it will stay ~20 kbit/s 2011-04-08 11:11:58 +0200 Alexey Fisher * ext/speex/gstspeexenc.c: speexenc: Use speex intern silence detection Speex has build in silence detection. If speex_encode_int returns 0, than there is silence and sample do not need to be transmitted. This work only if vbr=1 and dtx=1 optionas are enabled. So if we get 0, we add GAP flag to the sample. 2011-04-05 17:12:28 +0200 Wim Taymans * gst/rtsp/gstrtspsrc.c: rtspsrc: handle * control correctly Parse session control attributes when no media control attribute is present. Threat * control attributes as an empty string, just like the spec says. Fixes #646800 2011-04-05 14:28:54 +0200 Sebastian Dröge * gst/matroska/matroska-mux.c: matroskamux: Add support for A-Law and µ-Law Fixes bug #646567. 2011-04-05 09:44:01 +0200 Jon Nordby * configure.ac: * ext/jack/gstjackaudiosink.c: * ext/jack/gstjackaudiosrc.c: jack: Fix build with jack 0.120.1 9544622674c0d0a3147a9b51145159b02eec68e9 checked for 0.120.2 and later, but the deprecation was introduced in 0.120.1 2011-04-05 12:05:19 +0300 Stefan Kost * sys/v4l2/gstv4l2radio.h: * sys/v4l2/gstv4l2src.h: * sys/v4l2/gstv4l2xoverlay.c: docs: fix docuemntation warnings (and reindent) 2011-04-04 17:34:17 +0200 Alessandro Decina * gst/videomixer/blendorc-dist.c: * gst/videomixer/blendorc-dist.h: videomixer: update orc dist files 2011-04-04 15:57:10 +0300 Stefan Kost * common: Automatic update of common submodule From 1ccbe09 to c3cafe1 2011-03-01 14:08:12 +0530 Arun Raghavan * ext/pulse/pulsesink.c: pulsesink: Always call pa_stream_new_with_proplist() pa_stream_new_with_proplist() can take a NULL proplist, so we don't need to concern ourselves with whether it's NULL or not. 2011-04-04 11:33:10 +0200 Mark Nauwelaerts * gst/rtsp/gstrtspsrc.c: rtspsrc: perform post-flush state tricks downstream to upstream ... so downstream is set when upstream resumes data flow. 2011-04-04 11:27:29 +0200 Mark Nauwelaerts * gst/rtsp/gstrtspsrc.c: rtspsrc: distribute new base_time to manager children following flush seek ... by forcing a state changed to PLAYING, which should otherwise be a no-op as elements should already be in that state. In particular, jitterbuffer needs new base_time as soon as possible to perform proper timing (e.g. eos timeout handling) and can't wait for the new base_time that will be distributed when the whole pipeline returns to PLAYING. See bug #646397. 2011-04-04 11:35:59 +0200 Mark Nauwelaerts * gst/rtpmanager/gstrtpjitterbuffer.c: Revert "jitterbuffer: reset element base_time upon flush" This reverts commit f84b8a69cba9c538f5546869cb4ef454ad5efb9d. Fixes bug #646397. 2011-04-04 10:31:44 +0100 Zaheer Abbas Merali * gst/flv/gstflvdemux.c: * gst/flv/gstflvmux.c: flv: Specify the only possible stream-format for h264 in the pad templates. 2011-04-04 10:07:42 +0200 Sebastian Dröge * gst/qtdemux/qtdemux.c: qtdemux: Check for invalid (empty) classification info entity strings Otherwise the classification string can be empty and gst_tag_list_add() will complain or have a \0 in the first four bytes, which is wrong too. 2011-04-04 10:01:26 +0200 Sebastian Dröge * gst/qtdemux/qtdemux.c: qtdemux: Year 0 is not a valid year for GDate and the proleptic gregorian calendar 2011-04-01 13:18:55 +0200 Sebastian Dröge * ext/flac/gstflacenc.c: flacenc: Add support for writing METADATA_BLOCK_PICTURE blocks for GST_TAG_IMAGE and GST_TAG_PREVIEW_IMAGE 2011-04-01 11:33:54 +0200 Sebastian Dröge * gst/videomixer/videomixer.c: * gst/videomixer/videomixer2.c: videomixer[2]: Use orc_memset() instead of memset() 2011-01-19 18:06:45 -0700 Lane Brooks * gst/videomixer/videomixer.c: * gst/videomixer/videomixer.h: videomixer: Add transparent background option for alpha channel formats 2011-01-19 12:07:17 -0700 Lane Brooks * gst/videomixer/blend.c: * gst/videomixer/blend.h: * gst/videomixer/blendorc.orc: * gst/videomixer/videomixer2.c: * gst/videomixer/videomixer2.h: videomixer2: Add transparent background option for alpha channel formats This option allows the videomixer2 element to output a valid alpha channel when the inputs contain a valid alpha channel. This allows mixing to occur in multiple stages serially. The following pipeline shows an example of such a pipeline: gst-launch videotestsrc background-color=0x000000 pattern=ball ! video/x-raw-yuv,format=\(fourcc\)AYUV ! videomixer2 background=transparent name=mix1 ! videomixer2 name=mix2 ! ffmpegcolorspace ! autovideosink videotestsrc ! video/x-raw-yuv,format=\(fourcc\)AYUV ! mix2. The first videotestsrc in this pipeline creates a moving ball on a transparent background. It is then passed to the first videomixer2. Previously, this videomixer2 would have forced the alpha channel to 1.0 and given a background of checker, black, or white to the stream. With this patch, however, you can now specify the background as transparent, and the alpha channel of the input will be preserved. This allows for further mixing downstream, as is shown in the above pipeline where the a second videomixer2 is used to mix in a background of an smpte videotestsrc. So the result is a ball hovering over the smpte test source. This could, of course, have been accomplished with a single mixer element, but staged mixing is useful when it is not convenient to mix all video at once (e.g. a pipeline where a foreground and background bin exist and are mixed at the final output, but the foreground bin needs an internal mixer to create transitions between clips). Fixes bug #639994. 2011-03-31 13:25:00 +0200 Mark Nauwelaerts * ext/pulse/pulsesink.c: pulsesink: also uncork during EOS waiting (and after EOS is rendered) Pulsesink was recently changed to defer uncorking until there is data to write. This condition will however never occur when EOS in being rendered (since that marks the end of data). Changing to PAUSED state while EOS is being waited on results in a hang: pausing corks the stream, which will never be undone since there is no more data when going back to PLAYING. If pulsesink is the clock provider, deadlock ensues since time doesn't continue in corked state and the clock id for EOS wait never fires. Fixes #645961. 2011-03-29 16:33:43 +0200 Sebastian Dröge * tests/check/elements/rtpbin.c: rtpbin: Don't try to request the same request pad twice 2011-03-28 23:46:47 +0100 Tim-Philipp Müller * ext/flac/gstflacdec.c: * ext/flac/gstflacdec.h: flacdec: fix issues with large metadata blocks when streaming unframed flac Parse metadata blocks when handling unparsed flac in push mode. This works around a bunch of issues with the flac decoder when handling metadata blocks that are larger than the max. flac framesize, which coverart blocks often are. We need to have all the data for these blocks available when we pass data to libflac. http://gstreamer-devel.966125.n4.nabble.com/Flac-files-that-will-playback-but-not-stream-td3338198.html#a3395276 https://bugzilla.gnome.org/show_bug.cgi?id=566769 2011-03-27 21:39:50 +0200 Jan UrbaÅ„ski * gst/flv/gstflvdemux.c: * gst/flv/gstflvdemux.h: flvdemux: Do not build an index if upstream is not seekable An index is not useful if upstream cannot handle seeks and building it for infinite files, for instance FLV streams, results in a memory leak. 2011-03-27 01:19:58 +0300 Alexey Chernov <4ernov@gmail.com> * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/inspect/plugin-video4linux2.xml: * sys/v4l2/Makefile.am: * sys/v4l2/gstv4l2.c: * sys/v4l2/gstv4l2radio.c: * sys/v4l2/gstv4l2radio.h: v4l2: new v4l2radio element to control analog radio devices https://bugzilla.gnome.org/show_bug.cgi?id=640118 2011-03-25 22:22:43 +0100 Sebastian Dröge * common: Automatic update of common submodule From 193b717 to 1ccbe09 2011-03-25 14:56:06 +0200 Stefan Kost * common: Automatic update of common submodule From b77e2bf to 193b717 2011-03-25 12:53:43 +0200 Stefan Kost * ext/cairo/Makefile.am: cairo: fix the name of the *-marshall.list file to unbreak make distcheck 2011-03-25 09:31:03 +0100 Sebastian Dröge * common: Automatic update of common submodule From d8814b6 to b77e2bf 2011-03-25 09:06:16 +0100 Sebastian Dröge * common: Automatic update of common submodule From 6aaa286 to d8814b6 2011-03-25 00:10:56 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: * gst/spectrum/gstspectrum.h: spectrum: refactor processing loop for block based operation Previously the chain function was working sample frame based. In each cycle it was checking if it is time to run a fft or if it is time to send a message. Now we changed the data transform functions to work on a block of data and calculate the max length until either {end-of-data, do-fft, do-msg}. This allows us also to avoid the duplicated code for the single and multi-channel case (as the transformers have the same signature now). 2011-03-24 23:47:33 +0200 Stefan Kost * configure.ac: jack: unbreak the build for jack2 users Jack2 (versions 1.X.X) does only have that API in svn. Limmit the use of the new API for jack1 versions. 2011-03-24 18:49:19 +0200 Stefan Kost * common: Automatic update of common submodule From 6aec6b9 to 6aaa286 2011-03-24 14:14:09 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: fix the error accumulation and frames_todo handling Even though we wrap around the accumulated second, we still need to add the error in the same cycle. Increase the todo in the same conditional as afterwards the accumulated error will be below one second. 2011-03-24 13:53:12 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: fix broken code resulting for a wrong splitup of changes 2011-03-22 16:29:53 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: * gst/spectrum/gstspectrum.h: spectrum: simplify the have_interval calculation Move some of the conditions to the places where the dependent variables change. 2011-03-22 16:26:45 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: use local var for input_data function Avoid dereferencing the input_data from the instance from within an inner loop. 2011-03-23 16:34:16 +0100 Sebastian Dröge * ext/speex/gstspeexdec.c: * ext/speex/gstspeexdec.h: speexdec: Get and use streamheader from the caps if possible This allows playback of streams where the streamheader buffers were dropped from the stream for some reason. 2011-03-22 19:36:31 +0100 Mark Nauwelaerts * gst/flv/gstflvmux.c: flvmux: use running time for synchronization Fixes #432612. 2011-03-22 19:36:21 +0100 Mark Nauwelaerts * gst/matroska/matroska-mux.c: matroskamux: use running time for synchronization Fixes #432612. 2011-03-22 19:35:58 +0100 Mark Nauwelaerts * gst/avi/gstavimux.c: avimux: use running time for synchronization See bug #432612. 2011-03-22 12:53:22 +0100 Luis de Bethencourt * configure.ac: configure.ac: redundant uses of AC_MSG_RESULT() cleaned the redundant uses of AC_MSG_RESULT() in configure.ac 2011-03-18 19:34:57 +0100 Luis de Bethencourt * autogen.sh: autogen: wingo signed comment 2011-03-16 10:43:47 +0100 Robert Swain * ext/jack/gstjackaudiosink.c: jackaudiosink: Fix typo from 9544622674c0d0a3147a9b51145159b02eec68e9 2011-03-16 09:38:43 +0100 Sebastian Dröge * gst/matroska/matroska-demux.c: * gst/matroska/matroska-mux.c: matroska: Mark tag mapping tables as static const 2011-03-16 09:37:58 +0100 Sebastian Dröge * gst/matroska/matroska-mux.c: matroskamux: Use ARTIST instead of AUTHOR for GST_TAG_ARTIST 2011-03-16 09:35:50 +0100 Sebastian Dröge * gst/matroska/matroska-demux.c: * gst/matroska/matroska-ids.h: matroskademux: Use ARTIST Matroska tag instead of AUTHOR for GST_TAG_ARTIST AUTHOR only existed in an old version of the spec and ARTIST is the new replacement for this. We are still reading both to still be compatible with old files. Fixes bug #644875. 2011-03-15 20:19:48 +0000 Tim-Philipp Müller * tests/check/elements/videofilter.c: tests: enable more formats in videofilter unit test, check more resolutions 2011-03-14 19:14:07 -0400 Youness Alaoui * gst/videofilter/gstvideoflip.c: videoflip: Fix buffer overflow bug for odd resolutions and Y422 colorspaces https://bugzilla.gnome.org/show_bug.cgi?id=644773 2011-03-15 19:36:01 +0200 Vincent Penquerc'h * ext/speex/gstspeexdec.c: speexdec: silence warning message when appropriate If we did not know how many frames to expect, then we get an unexpected end of stream when trying to decode more frames that are there, if there are leftover bits to pad to the next byte 2011-03-14 19:14:07 -0400 Youness Alaoui * gst/videofilter/gstvideoflip.c: videoflip: Add support for YUY2, UVYV and YVYU colorspaces https://bugzilla.gnome.org/show_bug.cgi?id=644773 2011-03-15 09:43:35 +0000 Tim-Philipp Müller * tests/check/elements/videofilter.c: tests: in videofilter unit test also check with 'odd' widths and heights And only use one test suite. 2011-03-14 19:28:07 +0100 Sebastian Dröge * ext/speex/gstspeexdec.c: speexdec: Always process the number of frames per packet as specified in the header Looking at the remaining bits in the bitstream after decoding a single frame can't be used as loop condition. The remaining bits might not give a complete frame and the speex decoder will then output nothing but access uninitialized memory, which leads to valgrind warnings. Fixes bug #644669. 2011-03-14 15:46:50 +0100 Andoni Morales Alastruey * gst/matroska/matroska-mux.c: matroskamux: return TRUE from sink pad event function for tag events, which are handled https://bugzilla.gnome.org/show_bug.cgi?id=644730 2011-03-12 00:44:31 +0530 Philip Jägenstedt * ext/pulse/pulsesink.c: pulsesink: Better fix for deadlock on failed connect This reverts the previous fix that would cause a double-unlock when the stream connect failed. https://bugzilla.gnome.org/show_bug.cgi?id=644510 2011-03-11 23:06:31 +0530 Arun Raghavan * ext/pulse/pulsesink.c: pulsesink: Fix deadlock if connecting to PA fails Commit dd4ec22e introduced a deadlock in the failure path while trying to connect to PulseAudio. This makes sure we drop the lock on the resource mutex to avoid this. https://bugzilla.gnome.org/show_bug.cgi?id=644510 2011-03-11 16:59:10 +0200 Stefan Kost * tests/check/Makefile.am: tests: order state-test blacklist and add jack elements Jack audio src/sink elements recently got moved from bad and should be excluded from the test (like the other device specific source and sinks). Fixes #644288 2011-03-11 13:47:26 +0100 Sebastian Dröge * ext/dv/gstdvdemux.c: dvdemux: Chain up to the parent class' ::send_event for non-seek events 2011-03-11 13:46:05 +0100 Sebastian Dröge * ext/dv/gstdvdemux.c: dvdemux: Fix refcount issues with the seek event Fixes bug #642963. 2011-03-11 09:54:02 +0000 Tim-Philipp Müller * ext/pulse/pulsesink.c: docs: fix pulsesink gtk-doc markup 2011-03-11 10:29:08 +0100 Philippe Normand * configure.ac: * ext/jack/gstjackaudiosink.c: * ext/jack/gstjackaudiosrc.c: jack: fix build against jack 0.120.2 jack_port_get_total_latency() has been deprecated in favor of jack_port_get_latency_range(). https://bugzilla.gnome.org/show_bug.cgi?id=644477 2011-03-10 14:29:25 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: more comments and tune and logging 2011-03-10 14:15:42 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: avoid unneccesary extra fft runs Before it was possible that we run an extra fft when the time for sending a new message is due. Only do this if we have not run the fft for the interval at all. 2011-03-10 14:12:01 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: only scale the vectors that we are processing Phase is not produced by default, so lets not scale it unconditionally to save a few cycles. 2011-03-10 14:10:25 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: * gst/spectrum/gstspectrum.h: spectrum: put number of channels to instance variable When freeing data the format might have changed. Thus we need to remember for which format we allocated memory. 2011-03-10 10:27:14 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: update doc review stamp 2011-03-10 10:22:29 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: * gst/spectrum/gstspectrum.h: spectrum: use function pointers for data readers Don't check the format for each sample frame to read. We can make that decission in _setup already. This is still not ideal as we call the function per frame. Ideally we determine how many samples we can copy and have a loop in the input reader. As an alternative we might also consider to use the fft variants for the various formats and not convert to float for all cases - we would still need to mix or deinterleave though. 2011-03-09 17:07:47 +0100 Mark Nauwelaerts * gst/rtsp/gstrtspsrc.c: * gst/rtsp/gstrtspsrc.h: rtspsrc: improve recovery from failed seek In case server-side fails to perform seek, i.e. PLAY at non-zero requested position, recovery so far would arrange for streaming to continue, albeit having lost position tracking in the process. So, query position prior to seek and use upon failed seek. 2011-03-09 16:51:00 +0100 Mark Nauwelaerts * gst/rtpmanager/gstrtpjitterbuffer.c: jitterbuffer: handle position query 2011-03-09 16:57:28 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: * gst/spectrum/gstspectrum.h: spectrum: multi-channel support Add a boolean multi-channel property with a default of FALSE. When set to TRUE the element won't mix all input channels to mono, but instead run a FFT on each channel. In that case the result message would contain a 2 dimensional array of channel x data for magnitude and phase. API: GstSpectrum:multi-channel https://bugzilla.gnome.org/show_bug.cgi?id=593482 2011-03-09 16:55:56 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: more xrefs in the docs 2011-03-09 12:41:15 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: factor out the code that accumulated samples into the ring-buffer Use a separate function to read a sample frame into a ringbuffer slot. In the future we can use format-specific function pointer to avoid the reoccuring format checks. 2011-03-09 12:38:52 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: pull format to temp var to improve readability of lines using it 2011-03-09 12:20:11 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: code cleanup for copying data to ring-buffer Rename fp to is_float and restructure if-else part for handling the different formats. 2011-03-09 11:40:48 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: * gst/spectrum/gstspectrum.h: spectrum: add a GstSpecrtumChannel context structure We now keep the fft data that is related to one channel in a separate structure to prepare for multichannel support. We also refactor the code to operate more often on the channel context. 2011-03-09 11:18:19 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: call the instance var spectrum instead of filter 2011-03-09 11:14:37 +0200 Stefan Kost * gst/spectrum/gstspectrum.c: spectrum: don't value we already took from the gvalue 2011-03-08 16:28:27 +0000 Tim-Philipp Müller Merge ad-hoc release branch '0.10.28'