diff --git a/ChangeLog b/ChangeLog index 36f60b8a3651d0eff32c87232fe8c72bf6f5b3a3..dc50812b69ccd03339af2739f9cdaf7438897ec0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,507 @@ +=== release 1.2.1 === + +2013-11-09 Sebastian Dröge <slomo@coaxion.net> + + * configure.ac: + releasing 1.2.1 + +2013-11-09 12:01:55 +0100 Sebastian Dröge <sebastian@centricular.com> + + * po/de.po: + * po/id.po: + * po/sr.po: + po: Update translations + +2013-11-08 17:59:24 +0100 Philippe Normand <philn@igalia.com> + + * gst/wavenc/gstwavenc.c: + wavenc: generate a non-empty data header + Restore the behavior of the element to the state before commit + db29522a430e44450415ca3676abd1b77ee923d9. A non-empty header is + generated and when the EOS event is received the header is generated + again, this time with the correct size. + https://bugzilla.gnome.org/show_bug.cgi?id=711699 + +2013-10-07 14:27:21 -0300 Thiago Santos <ts.santos@partner.samsung.com> + + * ext/soup/gstsouphttpsrc.c: + * ext/soup/gstsouphttpsrc.h: + souphttpsrc: do not emit EOS when connection drops + If the pipeline is stalled for too long, souphttpsrc will block and + stop fetching data from the network. This can cause the connection to + drop and souphttpsrc would handle it as an EOS. This patch makes it + persist and try to fetch more data until the end of the content length + or until receiving an error that it is beyong limits in case the content + is unknown. + https://bugzilla.gnome.org/show_bug.cgi?id=683536 + +2013-10-25 11:30:36 -0300 Thiago Santos <ts.santos@partner.samsung.com> + + * gst/isomp4/qtdemux.c: + qtdemux: check if the end_time is defined before using it + Avoids sending EOS too soon because of overflow. Can happen on + fragmented mp4 playback. + +2013-10-25 18:22:00 -0300 Thiago Santos <ts.santos@partner.samsung.com> + + * gst/isomp4/qtdemux.c: + qtdemux: handle fragmented files with mdat before moofs + Assume a file with atoms in the following order: moov, mdat, moof, + mdat, moof ... + The first moov usually doesn't contain any sample entries atoms (or + they are all set to 0 length), because the real samples are signaled + at the moofs. In push mode, qtdemux parses the moov and then finds the mdat, + but then it has 0 entries and assumes it is EOS. + This patch makes it continue parsing in case it is a fragmented file so that + it might find the moofs and play the media. + https://bugzilla.gnome.org/show_bug.cgi?id=710623 + +2013-10-25 11:42:37 -0300 Thiago Santos <ts.santos@partner.samsung.com> + + * gst/isomp4/qtdemux.c: + * gst/isomp4/qtdemux.h: + qtdemux: When using a buffered mdat, store all received data for later use + In push mode, when qtdemux can't use a seek to skip the mdat buffer it has + to buffer it for later use. + The issue is that after parsing the next moov/moof, there might be some + trailing bytes from the next atom in the file. This data was being discarded + along with the already parsed moov/moof and playback would fail to continue + after the contents of this moov/moof are played. + This is particularly bad on fragmented files that have the mdat before the + corresponding moof. So you'd get: + mdat|moof|mdat|moof ... + When a moof was received, it usually came with some extra bytes that would + belong to the next mdat (because upstream doesn't care about atoms alignment). + So those bytes were being discarded and playback would fail. + This patch makes qtdemux store those extra bytes to reuse them later after the + mdat is emptied. + https://bugzilla.gnome.org/show_bug.cgi?id=710623 + +2013-11-07 09:49:55 +0100 Sebastian Dröge <sebastian@centricular.com> + + * gst/udp/gstmultiudpsink.c: + multiudpsink: Also use the bind-port property if no bind-address was given + +2013-11-07 00:51:12 +0100 Andoni Morales Alastruey <ylatuya@gmail.com> + + * sys/osxaudio/gstosxcoreaudiohal.c: + osxaudiosink: fix segfault when we can't get the channels layout + +2013-11-05 17:26:49 +0100 Sebastian Dröge <sebastian@centricular.com> + + * gst/rtp/gstrtpvp8pay.c: + rtpvp8pay: Make Picture ID mode configurable and default to no picture ID + Some implementations (linphone) only support no picture at all in the + stream and will fail if one is provided. + https://bugzilla.gnome.org/show_bug.cgi?id=711497 + +2013-11-02 22:50:47 +0100 Rico Tzschichholz <ricotz@ubuntu.com> + + * gst/rtsp/Makefile.am: + * gst/rtsp/gstrtspsrc.h: + rtsp: Add missing gio-2.0 deps and includes + +2013-11-01 18:10:51 +0000 Olivier Crête <olivier.crete@collabora.com> + + * configure.ac: + Revert "configure: Require gst-plugins-base >= 1.2.1 for the TLS validation check flags in GstRTSPConnection" + Version 1.2.1 doesn't exist yet, re-apply when it does + This reverts commit c98380985db3483ea78a8e738d544d1201d8ed1e. + +2013-11-01 18:31:36 +0100 Sebastian Dröge <sebastian@centricular.com> + + * gst/audiofx/audioiirfilter.c: + audioiirfilter: Fix initialization coefficient handling + Broke unit test. + +2013-11-01 16:59:11 +0100 Sebastian Dröge <sebastian@centricular.com> + + * configure.ac: + configure: Require gst-plugins-base >= 1.2.1 for the TLS validation check flags in GstRTSPConnection + +2013-10-31 14:05:43 -0700 Aleix Conchillo Flaque <aleix@oblong.com> + + * gst/rtsp/gstrtspsrc.c: + * gst/rtsp/gstrtspsrc.h: + rtspsrc: allow setting tls certificate validation flags + Added a new property "tls-validation-flags". If the url transport is + TLS, the validation flags will be set to the rtsp connection. + https://bugzilla.gnome.org/show_bug.cgi?id=711230 + +2013-10-31 22:43:49 +0100 Sebastian Dröge <sebastian@centricular.com> + + * gst/audiofx/audiofxbaseiirfilter.c: + * gst/audiofx/audioiirfilter.c: + audioiirfilter: Don't crash if no filter coefficients are provided + ...and by default use a identity filter. + https://bugzilla.gnome.org/show_bug.cgi?id=710215 + +2013-10-31 19:15:12 +0100 Sebastian Dröge <sebastian@centricular.com> + + * ext/wavpack/gstwavpackenc.c: + wavpackenc: Fix writing of MD5 sums and other metadata blocks + These don't have the FINAL_BLOCK flag set. + +2013-10-14 16:23:25 +0200 Ognyan Tonchev <ognyan@axis.com> + + * gst/udp/gstmultiudpsink.c: + multiudpsink: Fix memory leak + Unmap all GstMemory of the current buffer when flushing. + https://bugzilla.gnome.org/show_bug.cgi?id=710110 + +2013-10-12 20:37:41 +0100 Tim-Philipp Müller <tim@centricular.net> + + * gst/flv/gstflvmux.c: + flvmux: require stream-format=raw for mpeg-2 too, but don't require framed field + raw implies that it's framed already. Fixes .. ! faac ! flvmux + +2013-10-10 13:52:35 +0200 Sebastian Dröge <slomo@circular-chaos.org> + + * ext/dv/gstdvdec.c: + * ext/dv/gstdvdec.h: + dvdec: Don't send segment event before caps + https://bugzilla.gnome.org/show_bug.cgi?id=709728 + +2013-10-09 17:46:33 +0200 Sebastian Dröge <slomo@circular-chaos.org> + + * ext/dv/gstdvdemux.c: + dvdemux: Send stream-start, caps and segment events in the right order + https://bugzilla.gnome.org/show_bug.cgi?id=709728 + +2013-10-08 11:28:04 +0200 Sebastian Dröge <slomo@circular-chaos.org> + + * gst/wavenc/gstwavenc.c: + wavenc: A-Law and Mu-Law don't have width/depth/signed caps fields + https://bugzilla.gnome.org/show_bug.cgi?id=709614 + +2013-10-07 12:54:11 +0200 Sebastian Dröge <slomo@circular-chaos.org> + + * gst/deinterlace/tvtime/greedyh.c: + deinterlace: Fix handling of planar video formats in greedyh method + https://bugzilla.gnome.org/show_bug.cgi?id=709507 + +2013-10-04 13:34:09 +0200 Peter Korsgaard <peter@korsgaard.com> + + * sys/v4l2/gstv4l2bufferpool.c: + v4l2bufferpool: O_CLOEXEC needs _GNU_SOURCE + On some systems (E.G. uClibc and older Glibc versions), O_CLOEXEC is only + defined when _GNU_SOURCE is specified, so do so. + _GNU_SOURCE needs to be defined before any system headers are included, + so move the fcntl.h section up. + https://bugzilla.gnome.org/show_bug.cgi?id=709423 + +2013-10-04 14:42:59 -0700 Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com> + + * gst/matroska/matroska-mux.c: + matroska: Do not write SegmentUID for WebM mux + WebM spec states SegmentUID is Unsupported. Files produced + with gstreamer without this change will spit an error like + this when passed to mkvalidator: + ERR201: Invalid 'SegmentUID' for profile 'webm' in Info at 192 + +2013-10-03 22:38:43 +0200 Mathieu Duponchelle <mduponchelle1@gmail.com> + + * gst/videomixer/videoconvert.c: + videomixer: Update videoconvert copy + https://bugzilla.gnome.org/show_bug.cgi?id=709390 + +2013-10-03 21:36:34 +0200 Mathieu Duponchelle <mduponchelle1@gmail.com> + + * gst/videomixer/videomixer2.c: + videomixer: Check if the pad needs reconfiguration in collected + https://bugzilla.gnome.org/show_bug.cgi?id=709384 + +2013-10-03 11:59:25 +0200 Sebastian Dröge <slomo@circular-chaos.org> + + * gst/isomp4/qtdemux.c: + qtdemux: Add support for the mp2v fourcc for MPEG-2 video + https://bugzilla.gnome.org/show_bug.cgi?id=709270 + +2013-10-04 12:11:56 +0200 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtpmanager/gstrtpjitterbuffer.c: + jitterbuffer: fix race in flush-start/flush-stop + When flush-stop arrives before we process the result of the _push() in the + loop function, we might pause even though we are not flushing anymore. Fix this + race by waiting for the srcpad loop function to completely pause after doing the + flush-start. + +2013-10-03 14:39:35 +0100 Matthieu Bouron <matthieu.bouron@collabora.com> + + * ext/jpeg/gstjpegdec.c: + jpegdec: Relax sink caps + Since jpegdec already parse the jpeg stream, the sink caps could be + relaxed. This will allow jpegdec to be selected in more case and in + particular when the jpeg typefinder does not find the width and height. + https://bugzilla.gnome.org/show_bug.cgi?id=709352 + +2013-10-02 15:56:53 +0200 Ognyan Tonchev <ognyan@axis.com> + + * gst/matroska/matroska-demux.c: + matroskademux: Fix memory leak + https://bugzilla.gnome.org/show_bug.cgi?id=709266 + +2013-09-30 12:24:32 +0200 Ognyan Tonchev <ognyan@axis.com> + + * gst/rtp/gstrtpgstpay.c: + rtpgstpay: Fix memory leak + We were leaking the GList nodes of the pending buffers. + https://bugzilla.gnome.org/show_bug.cgi?id=709079 + +2013-09-30 12:31:00 +0200 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtpmanager/gstrtpjitterbuffer.c: + * gst/rtpmanager/rtpjitterbuffer.h: + rtpjitterbuffer: fix race when updating the next_seqnum + If we were not waiting for the missing seqnum when we insert the lost packet + event in the jitterbuffer, we end up not updating the next_seqnum and wait + forever for the lost packets to arrive. Instead, keep track of the amount of + packets contained by the jitterbuffer item and update the next expected + seqnum only after pushing the buffer/event. This makes sure we correctly handle + GAPS in the sequence numbers. + +2013-09-30 12:30:23 +0200 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtpmanager/gstrtpjitterbuffer.c: + rtpjitterbuffer: small debug improvement + +2013-09-30 11:53:08 +0200 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtpmanager/rtpjitterbuffer.c: + rtpjitterbuffer: reset skew does not reset clock-rate + Don't reset the clock-rate when we reset the skew correction algorithm. + Reset the skew correction algorithm when we change the clock-rate. + +2013-09-30 11:16:32 +0200 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtpmanager/gstrtpjitterbuffer.c: + rtpjitterbuffer: pause timer when PAUSED + Also pause the timer when we go to the PAUSED state. It is possible that we + don't have a clock or base-time in PAUSED to perform the timeouts. + +2013-09-30 11:15:25 +0200 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtpmanager/gstrtpjitterbuffer.c: + rtpjitterbuffer: improve debug + +2013-09-27 15:05:04 +0200 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: also go into the loop function after connect + When we have opened the stream, go into the loop function so that we can + receive messages from the server. + +2013-09-26 16:20:04 +0200 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtpmanager/rtpjitterbuffer.c: + rtpjitterbuffer: don't calculate skew without rtptime + Skip trying to calculate the skew when we don't have an rtptime. + It causes problems when lost packet events are placed in the jitterbuffer. + +2013-09-25 17:42:02 +0200 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: disable checks when linking pads + We know the pad links will work (and we don't check the return value + anyway). + +2013-09-25 17:36:15 +0200 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtpmanager/gstrtpbin.c: + rtpbin: avoid some pad link checks + Link pads without checks, we know it will work. + +2013-09-24 04:02:09 +0200 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtpmanager/gstrtpjitterbuffer.c: + rtpjitterbuffer: calculate some stats + +2013-09-23 17:05:44 +0200 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtpmanager/gstrtpjitterbuffer.c: + rtpjitterbuffer: move send_lost_event function + Move the send_lost_event function to the do_lost_event handling, there is no + need to have a separate function. + +2013-10-03 18:33:01 +0100 Tim-Philipp Müller <tim@centricular.net> + + * sys/v4l2/gstv4l2object.c: + v4l2src: print probed caps as caps again in debug log + This got lost during refactoring. + +2013-09-26 20:41:26 +0200 Hans MÃ¥nsson <hansm@axis.com> + + * gst/isomp4/gstqtmuxmap.c: + mp4mux: Do not require framerate in peer video caps + Remove the framerate restriction on the caps. + Reference: https://bugzilla.gnome.org/show_bug.cgi?id=708864 + +2013-09-16 11:20:51 -0300 Thiago Santos <thiago.sousa.santos@collabora.com> + + * gst/isomp4/qtdemux.c: + qtdemux: add code to parse creation time earlier than 1970 + Use g_date_time seconds manipulation to allow to cover the quicktime + spec for creation_time. It uses seconds since 1904. + Both paths could be done using the generic approach of seconds since + 1904 with GDateTime handling, but the first path using seconds from + 1970 should be more commonly found and avoids a few objects creation and + ref/unref, so keep it there for performance. + Additionally, the code for handling seconds since 1970 changed from > + to >= because having 0 seconds since 1970 is also a valid case for that + path to handle. + https://bugzilla.gnome.org/show_bug.cgi?id=707975 + +2013-09-21 00:55:26 +0200 Matej Knopp <matej.knopp@gmail.com> + + * gst/matroska/matroska-demux.c: + matroskademux: update stream->pos when sending buffers so that gap events are not sent unnecessarily + https://bugzilla.gnome.org/show_bug.cgi?id=708505 + +2013-09-27 12:53:06 +0200 Matej Knopp <matej.knopp@gmail.com> + + * gst/matroska/matroska-demux.c: + matroskademux: move the check for subtitle buffer being null terminated before validating UTF-8 + https://bugzilla.gnome.org/show_bug.cgi?id=707933 + +2013-09-25 12:55:21 +0200 Sebastian Dröge <slomo@circular-chaos.org> + + * gst/isomp4/gstqtmux.c: + qtmux: Don't error out if downstream is not seekable for non-fragmented variants + Doing so would be a regression over 1.0 and breaks the unit test. + However the result will be most likely unusable, so let's post + a warning message on the bus. + +2013-09-24 17:24:26 +0100 Tim-Philipp Müller <tim@centricular.net> + + * README: + * common: + Automatic update of common submodule + From 6b03ba7 to 7412249 + === release 1.2.0 === -2013-09-24 Sebastian Dröge <sebastian.droege@collabora.co.uk> +2013-09-24 14:21:08 +0200 Sebastian Dröge <slomo@circular-chaos.org> + * ChangeLog: + * NEWS: + * RELEASE: * configure.ac: - releasing 1.2.0 + * docs/plugins/gst-plugins-good-plugins.args: + * docs/plugins/gst-plugins-good-plugins.hierarchy: + * 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-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-dtmf.xml: + * docs/plugins/inspect/plugin-dv.xml: + * docs/plugins/inspect/plugin-effectv.xml: + * docs/plugins/inspect/plugin-equalizer.xml: + * docs/plugins/inspect/plugin-flac.xml: + * docs/plugins/inspect/plugin-flv.xml: + * docs/plugins/inspect/plugin-flxdec.xml: + * docs/plugins/inspect/plugin-gdkpixbuf.xml: + * docs/plugins/inspect/plugin-goom.xml: + * docs/plugins/inspect/plugin-goom2k1.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-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-rtpmanager.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-vpx.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: + * gst-plugins-good.doap: + * win32/common/config.h: + Release 1.2.0 + +2013-09-24 14:20:51 +0200 Sebastian Dröge <slomo@circular-chaos.org> + + * po/af.po: + * po/az.po: + * po/bg.po: + * po/ca.po: + * po/cs.po: + * po/da.po: + * po/de.po: + * po/el.po: + * po/en_GB.po: + * po/eo.po: + * po/es.po: + * po/eu.po: + * po/fi.po: + * po/fr.po: + * po/gl.po: + * po/hr.po: + * po/hu.po: + * po/id.po: + * po/it.po: + * po/ja.po: + * po/lt.po: + * po/lv.po: + * po/mt.po: + * po/nb.po: + * po/nl.po: + * po/or.po: + * po/pl.po: + * po/pt_BR.po: + * po/ro.po: + * po/ru.po: + * po/sk.po: + * po/sl.po: + * po/sq.po: + * po/sr.po: + * po/sv.po: + * po/tr.po: + * po/uk.po: + * po/vi.po: + * po/zh_CN.po: + * po/zh_HK.po: + * po/zh_TW.po: + Update .po files 2013-09-20 19:43:21 +0200 Andoni Morales Alastruey <ylatuya@gmail.com> diff --git a/NEWS b/NEWS index 56255fa9f714a9ba69f089c540918b0a39fd105d..8f91fc5c5e089fc53e1da57fb9405053f8c42352 100644 --- a/NEWS +++ b/NEWS @@ -1,123 +1,2 @@ -This is GStreamer Good Plugins 1.2.0 - -Changes since 1.0: - -New API: - • GstContext negotiation / sharing / announcing for sharing a - generic context between elements, e.g. a display handle - • GL texture upload conversion meta for allowing different - buffer types to be converted to an OpenGL texture - • GstCapsFeatures as extension to GstCaps for allowing the - negotiation of specific memory or meta requirements between - elements - • GstMemory flags for contiguous and non-mappable memory - • The stream-start event has optional flags now, e.g. for signalling - sparse streams - • The stream-start even has an optional group-id field now to signal - all streams that should be played together - • Allocators library in gst-plugins-base, currently only with generic - dmabuf memory support - • insertbin library for easier handling of dynamically linked - pipelines (in -bad for now) - • EGL helper library (in -bad for now) - • MPEG-TS data structure library (in -bad for now) - • New GstVideoRegionOfInterestMeta to describe a region of interest on - video frames. - • GstVideoDecoder/Encoder has new ::flush() vfunc to replace the - ill-defined ::reset() vfunc. - • The URI query allows to query the redirected URI now. - -Major changes: - • New tool: gst-play-1.0 in gst-plugins-base for basic playback - testing on the command line. - • New plugins: - ∘ mssdemux for Microsoft Smooth Streaming - ∘ dashdemux for DASH adaptive streaming protocol - ∘ bluez for interaction with Bluetooth devices - ∘ openjpeg for JPEG2000 decoding and encoding - ∘ daala for experimental Daala decoding and encoding - ∘ vpx plugin has experimental VP9 decoding and encoding support - ∘ webp plugin for WebP decoding (encoding to be added later) - ∘ Various others: yadif, srtp, sbc, fluidsynth, midiparse, - mfc, ivtv, accuraterip and audiofxbad - - • Moved plugins: - ∘ dtmf, vp8rtp, scaletempo and rtpmux plugins are in - gst-plugins-good now - - • Video: - ∘ Fix handling of interlaced video in converters such as videoscale - and videoconvert (e.g. scale both fields independently) - ∘ videoconvert will try harder to minimise quality losses when - conversion is necessary - ∘ The experimental GstSurfaceConverter, GstSurfaceMeta and - GstVideoContext APIs from the (confusingly-named) - libgstbasevideo-1.0 library in gst-plugins-bad have now been - removed and been replaced by new APIs in GStreamer Core and - gst-plugins-base (see above). Since that was all that was left in - this library, the entire experimental libgstbasevideo-1.0 library - has been removed from gst-plugins-bad - ∘ Chroma subsampling and chroma siting conversion is better handled - in videoconvert and the support for interlaced video was improved. - ∘ New pinwheel and spoke patterns in videotestsrc - ∘ videomixer can now accept different video formats on its sinkpads - and converts to a common format during mixing - - • Audio: - ∘ audioconvert will try harder to minimise quality losses when - conversion is necessary - ∘ adder now allows muting/unmuting of its input streams, and also - per-input stream volume - ∘ pulseaudio elements can switch between devices during playback now - ∘ aacparse can convert between ADTSâ†â†’RAW - - • Platform specific changes: - ∘ Caps, events, etc. are now printed in the GStreamer debug logs - with their content instead of just the pointer address even on - non-glibc platforms (e.g. Windows, OSX, Android). - ∘ Network elements (UDP/TCP) now work better with platforms, - where IPv6 sockets can't handle IPv4 (e.g. Windows) - ∘ Linux/BSD: v4l2 had many improvements and cleanups - - • Other changes: - ∘ gst-libav now uses libav 9 - ∘ Static linking of plugins is supported now (also in 1.0.7) - ∘ rtspsrc: add support for NetClientClock: when the server suggests a - GstNetTimeProvider in the SDP, set up a GstNetClientClock that - slaves to the remote clock and suggest this clock in provide_clock. - Simplifies synchronized playback of a resource from an RTSP server. - gst-rtsp-server now supports adding this to the SDP and can provide - a network clock - ∘ RTP retransmission / NACK support and big RTP jitterbuffer improvements - ∘ SRTP and DTLS support - ∘ Changes to many elements and core to use the correct sticky event - order and also not lose any important sticky events during flushing - ∘ >1000 fixed bug reports, and many other bug fixes and other - improvements everywhere that had no bug report - -Things to look out for: - • Single header includes for all libraries, e.g. #include - <gst/video/video.h> - this was needed for some bindings. - • Stricter (correct) caps subset checking in some cases where this was - not correct before. Caps will now always fail to be a compatible - subset of another set of caps if the subset caps are missing some - fields that the superset caps have. This might lead to not-negotiated - errors if caps are incomplete now. However, it also prevents possible - data corruption caused by piping data formatted in an - incompatible/unexpected way into some elements. Check your h264 caps - for stream-format and alignment fields and AAC caps for the - stream-format field. This change will also be included in the next - stable 1.0.8 release. - • Stricter checking for missing events and correct sticky event order - (stream-start, caps, segment) in some places; this is not enabled in - stable releases by default, but you may get warnings when using git - builds, development releases or when compiling with - -UG_DISABLE_ASSERT in CFLAGS - • x264enc now outputs data in byte-stream by default if downstream has - ANY caps (e.g. appsink without caps set, filesink, udpsink, - tcpserversink etc.) - • The MPEG TS demuxer posts messages contain the PMT, PAT, etc. in a - different format now. This new format uses the data structures from - the new MPEGTS library - • The GstContext API has changed between 1.1.4 and 1.1.90 +This is GStreamer Good Plugins 1.2.1 diff --git a/README b/README index 5df2d2b0568d51477124192db80693694201d266..a8f26f0c067b7ddcabf2f2d966a16f561efe5ecf 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -GStreamer 1.1.x development series +GStreamer 1.2.x stable series WHAT IT IS ---------- diff --git a/RELEASE b/RELEASE index 3a80727ac431fc051906c68de2f9f0f4fb389c14..500e1defb2d4a5867770cfce3ddeabfbd640be24 100644 --- a/RELEASE +++ b/RELEASE @@ -1,8 +1,8 @@ -Release notes for GStreamer Good Plugins 1.2.0 +Release notes for GStreamer Good Plugins 1.2.1 -The GStreamer team is proud to announce a new feature release +The GStreamer team is proud to announce a new bug-fix release in the 1.x stable series of the core of the GStreamer streaming media framework. @@ -57,11 +57,26 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg) Bugs fixed in this release - * 706083 : v4l2src: UVC Allocated buffers wrapped in GstBuffer get orphaned by GstBuffer API - * 707242 : qtmux: streamable and faststart property have no effect + * 683536 : souphttpsrc: Handles long pause (long enough to timeout TCP socket connection) as EOS * 707933 : matroskademux: Wrong UTF8 detection causes wrong detection of subtitle encoding - * 708501 : osxvideosink: fix segfault releasing the element - * 708622 : rtpjitterbuffer: fix various regressions + * 707975 : qtdemux: Can't handle datetimes before 1970 yet + * 708505 : matroskademux: sends unnecessary gap events + * 708864 : mp4mux: Does not negotiate due to framerate caps not set on peer pad + * 709270 : qtdemux: Does not support mp2v fourcc for MPEG-2 video + * 709352 : jpegdec: Does not require width/height on caps or parsed input + * 709384 : videomixer: Check if the source pad needs reconfiguration and update the source caps in that case + * 709390 : videomixer: Update videoconversion code + * 709423 : v4l2bufferpool: O_CLOEXEC needs _GNU_SOURCE + * 709457 : Do not write out SegmentUID when muxing to WebM + * 709507 : deinterlace: Segfault in handling of planar YUV video formats + * 709614 : wavenc: Uses invalid caps for alaw and mulaw + * 709728 : dvdemux/dvdec: Sends stream-start, caps and segment events in wrong order + * 710110 : multiudpsink: Leaks GstMemories when flushing + * 710215 : audioiirfilter: Crashes when no coefficients are provided + * 710623 : qtdemux: Video captured by iPad couldn't play in push mode + * 711230 : rtspsrc: allow setting certificate validation flags + * 711497 : rtpvp8pay: Compatibility issue with linphone due to always sending a picture id + * 711699 : wavenc: bogus header generated ==== Download ==== @@ -98,11 +113,20 @@ subscribe to the gstreamer-devel list. Contributors to this release + * Aleix Conchillo Flaque * Andoni Morales Alastruey - * Edward Hervey + * Hans MÃ¥nsson + * Matej Knopp + * Mathieu Duponchelle + * Matthieu Bouron + * Ognyan Tonchev * Olivier Crête - * Robert Krakora + * Peter Korsgaard + * Philippe Normand + * Reynaldo H. Verdejo Pinochet + * Rico Tzschichholz * Sebastian Dröge + * Thiago Santos * Tim-Philipp Müller * Wim Taymans  \ No newline at end of file diff --git a/common/m4/gst-glib2.m4 b/common/m4/gst-glib2.m4 index 0b9273462613d21f6a0f577559ea7b4bdfbc2fa5..3af5547b4bfa814e1750c33f9de491b79939cc86 100644 --- a/common/m4/gst-glib2.m4 +++ b/common/m4/gst-glib2.m4 @@ -34,7 +34,7 @@ AC_DEFUN([AG_GST_GLIB_CHECK], AC_ARG_ENABLE(gobject-cast-checks, AS_HELP_STRING([--enable-gobject-cast-checks[=@<:@no/auto/yes@:>@]], - [Enable GObject cast checks]),, + [Enable GObject cast checks]),[enable_gobject_cast_checks=$enableval], [enable_gobject_cast_checks=auto]) if test "x$enable_gobject_cast_checks" = "xauto"; then @@ -52,7 +52,7 @@ AC_DEFUN([AG_GST_GLIB_CHECK], AC_ARG_ENABLE(glib-asserts, AS_HELP_STRING([--enable-glib-asserts[=@<:@no/auto/yes@:>@]], - [Enable GLib assertion]),, + [Enable GLib assertion]),[enable_glib_assertions=$enableval], [enable_glib_assertions=auto]) if test "x$enable_glib_assertions" = "xauto"; then diff --git a/compile b/compile index b1f4749152a70326fda249f12dbcf90da29348ab..531136b068ef00e23d38429e6ee9a57d581a0870 100755 --- a/compile +++ b/compile @@ -1,10 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-01-04.17; # UTC +scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free -# Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # Written by Tom Tromey <tromey@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -79,6 +78,53 @@ func_file_conv () esac } +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () @@ -109,43 +155,34 @@ func_cl_wrapper () ;; esac ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; -l*) - lib=${1#-l} - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - set x "$@" "$dir/$lib.dll.lib" - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - set x "$@" "$dir/$lib.lib" - break - fi - done - IFS=$save_IFS - - test "$found" != yes && set x "$@" "$lib.lib" + func_cl_dashl "${1#-l}" + set x "$@" "$lib" shift ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; -L*) - func_file_conv "${1#-L}" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" + func_cl_dashL "${1#-L}" ;; -static) shared=false diff --git a/config.guess b/config.guess index d622a44e551f209d5e8c5462b3fe53a162f7b330..b79252d6b1034cbcce18ed21d4ed21a405f987e9 100755 --- a/config.guess +++ b/config.guess @@ -1,14 +1,12 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011, 2012 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2012-02-10' +timestamp='2013-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -22,19 +20,17 @@ timestamp='2012-02-10' # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner. Please send patches (context -# diff format) to <config-patches@gnu.org> and include a ChangeLog -# entry. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). # -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. +# Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# +# Please send patches with a ChangeLog entry to config-patches@gnu.org. + me=`echo "$0" | sed -e 's,.*/,,'` @@ -54,9 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 -Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -138,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include <features.h> + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + ;; +esac + # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in @@ -200,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} @@ -302,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) + arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) @@ -801,6 +820,9 @@ EOF i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; @@ -852,21 +874,21 @@ EOF exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -879,59 +901,54 @@ EOF EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-gnueabi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else - echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build @@ -950,54 +967,63 @@ EOF #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; + or1k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; or32:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-gnu + echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu + echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu + echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1201,6 +1227,9 @@ EOF BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1227,19 +1256,21 @@ EOF exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) @@ -1256,7 +1287,7 @@ EOF NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; - NSE-?:NONSTOP_KERNEL:*:*) + NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) @@ -1330,9 +1361,6 @@ EOF exit ;; esac -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - eval $set_cc_for_build cat >$dummy.c <<EOF #ifdef _SEQUENT_ diff --git a/config.sub b/config.sub index c894da45500c4af1bf5688e713a8895622d18182..9633db704678e91ad221adc4f30a22ce0bc61e1b 100755 --- a/config.sub +++ b/config.sub @@ -1,24 +1,18 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011, 2012 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2012-02-10' +timestamp='2013-08-10' -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see <http://www.gnu.org/licenses/>. @@ -26,11 +20,12 @@ timestamp='2012-02-10' # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted GNU ChangeLog entry. +# Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -73,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 -Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -123,7 +116,7 @@ esac maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) @@ -156,7 +149,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze) + -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; @@ -225,6 +218,12 @@ case $os in -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; -lynx*) os=-lynxos ;; @@ -253,10 +252,12 @@ case $basic_machine in | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | be32 | be64 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | be32 | be64 \ | bfin \ - | c4x | clipper \ + | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ @@ -267,7 +268,7 @@ case $basic_machine in | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -285,16 +286,17 @@ case $basic_machine in | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ - | nios | nios2 \ + | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 \ - | or32 \ + | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ @@ -364,13 +366,13 @@ case $basic_machine in | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | clipper-* | craynv-* | cydra-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ @@ -383,7 +385,8 @@ case $basic_machine in | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -401,12 +404,13 @@ case $basic_machine in | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ @@ -782,11 +786,15 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; - microblaze) + microblaze*) basic_machine=microblaze-xilinx ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; mingw32) - basic_machine=i386-pc + basic_machine=i686-pc os=-mingw32 ;; mingw32ce) @@ -822,7 +830,7 @@ case $basic_machine in basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) - basic_machine=i386-pc + basic_machine=i686-pc os=-msys ;; mvs) @@ -1013,7 +1021,11 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; - rdos) + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) basic_machine=i386-pc os=-rdos ;; @@ -1340,21 +1352,21 @@ case $os in -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ + | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-uclibc* \ + | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ @@ -1486,9 +1498,6 @@ case $os in -aros*) os=-aros ;; - -kaos*) - os=-kaos - ;; -zvmoe) os=-zvmoe ;; @@ -1537,6 +1546,12 @@ case $basic_machine in c4x-* | tic4x-*) os=-coff ;; + c8051-*) + os=-elf + ;; + hexagon-*) + os=-elf + ;; tic54x-*) os=-coff ;; @@ -1577,6 +1592,9 @@ case $basic_machine in mips*-*) os=-elf ;; + or1k-*) + os=-elf + ;; or32-*) os=-coff ;; diff --git a/configure b/configure index 31b57849b12f48d8587d08339ed47a5f0b1492d9..2059e9a163d85502c3ed05c640c7b8ea4d4da004 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for GStreamer Good Plug-ins 1.2.0. +# Generated by GNU Autoconf 2.69 for GStreamer Good Plug-ins 1.2.1. # # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>. # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GStreamer Good Plug-ins' PACKAGE_TARNAME='gst-plugins-good' -PACKAGE_VERSION='1.2.0' -PACKAGE_STRING='GStreamer Good Plug-ins 1.2.0' +PACKAGE_VERSION='1.2.1' +PACKAGE_STRING='GStreamer Good Plug-ins 1.2.1' PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer' PACKAGE_URL='' @@ -1945,7 +1945,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GStreamer Good Plug-ins 1.2.0 to adapt to many kinds of systems. +\`configure' configures GStreamer Good Plug-ins 1.2.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2021,7 +2021,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GStreamer Good Plug-ins 1.2.0:";; + short | recursive ) echo "Configuration of GStreamer Good Plug-ins 1.2.1:";; esac cat <<\_ACEOF @@ -2381,7 +2381,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GStreamer Good Plug-ins configure 1.2.0 +GStreamer Good Plug-ins configure 1.2.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -3192,7 +3192,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GStreamer Good Plug-ins $as_me 1.2.0, which was +It was created by GStreamer Good Plug-ins $as_me 1.2.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4174,7 +4174,7 @@ fi # Define the identity of the package. PACKAGE='gst-plugins-good' - VERSION='1.2.0' + VERSION='1.2.1' cat >>confdefs.h <<_ACEOF @@ -4384,9 +4384,9 @@ END fi - PACKAGE_VERSION_MAJOR=$(echo 1.2.0 | cut -d'.' -f1) - PACKAGE_VERSION_MINOR=$(echo 1.2.0 | cut -d'.' -f2) - PACKAGE_VERSION_MICRO=$(echo 1.2.0 | cut -d'.' -f3) + PACKAGE_VERSION_MAJOR=$(echo 1.2.1 | cut -d'.' -f1) + PACKAGE_VERSION_MINOR=$(echo 1.2.1 | cut -d'.' -f2) + PACKAGE_VERSION_MICRO=$(echo 1.2.1 | cut -d'.' -f3) @@ -4397,7 +4397,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5 $as_echo_n "checking nano version... " >&6; } - NANO=$(echo 1.2.0 | cut -d'.' -f4) + NANO=$(echo 1.2.1 | cut -d'.' -f4) if test x"$NANO" = x || test "x$NANO" = "x0" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5 @@ -9047,10 +9047,10 @@ fi done - GST_CURRENT=200 + GST_CURRENT=201 GST_REVISION=0 - GST_AGE=200 - GST_LIBVERSION=200:0:200 + GST_AGE=201 + GST_LIBVERSION=201:0:201 @@ -13376,7 +13376,7 @@ CC="$lt_save_CC" GST_REQ=1.2.0 -GSTPB_REQ=1.2.0 +GSTPB_REQ=1.2.1 @@ -24146,7 +24146,7 @@ fi # Check whether --enable-gobject-cast-checks was given. if test "${enable_gobject_cast_checks+set}" = set; then : - enableval=$enable_gobject_cast_checks; + enableval=$enable_gobject_cast_checks; enable_gobject_cast_checks=$enableval else enable_gobject_cast_checks=auto fi @@ -24166,7 +24166,7 @@ fi # Check whether --enable-glib-asserts was given. if test "${enable_glib_asserts+set}" = set; then : - enableval=$enable_glib_asserts; + enableval=$enable_glib_asserts; enable_glib_assertions=$enableval else enable_glib_assertions=auto fi @@ -37789,7 +37789,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GStreamer Good Plug-ins $as_me 1.2.0, which was +This file was extended by GStreamer Good Plug-ins $as_me 1.2.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -37855,7 +37855,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GStreamer Good Plug-ins config.status 1.2.0 +GStreamer Good Plug-ins config.status 1.2.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 86807f5c17cd5708301570641c00823100a9e885..0c7ad96d42e2b0a5ae5d96f64e8753a124b5152f 100644 --- a/configure.ac +++ b/configure.ac @@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file dnl initialize autoconf dnl releases only do -Wall, git and prerelease does -Werror too dnl use a three digit version number for releases, and four for git/pre -AC_INIT([GStreamer Good Plug-ins],[1.2.0],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good]) +AC_INIT([GStreamer Good Plug-ins],[1.2.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good]) AG_GST_INIT @@ -43,11 +43,11 @@ AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION", [GStreamer API Version]) AG_GST_LIBTOOL_PREPARE -AS_LIBTOOL(GST, 200, 0, 200) +AS_LIBTOOL(GST, 201, 0, 201) dnl *** required versions of GStreamer stuff *** GST_REQ=1.2.0 -GSTPB_REQ=1.2.0 +GSTPB_REQ=1.2.1 dnl *** autotools stuff **** diff --git a/depcomp b/depcomp index bd0ac089584a762069b7e0b3f2937e89b9144cc7..4ebd5b3a2f2d689de95251c9424e2763aa159de5 100755 --- a/depcomp +++ b/depcomp @@ -1,10 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2011-12-04.11; # UTC +scriptversion=2013-05-30.07; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -28,9 +27,9 @@ scriptversion=2011-12-04.11; # UTC case $1 in '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] @@ -40,8 +39,8 @@ as side-effects. Environment variables: depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. @@ -57,6 +56,66 @@ EOF ;; esac +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} + if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 @@ -69,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" +# Avoid interferences from the environment. +gccflag= dashmflag= + # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case @@ -80,26 +142,32 @@ if test "$depmode" = hp; then fi if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc fi case "$depmode" in @@ -122,8 +190,7 @@ gcc3) done "$@" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -131,13 +198,17 @@ gcc3) ;; gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then @@ -145,33 +216,31 @@ gcc) fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. + # The second -e expression handles DOS-style file names with drive + # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. +## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory +## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -189,8 +258,7 @@ sgi) "$@" -MDupdate "$tmpdepfile" fi stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -198,43 +266,41 @@ sgi) if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" - # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the + # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> "$depfile" + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ + | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" + make_dummy_depfile fi rm -f "$tmpdepfile" ;; +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the + # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u @@ -247,9 +313,7 @@ aix) "$@" -M fi stat=$? - - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi @@ -258,44 +322,100 @@ aix) do test -f "$tmpdepfile" && break done - if test -f "$tmpdepfile"; then - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : + # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -307,8 +427,8 @@ icc) sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -319,9 +439,8 @@ hp2) # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d @@ -332,8 +451,7 @@ hp2) "$@" +Maked fi stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi @@ -343,77 +461,61 @@ hp2) test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" else - echo "#dummy" > "$depfile" + make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; msvc7) if test "$libtool" = yes; then @@ -424,8 +526,7 @@ msvc7) "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" - if test "$stat" = 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -443,14 +544,15 @@ msvc7) p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g -s/\(.*\)/ \1 \\/p +s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { - s/.*/ / + s/.*/'"$tab"'/ G p }' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; @@ -478,7 +580,7 @@ dashmstdout) shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -498,18 +600,18 @@ dashmstdout) done test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' + # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -562,11 +664,12 @@ makedepend) # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; @@ -583,7 +686,7 @@ cpp) shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -602,10 +705,10 @@ cpp) esac done - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" @@ -637,23 +740,23 @@ msvisualcpp) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; + set fnord "$@" + shift + shift + ;; *) - set fnord "$@" "$arg" - shift - shift - ;; + set fnord "$@" "$arg" + shift + shift + ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; diff --git a/docs/plugins/gst-plugins-good-plugins.args b/docs/plugins/gst-plugins-good-plugins.args index d91b2c8cf903f5377320e21ba6ff90f98163b57b..8abfabf2bf9af9b0e989fbe64a83c0339ea77ad9 100644 --- a/docs/plugins/gst-plugins-good-plugins.args +++ b/docs/plugins/gst-plugins-good-plugins.args @@ -988,6 +988,16 @@ <DEFAULT></DEFAULT> </ARG> +<ARG> +<NAME>GstRTSPSrc::tls-validation-flags</NAME> +<TYPE>GTlsCertificateFlags</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>TLS validation flags</NICK> +<BLURB>TLS certificate validation flags used to validate the server certificate.</BLURB> +<DEFAULT>G_TLS_CERTIFICATE_UNKNOWN_CA|G_TLS_CERTIFICATE_BAD_IDENTITY|G_TLS_CERTIFICATE_NOT_ACTIVATED|G_TLS_CERTIFICATE_EXPIRED|G_TLS_CERTIFICATE_REVOKED|G_TLS_CERTIFICATE_INSECURE|G_TLS_CERTIFICATE_GENERIC_ERROR</DEFAULT> +</ARG> + <ARG> <NAME>GstRTPDec::skip</NAME> <TYPE>gint</TYPE> @@ -23988,3 +23998,13 @@ <DEFAULT>0</DEFAULT> </ARG> +<ARG> +<NAME>GstRtpVP8Pay::picture-id-mode</NAME> +<TYPE>GstVP8RTPPayMode</TYPE> +<RANGE></RANGE> +<FLAGS>rw</FLAGS> +<NICK>Picture ID Mode</NICK> +<BLURB>The picture ID mode for payloading.</BLURB> +<DEFAULT>No Picture ID</DEFAULT> +</ARG> + diff --git a/docs/plugins/html/gst-plugins-good-plugins-1.0.devhelp2 b/docs/plugins/html/gst-plugins-good-plugins-1.0.devhelp2 index 0b76d5c219604183344cb223fb9fdae861818851..a582d647fcdeed3c49fcdbb3f085c304c6b897a4 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-1.0.devhelp2 +++ b/docs/plugins/html/gst-plugins-good-plugins-1.0.devhelp2 @@ -1064,6 +1064,7 @@ <keyword type="property" name="The "ntp-sync" property" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--ntp-sync"/> <keyword type="property" name="The "use-pipeline-clock" property" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--use-pipeline-clock"/> <keyword type="property" name="The "sdes" property" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--sdes"/> + <keyword type="property" name="The "tls-validation-flags" property" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--tls-validation-flags"/> <keyword type="signal" name="The "handle-request" signal" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc-handle-request"/> <keyword type="signal" name="The "on-sdp" signal" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc-on-sdp"/> <keyword type="signal" name="The "select-stream" signal" link="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc-select-stream"/> diff --git a/docs/plugins/html/gst-plugins-good-plugins-3gppmux.html b/docs/plugins/html/gst-plugins-good-plugins-3gppmux.html index 339029d3c659f7398134a625e0eb529d259e50de..a234fe6bdb07b8efe1975f7454a3b78e2db6b47b 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-3gppmux.html +++ b/docs/plugins/html/gst-plugins-good-plugins-3gppmux.html @@ -202,19 +202,19 @@ Documentation last reviewed on 2011-04-21 </tr> <tr> <td><p><span class="term">details</span></p></td> -<td>video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td>video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> </tbody> </table></div> diff --git a/docs/plugins/html/gst-plugins-good-plugins-flvmux.html b/docs/plugins/html/gst-plugins-good-plugins-flvmux.html index 289d027208212b6fe20981cdb026e07618163d12..1107a75223b4ba0cc7e23c97e81a2b4861ecd8d7 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-flvmux.html +++ b/docs/plugins/html/gst-plugins-good-plugins-flvmux.html @@ -150,11 +150,7 @@ flvmux muxes different streams into an FLV file. </tr> <tr> <td><p><span class="term"></span></p></td> -<td> audio/mpeg, mpegversion=(int)2, framed=(boolean)true</td> -</tr> -<tr> -<td><p><span class="term"></span></p></td> -<td> audio/mpeg, mpegversion=(int)4, stream-format=(string)raw, framed=(boolean)true</td> +<td> audio/mpeg, mpegversion=(int){ 4, 2 }, stream-format=(string)raw</td> </tr> <tr> <td><p><span class="term"></span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-ismlmux.html b/docs/plugins/html/gst-plugins-good-plugins-ismlmux.html index beeadcdbaef60016bcb47e6d56841163107cc5f4..29c0dee461fdba570e97ddf69b94ad5a9e662d8a 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-ismlmux.html +++ b/docs/plugins/html/gst-plugins-good-plugins-ismlmux.html @@ -194,15 +194,15 @@ Documentation last reviewed on 2011-04-21 </tr> <tr> <td><p><span class="term">details</span></p></td> -<td>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> </tbody> </table></div> diff --git a/docs/plugins/html/gst-plugins-good-plugins-jpegdec.html b/docs/plugins/html/gst-plugins-good-plugins-jpegdec.html index b284e221ee00094e9a551b7fd7fa24dbc415098c..9076ff3ba8e7c0e5a3879d39ca60002d52b38340 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-jpegdec.html +++ b/docs/plugins/html/gst-plugins-good-plugins-jpegdec.html @@ -114,7 +114,7 @@ </tr> <tr> <td><p><span class="term">details</span></p></td> -<td>image/jpeg, width=(int)[ 1, 65535 ], height=(int)[ 1, 65535 ]</td> +<td>image/jpeg</td> </tr> </tbody> </table></div> diff --git a/docs/plugins/html/gst-plugins-good-plugins-mj2mux.html b/docs/plugins/html/gst-plugins-good-plugins-mj2mux.html index 20b2198603aab8ae6dcc389ce84bf2fc4e0393a2..29a038b103eb3b0c5d69e8f1032725b3e4b39a91 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-mj2mux.html +++ b/docs/plugins/html/gst-plugins-good-plugins-mj2mux.html @@ -231,11 +231,11 @@ Documentation last reviewed on 2011-04-21 </tr> <tr> <td><p><span class="term">details</span></p></td> -<td>image/x-j2c, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td>image/x-j2c, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> image/x-jpc, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> image/x-jpc, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> </tbody> </table></div> diff --git a/docs/plugins/html/gst-plugins-good-plugins-mp4mux.html b/docs/plugins/html/gst-plugins-good-plugins-mp4mux.html index 8d796723f1dad00b28877a9d9e5a648c734a61a3..f8295ef21590c973b1f611afbf7ac11b01a7f17f 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-mp4mux.html +++ b/docs/plugins/html/gst-plugins-good-plugins-mp4mux.html @@ -235,19 +235,19 @@ Documentation last reviewed on 2011-04-21 </tr> <tr> <td><p><span class="term">details</span></p></td> -<td>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-mp4-part, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-mp4-part, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> </tbody> </table></div> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html index f6b7ce04bb64dc8b9fcfb627b56418614814dcc2..cc3bafdf70f8ed4babb03d45c638412ee71f0052 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html index 9c99f2e4de93d303d2ce29baa6c2bd853c000f1c..f8d5310bb133b4ce608b82bd4638069428de6690 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html index e53851d8c6ed503737968dabe99f577c064cb5f0..0fa4ec7f03126a5438cf6c12aaa6b0cc88f1b361 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html index 07724278fc40153f0c9903957c72d902623bb8f4..67ac07fec109ddccb58889671a1eb2cdbc3a9384 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html index 065cef05c077af640d06857ebc9599404f116195..0b82ab21b98d5969db14fd1afffe2b8d11d5faa3 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html index e2920f4980863e263193911329f3f3f5f91afc5e..b4f8f5e064b26e715cf0a6cd86a750340658e50a 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html index fa14cf8af3b31e8f0bc8e36587c27dc3e652d3d7..fb407e71a03c4e8e7b445dfbc14b636571186a07 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html index fdf69c94532e9a1ae6902407b8d0e97d6c712961..da81c3a7bb5b688123117794832bdb29ad5bcd7f 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html index c032127a3833e2ec713f41a73bf5cf454bfbdf80..b5d8790d4bf22a63770a13d318899c3247c5251f 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html index cf283ef72f3fda3150a24a7342a8b64940820d38..67f8d345f98ba3a9ba39518cfd566357c34df9da 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html index 47124b6dbcd5480567b03f73c19f1100ea9765f5..96e6bf5faa784091791050777a9f63f3b9743bb2 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html index bd2d9a2de328c4f5ae9ac4e329b5f192e08273c2..5d6b9112e745caf67d25cbcd9f38a780e369ed05 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html index dd59a9e6d4cab994971706c8d524380916455d46..34f370e66a5b1518705b7e210a5b073b5356037b 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html index 79a85a9ba565a04538d431ee5b4bf3698db82d2c..a160ebf8a129a255b20c8cb02fded7b6b2a858fc 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html index dae32f55ab5b57de2c766dcca7fad25003686029..a8f306034be0667871d998dc478c73fb13ba9a23 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html index 0a4f7033dfd8579fed5ceb49bbe567246baebf81..44179dc5827d1465dd16a03d061db4e8784db6e1 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html index 35389585f1059c7a113ae33af44d5a05609a8743..7b73c64f8e9b13614243ce3c4dbca684903198d7 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html index 15da84d35f912a9fb5bf5c87042a380ec99face6..5750b347cc09c109f3def10633692d7c3e58a130 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html index f69e3920fdf37d3a8201420eb5ae9e4fd76f8240..15bf065a42d5ebd05806514059e2e18255767c5a 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html index 6177f082c87547005efd918b44e6e5ce2c315276..75889cc2b6090631348e2644e4ba0e5933e0ed09 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html index 002c7d0c1ce9bbe11b3d295c1ae3aa2afe78a4b5..05bb76ce7e9f6626441682698f9b8851ab05c350 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html index 7ec83fe3e31bafc8c19afddef972bfb7cd0d92ab..5685dda8d88b4fd2232f3f9ca28bb3dd5886a1c8 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html index bfb9c78cf23a55927dcac1ff8cfaaa88970d8811..90e998c01834340810ee9b3bd91d56e14ab106f8 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html index e67da595c3d827460eb7a13c449461314575bf9f..d24a250973396172eced97b41df45cf5c9bd001f 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html index b80dd89ccdc02939bc7709999b7a71e7e4fc60ff..9115fe69b9cf8a7c96404e56e53a8cefc7387eea 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html index 3865acf5afcb01c22a15916fd44ada5739b8ff10..d8467217d6fb870ab8a8cc7d22b319f832a54cf4 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html index eb5576947abe5c7c3d0d0533d1dc7de509d928b5..174797942aa5665e87b9d3a2ddc6f70945fd4a83 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html index 62ce3d6ae4f73e0b37286b76fe601fb4bf694319..27e69be56120e7ed81a0e88e2f717b68a6a29741 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html index 98d6c0d145902676f527da9ddfb3b3a516b8b88b..a2c6f735e1865a67227562f6459fc801b295f459 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html index 9c7048e76cc64164d51ce17e1b6bf82ff34a69b6..74fc8489a2895e77434081c87d70aa18b248587b 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html index b209f985a10812d58a5e6f30b510113019c609ed..7e0481731ce36159ccfe608cab8fc42cc3ce8364 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html index c5124f13538f990c89517e6a76b2d7b559a14d53..78bb34ac3352fd1f9ad1e987726bafb2c32169c7 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html index 5d1d0f3c42cfcd552f5c40aa50af9c055806c9d3..ac93a8e184f17f103e57e37afb06474a3efe6dca 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html index 16b863820aab5c91ee7aa706adde5104600ecc3f..e0d44517f5d21183175fcf5876b43516c8087f5c 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html index 948591ac8729e57d68d8689eaef4fe66fcf2d249..015a27962f0039012f83964c82bb6a6a8cf16416 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html index 451697db32e717a9caf10029c2dbef0699e1922a..99f3bcbef4e08b04c69ab5763c5d841bdd45083b 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html index 8a579ee9e6f035a092314c4f2aa7adbecef66394..312beb6a0052f5ef9ba403763657bb247a339aab 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html index 69bd3d1bb7ff868483b728d73c44f7d4e7dec01f..07e797549a4416d6be6d5feadaf02be652de3765 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html index 7c71ac91dd2061ebc9779920b33f2dd4f725e9b4..686d17260c9999737a390ba1eac31d18e3b09b1a 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html index 89a8c9083b9ba9c4aa06171c4465ab34ec2f9ed8..2c5a260c0d61619651a7f8e8bb34f0a9800f52af 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html index 09bc27e126a818eac7df57ef60632e22a3cdd396..09c191bb1a08f601140efb0b6d1287eb6d8a9228 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html index 4e73480b09c83b11edcc8a2e9b2e1f1113697cf8..d85ddfce662632753a53c89dcff8060661fd55fd 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html index d58bf44dc39b9c8518c1b40dec6f0164fbf4c7f4..a2d600a96a9ee67f594b6e8f486b1f07c023065e 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html index 16c7b70166e657a5c6c8e34d3af0f276e24544ee..73940bedfbbaa2ba565d7e488232fcddd171e4c3 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html index d5acb752038c781de1e592aba8c4edf6856a3463..d83b4f7626c9d3e9200f29f7b5039850160192a6 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html index f7a200e03d8805ec5fa9a2b78f46495f54516de1..f51713352b06bf60d22e5a0f2387b65d992ef354 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html index 829c75ec0591a8b868ffb3180d0b8a6e9bc27875..4e46e91a282028dc970e056e8cf7a7a5f3976ab1 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html index a24c4b84e81bf7e3c2dc701ebab9d99d9743977f..c34bc929a3500d883af83b61d24e19a366143dd8 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html index 4fe2a388019af1195f0f4166b17fd80b9ff4c7e3..f1cc2fc4b5ab5055b6685e390f904025a19a2d74 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html index f052c51e39eda0cbe09643c2e732d5e16070f247..40d27aea72137d6a33684c7e3a5ef522714a4286 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html index 26a51e7b31e66b82c4c263fdbce3b77967cff249..6dcfddd93b1d490a1597f42a041232afe17d23fd 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html index dfa18667ad440f7e598e9ca234b030398d7d04a4..898f6c4b37bcc324ae0af0a1e76840fff91b0194 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html index c8b557fa79e85345adc6ca96deee941e2154968f..3c4fbd4c0874949614ab4b472c9576e5f303fe79 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html index 0cd7fcef09cc368beb0d317fa99498f9b6b4ed69..9619276aae93a06e3696642ebe0c095ca0429d41 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html index d5b2ae5a03519af8cd14f7579d33e3beb6e47b91..548044ce3ad2190ca361cade7570dc5d7cc159c0 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html index facc7786d6670d038d929556be45a8060f9bc7d8..cba90786fe21adb27824ad128a8d4b95809d6bad 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html index 6589f0a292074a1b8016b198c9bf0b0f83c24963..97c88cf1dc8ebf791e0523cb19056a9f4f1c47b9 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html index f656f9ac01700426f8e9d414b61d746bdefa696b..31f19a802116a7048d12d47e6c00b9d8d4e966d4 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html index e7fbf99ad29487ee261f50da66d0c07afc8f049e..bf82fec0cfebfb053f7440ebd09e5b79eae220c4 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html index e485f733c4d853a23199d47cc649ae94b67ab7dc..afafa65c75e9b7e6a1d49146c6c2361137f77e4e 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html index 36ad64487c8920ad5467abf31b486fbafa296e85..2900790061078e4f8a1776c15a6c1aa8ea0e0a38 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html index 6be0f01649d089f3b653825e066c7d56a2705939..c75b2550434f7123a38628ac29fdd32f76a38298 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html index dcfaff00a1bd806a282c3f9f1ff0344121d3bb49..2a5150e8d258e9718f75f46457dd35cad2a90a2a 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html index 34bae23b2f82e0a134d51314ab36fcb7cd6eb5f5..a68e4cc8d2b7d7109d390baf8fd93c00bf9d13f4 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html index e97e86bad1edfdbec9250ff20dbc4e2769938c5a..4677ec7479d262986bb05820b58017e9040035dc 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.2.0</td> +<td>1.2.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-qtmux.html b/docs/plugins/html/gst-plugins-good-plugins-qtmux.html index 650734bc3eeb898c81f8f1f479dea52a4cd3e4c6..bcdd89f62c7a6f9b94a7101c0fe37d80d47c46f5 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-qtmux.html +++ b/docs/plugins/html/gst-plugins-good-plugins-qtmux.html @@ -257,31 +257,31 @@ Last reviewed on 2010-12-03 </tr> <tr> <td><p><span class="term">details</span></p></td> -<td>video/x-raw, format=(string){ RGB, UYVY }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td>video/x-raw, format=(string){ RGB, UYVY }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-svq, svqversion=(int)3, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-svq, svqversion=(int)3, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-dv, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-dv, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> @@ -289,15 +289,15 @@ Last reviewed on 2010-12-03 </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-vp8, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-vp8, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-dirac, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-dirac, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> video/x-qt-part, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> +<td> video/x-qt-part, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td> </tr> </tbody> </table></div> diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html b/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html index 53003f3db937491e72366be8d1a1bfaf85cf2719..5d175df391ccf21991a0ca10daa48d663401c2c1 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html +++ b/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html @@ -96,6 +96,7 @@ GstRTSPSrc implements "<a class="link" href="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--ntp-sync" title='The "ntp-sync" property'>ntp-sync</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write "<a class="link" href="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--use-pipeline-clock" title='The "use-pipeline-clock" property'>use-pipeline-clock</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write "<a class="link" href="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--sdes" title='The "sdes" property'>sdes</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a>* : Read / Write + "<a class="link" href="gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--tls-validation-flags" title='The "tls-validation-flags" property'>tls-validation-flags</a>" <a href="http://library.gnome.org/devel/gio/unstable/gio-TLS-Overview.html#GTlsCertificateFlags"><span class="type">GTlsCertificateFlags</span></a> : Read / Write </pre> </div> <div class="refsect1"> @@ -430,6 +431,13 @@ Last reviewed on 2006-08-18 (0.10.5) <pre class="programlisting"> "sdes" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a>* : Read / Write</pre> <p>The SDES items of this session.</p> </div> +<hr> +<div class="refsect2"> +<a name="GstRTSPSrc--tls-validation-flags"></a><h3>The <code class="literal">"tls-validation-flags"</code> property</h3> +<pre class="programlisting"> "tls-validation-flags" <a href="http://library.gnome.org/devel/gio/unstable/gio-TLS-Overview.html#GTlsCertificateFlags"><span class="type">GTlsCertificateFlags</span></a> : Read / Write</pre> +<p>TLS certificate validation flags used to validate the server certificate.</p> +<p>Default value: G_TLS_CERTIFICATE_UNKNOWN_CA|G_TLS_CERTIFICATE_BAD_IDENTITY|G_TLS_CERTIFICATE_NOT_ACTIVATED|G_TLS_CERTIFICATE_EXPIRED|G_TLS_CERTIFICATE_REVOKED|G_TLS_CERTIFICATE_INSECURE|G_TLS_CERTIFICATE_GENERIC_ERROR</p> +</div> </div> <div class="refsect1"> <a name="gst-plugins-good-plugins-rtspsrc.signal-details"></a><h2>Signal Details</h2> diff --git a/docs/plugins/html/gst-plugins-good-plugins-wavenc.html b/docs/plugins/html/gst-plugins-good-plugins-wavenc.html index 66c928e639b1bf724823a9098854e0a259750cb2..028debee49380d207f76cd9fc032794671919c90 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-wavenc.html +++ b/docs/plugins/html/gst-plugins-good-plugins-wavenc.html @@ -152,11 +152,11 @@ Format an audio stream into the wav format. </tr> <tr> <td><p><span class="term"></span></p></td> -<td> audio/x-alaw, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 2 ], width=(int)8, depth=(int)8, signed=(boolean)false</td> +<td> audio/x-alaw, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 2 ]</td> </tr> <tr> <td><p><span class="term"></span></p></td> -<td> audio/x-mulaw, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 2 ], width=(int)8, depth=(int)8, signed=(boolean)false</td> +<td> audio/x-mulaw, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 2 ]</td> </tr> </tbody> </table></div> diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html index 195106ff0abd0f96bf7b22b2c0748c7d37e6df6c..7a372ac52d8585aabc14fedff0172a686cb19872 100644 --- a/docs/plugins/html/index.html +++ b/docs/plugins/html/index.html @@ -15,7 +15,7 @@ <div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Good Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div> <div><p class="releaseinfo"> - for GStreamer Good Plugins 1.0 (1.2.0) + for GStreamer Good Plugins 1.0 (1.2.1) The latest version of this documentation can be found on-line at <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/</a>. </p></div> diff --git a/docs/plugins/html/index.sgml b/docs/plugins/html/index.sgml index d3af905cb60b9da1e135f48518facf35694e227b..a5e7884fe3bf61fb81191e179770d366d367be83 100644 --- a/docs/plugins/html/index.sgml +++ b/docs/plugins/html/index.sgml @@ -1460,6 +1460,7 @@ <ANCHOR id="GstRTSPSrc--ntp-sync" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--ntp-sync"> <ANCHOR id="GstRTSPSrc--use-pipeline-clock" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--use-pipeline-clock"> <ANCHOR id="GstRTSPSrc--sdes" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--sdes"> +<ANCHOR id="GstRTSPSrc--tls-validation-flags" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc--tls-validation-flags"> <ANCHOR id="gst-plugins-good-plugins-rtspsrc.signal-details" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-rtspsrc.html#gst-plugins-good-plugins-rtspsrc.signal-details"> <ANCHOR id="GstRTSPSrc-handle-request" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc-handle-request"> <ANCHOR id="GstRTSPSrc-on-sdp" href="gst-plugins-good-plugins-1.0/gst-plugins-good-plugins-rtspsrc.html#GstRTSPSrc-on-sdp"> diff --git a/docs/plugins/inspect/plugin-1394.xml b/docs/plugins/inspect/plugin-1394.xml index a2cf34118dd0b81a610f8a72d8e0aa26463728c1..86b6142a5258c089babb83f6a30c7024859b2544 100644 --- a/docs/plugins/inspect/plugin-1394.xml +++ b/docs/plugins/inspect/plugin-1394.xml @@ -3,7 +3,7 @@ <description>Source for video data via IEEE1394 interface</description> <filename>../../ext/raw1394/.libs/libgst1394.so</filename> <basename>libgst1394.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-aasink.xml b/docs/plugins/inspect/plugin-aasink.xml index e35a0962c7056a74c16abf2bfb11fbc38e1ca052..3e57e7ba129edf5bc94a67800cbd3d6617b1d147 100644 --- a/docs/plugins/inspect/plugin-aasink.xml +++ b/docs/plugins/inspect/plugin-aasink.xml @@ -3,7 +3,7 @@ <description>ASCII Art video sink</description> <filename>../../ext/aalib/.libs/libgstaasink.so</filename> <basename>libgstaasink.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-alaw.xml b/docs/plugins/inspect/plugin-alaw.xml index e80dc97e09d4343495bb4a5bb62437bbfa30e582..56dfecf8f84b12eb38fe5f115a2f2cd81595be4b 100644 --- a/docs/plugins/inspect/plugin-alaw.xml +++ b/docs/plugins/inspect/plugin-alaw.xml @@ -3,7 +3,7 @@ <description>ALaw audio conversion routines</description> <filename>../../gst/law/.libs/libgstalaw.so</filename> <basename>libgstalaw.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-alpha.xml b/docs/plugins/inspect/plugin-alpha.xml index 99e4811d36ca2fc3d079e756669e5b96d678c356..c4ad53d0ceaa57704e1045aacc70eb08ab17d9d2 100644 --- a/docs/plugins/inspect/plugin-alpha.xml +++ b/docs/plugins/inspect/plugin-alpha.xml @@ -3,7 +3,7 @@ <description>adds an alpha channel to video - constant or via chroma-keying</description> <filename>../../gst/alpha/.libs/libgstalpha.so</filename> <basename>libgstalpha.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-alphacolor.xml b/docs/plugins/inspect/plugin-alphacolor.xml index ebb423c05a81b28e02a0b55e5a3f473793b20478..d45980bbdf04e7065229f4ffa63cad4a0635d418 100644 --- a/docs/plugins/inspect/plugin-alphacolor.xml +++ b/docs/plugins/inspect/plugin-alphacolor.xml @@ -3,7 +3,7 @@ <description>RGBA from/to AYUV colorspace conversion preserving the alpha channel</description> <filename>../../gst/alpha/.libs/libgstalphacolor.so</filename> <basename>libgstalphacolor.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-apetag.xml b/docs/plugins/inspect/plugin-apetag.xml index ef3d3d3e01e508ec1743901cfebef594377c8642..dc30c812f47849480f0b3c19243aee00fe4cef03 100644 --- a/docs/plugins/inspect/plugin-apetag.xml +++ b/docs/plugins/inspect/plugin-apetag.xml @@ -3,7 +3,7 @@ <description>APEv1/2 tag reader</description> <filename>../../gst/apetag/.libs/libgstapetag.so</filename> <basename>libgstapetag.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-audiofx.xml b/docs/plugins/inspect/plugin-audiofx.xml index 7e526c82821ffc5b323178de9610bb03aab229e6..840551d994cc2cad1db693ed359b69840428e81c 100644 --- a/docs/plugins/inspect/plugin-audiofx.xml +++ b/docs/plugins/inspect/plugin-audiofx.xml @@ -3,7 +3,7 @@ <description>Audio effects plugin</description> <filename>../../gst/audiofx/.libs/libgstaudiofx.so</filename> <basename>libgstaudiofx.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-audioparsers.xml b/docs/plugins/inspect/plugin-audioparsers.xml index f4a039df0fdf00b5ce658e37063d061d2f90f033..894ba25dc7db1ba5259474c928fed670b545fccc 100644 --- a/docs/plugins/inspect/plugin-audioparsers.xml +++ b/docs/plugins/inspect/plugin-audioparsers.xml @@ -3,7 +3,7 @@ <description>Parsers for various audio formats</description> <filename>../../gst/audioparsers/.libs/libgstaudioparsers.so</filename> <basename>libgstaudioparsers.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-auparse.xml b/docs/plugins/inspect/plugin-auparse.xml index c241d1d6ee8d4b60e5050f289fb62cda47dc6e5b..c8168e5533d7a2d284fe2f82768a01d14a3a6a51 100644 --- a/docs/plugins/inspect/plugin-auparse.xml +++ b/docs/plugins/inspect/plugin-auparse.xml @@ -3,7 +3,7 @@ <description>parses au streams</description> <filename>../../gst/auparse/.libs/libgstauparse.so</filename> <basename>libgstauparse.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-autodetect.xml b/docs/plugins/inspect/plugin-autodetect.xml index 6cb3bd806b146036075bb0785e259c4825764cac..b5c13d6c1443eac333434b8d6e1e01ea751c6227 100644 --- a/docs/plugins/inspect/plugin-autodetect.xml +++ b/docs/plugins/inspect/plugin-autodetect.xml @@ -3,7 +3,7 @@ <description>Plugin contains auto-detection plugins for video/audio in- and outputs</description> <filename>../../gst/autodetect/.libs/libgstautodetect.so</filename> <basename>libgstautodetect.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-avi.xml b/docs/plugins/inspect/plugin-avi.xml index a95dbaa9b3b80a184ae5c6ab8e988d5e2f91c887..98e4dfa3fcef22e25b3a06178b5cdb54dc80821e 100644 --- a/docs/plugins/inspect/plugin-avi.xml +++ b/docs/plugins/inspect/plugin-avi.xml @@ -3,7 +3,7 @@ <description>AVI stream handling</description> <filename>../../gst/avi/.libs/libgstavi.so</filename> <basename>libgstavi.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-cacasink.xml b/docs/plugins/inspect/plugin-cacasink.xml index 6ccd3739180d865dcab8ce289a432390dd7937fe..7978d080c91dbd8c6a71b4e540e90c27a8381c6d 100644 --- a/docs/plugins/inspect/plugin-cacasink.xml +++ b/docs/plugins/inspect/plugin-cacasink.xml @@ -3,7 +3,7 @@ <description>Colored ASCII Art video sink</description> <filename>../../ext/libcaca/.libs/libgstcacasink.so</filename> <basename>libgstcacasink.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-cairo.xml b/docs/plugins/inspect/plugin-cairo.xml index 01d3c96ce0d272a9dc3487e089f9b306d405f888..54a3c7e025b9fc8d34906a07f5bb15dfd18bd9d6 100644 --- a/docs/plugins/inspect/plugin-cairo.xml +++ b/docs/plugins/inspect/plugin-cairo.xml @@ -3,7 +3,7 @@ <description>Cairo-based elements</description> <filename>../../ext/cairo/.libs/libgstcairo.so</filename> <basename>libgstcairo.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-cutter.xml b/docs/plugins/inspect/plugin-cutter.xml index 74ed6bc7b865acf7c56ef0b00fcba0c445d58b3f..3b442488c7ecc12a001c74d1b1e70c8c59e92c92 100644 --- a/docs/plugins/inspect/plugin-cutter.xml +++ b/docs/plugins/inspect/plugin-cutter.xml @@ -3,7 +3,7 @@ <description>Audio Cutter to split audio into non-silent bits</description> <filename>../../gst/cutter/.libs/libgstcutter.so</filename> <basename>libgstcutter.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-debug.xml b/docs/plugins/inspect/plugin-debug.xml index 28d50689a796797af03f5199740c5d998729f5f5..329677ca7f6741f63058f1937ac37b2ff7291b63 100644 --- a/docs/plugins/inspect/plugin-debug.xml +++ b/docs/plugins/inspect/plugin-debug.xml @@ -3,7 +3,7 @@ <description>elements for testing and debugging</description> <filename>../../gst/debugutils/.libs/libgstdebug.so</filename> <basename>libgstdebug.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-deinterlace.xml b/docs/plugins/inspect/plugin-deinterlace.xml index c39639a919bcfe5007af2f71bae4bcac2de5ae25..ab74fb3e4ddb5db5335d37d211a84ec3b99432da 100644 --- a/docs/plugins/inspect/plugin-deinterlace.xml +++ b/docs/plugins/inspect/plugin-deinterlace.xml @@ -3,7 +3,7 @@ <description>Deinterlacer</description> <filename>../../gst/deinterlace/.libs/libgstdeinterlace.so</filename> <basename>libgstdeinterlace.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-dtmf.xml b/docs/plugins/inspect/plugin-dtmf.xml index 67bcbea7000b7a43f50a8cf86c6bce8376000da3..f94a1f05cab34138f34c62e6a67d2328b2482d5d 100644 --- a/docs/plugins/inspect/plugin-dtmf.xml +++ b/docs/plugins/inspect/plugin-dtmf.xml @@ -3,7 +3,7 @@ <description>DTMF plugins</description> <filename>../../gst/dtmf/.libs/libgstdtmf.so</filename> <basename>libgstdtmf.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-dv.xml b/docs/plugins/inspect/plugin-dv.xml index 9c9f79e105428ba8a0f658a09f1bbefaa232468c..08ed28a791ce7064cdc11fbf53bdd045e1e6d962 100644 --- a/docs/plugins/inspect/plugin-dv.xml +++ b/docs/plugins/inspect/plugin-dv.xml @@ -3,7 +3,7 @@ <description>DV demuxer and decoder based on libdv (libdv.sf.net)</description> <filename>../../ext/dv/.libs/libgstdv.so</filename> <basename>libgstdv.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-effectv.xml b/docs/plugins/inspect/plugin-effectv.xml index 117e9b99edd0d808e5182c8087cac817ef1bc9e5..afb356e96e81f7c6cbf10b52dff751d1f309f7f2 100644 --- a/docs/plugins/inspect/plugin-effectv.xml +++ b/docs/plugins/inspect/plugin-effectv.xml @@ -3,7 +3,7 @@ <description>effect plugins from the effectv project</description> <filename>../../gst/effectv/.libs/libgsteffectv.so</filename> <basename>libgsteffectv.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-equalizer.xml b/docs/plugins/inspect/plugin-equalizer.xml index b5ebba22fff040ae8801aa21c51880a3b18c5e78..280fc3ff62e759e3896a46295e83003216ced14f 100644 --- a/docs/plugins/inspect/plugin-equalizer.xml +++ b/docs/plugins/inspect/plugin-equalizer.xml @@ -3,7 +3,7 @@ <description>GStreamer audio equalizers</description> <filename>../../gst/equalizer/.libs/libgstequalizer.so</filename> <basename>libgstequalizer.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-flac.xml b/docs/plugins/inspect/plugin-flac.xml index d643aa992b4028d8317b3ca1f5222f9f0aeceedc..363888b7a3fc2f4aa3756bcbca03a5b5537ddc64 100644 --- a/docs/plugins/inspect/plugin-flac.xml +++ b/docs/plugins/inspect/plugin-flac.xml @@ -3,7 +3,7 @@ <description>The FLAC Lossless compressor Codec</description> <filename>../../ext/flac/.libs/libgstflac.so</filename> <basename>libgstflac.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-flv.xml b/docs/plugins/inspect/plugin-flv.xml index 0db77dfefa86f48b6bafa8bd935cf6800ba674ca..3a264aecea5374664cca09e95b8e2c0d501877ba 100644 --- a/docs/plugins/inspect/plugin-flv.xml +++ b/docs/plugins/inspect/plugin-flv.xml @@ -3,7 +3,7 @@ <description>FLV muxing and demuxing plugin</description> <filename>../../gst/flv/.libs/libgstflv.so</filename> <basename>libgstflv.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> @@ -47,7 +47,7 @@ <name>audio</name> <direction>sink</direction> <presence>request</presence> - <details>audio/x-adpcm, layout=(string)swf, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }; audio/mpeg, mpegversion=(int)1, layer=(int)3, channels=(int){ 1, 2 }, rate=(int){ 5512, 8000, 11025, 22050, 44100 }, parsed=(boolean)true; audio/mpeg, mpegversion=(int)2, framed=(boolean)true; audio/mpeg, mpegversion=(int)4, stream-format=(string)raw, framed=(boolean)true; audio/x-nellymoser, channels=(int){ 1, 2 }, rate=(int){ 5512, 8000, 11025, 16000, 22050, 44100 }; audio/x-raw, format=(string){ U8, S16LE }, layout=(string)interleaved, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }; audio/x-alaw, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }; audio/x-mulaw, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }; audio/x-speex, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }</details> + <details>audio/x-adpcm, layout=(string)swf, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }; audio/mpeg, mpegversion=(int)1, layer=(int)3, channels=(int){ 1, 2 }, rate=(int){ 5512, 8000, 11025, 22050, 44100 }, parsed=(boolean)true; audio/mpeg, mpegversion=(int){ 4, 2 }, stream-format=(string)raw; audio/x-nellymoser, channels=(int){ 1, 2 }, rate=(int){ 5512, 8000, 11025, 16000, 22050, 44100 }; audio/x-raw, format=(string){ U8, S16LE }, layout=(string)interleaved, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }; audio/x-alaw, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }; audio/x-mulaw, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }; audio/x-speex, channels=(int){ 1, 2 }, rate=(int){ 5512, 11025, 22050, 44100 }</details> </caps> <caps> <name>video</name> diff --git a/docs/plugins/inspect/plugin-flxdec.xml b/docs/plugins/inspect/plugin-flxdec.xml index b2bfe87f90efc93c77903e2fca6e0741daa688d1..9ce96c7992d4497ed11aeb0fced5c58fcfa8a8ea 100644 --- a/docs/plugins/inspect/plugin-flxdec.xml +++ b/docs/plugins/inspect/plugin-flxdec.xml @@ -3,7 +3,7 @@ <description>FLC/FLI/FLX video decoder</description> <filename>../../gst/flx/.libs/libgstflxdec.so</filename> <basename>libgstflxdec.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-gdkpixbuf.xml b/docs/plugins/inspect/plugin-gdkpixbuf.xml index 2f230b7584c35d78910ac817d185466e74d43a5a..ca0f89a302a5f6a3d5533dc41f4e0b2e9f871938 100644 --- a/docs/plugins/inspect/plugin-gdkpixbuf.xml +++ b/docs/plugins/inspect/plugin-gdkpixbuf.xml @@ -3,7 +3,7 @@ <description>GdkPixbuf-based image decoder, overlay and sink</description> <filename>../../ext/gdk_pixbuf/.libs/libgstgdkpixbuf.so</filename> <basename>libgstgdkpixbuf.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-goom.xml b/docs/plugins/inspect/plugin-goom.xml index e4b544dbe668bac9f0ae3ab19d46a121487bf055..978d57b4da62f4ac40f12ab8f7ead4594692cecf 100644 --- a/docs/plugins/inspect/plugin-goom.xml +++ b/docs/plugins/inspect/plugin-goom.xml @@ -3,7 +3,7 @@ <description>GOOM visualization filter</description> <filename>../../gst/goom/.libs/libgstgoom.so</filename> <basename>libgstgoom.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-goom2k1.xml b/docs/plugins/inspect/plugin-goom2k1.xml index 7dfb7dff7200dc559e1134cbe88f68d0fed46713..622a577f5c7eba980d3a91ccc4903928e930e081 100644 --- a/docs/plugins/inspect/plugin-goom2k1.xml +++ b/docs/plugins/inspect/plugin-goom2k1.xml @@ -3,7 +3,7 @@ <description>GOOM 2k1 visualization filter</description> <filename>../../gst/goom2k1/.libs/libgstgoom2k1.so</filename> <basename>libgstgoom2k1.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-icydemux.xml b/docs/plugins/inspect/plugin-icydemux.xml index 53c071de5b0efa517c05a364da7fafcd54f02d67..e393c2c8bbd29a1cbfe00df9526f418cec61df52 100644 --- a/docs/plugins/inspect/plugin-icydemux.xml +++ b/docs/plugins/inspect/plugin-icydemux.xml @@ -3,7 +3,7 @@ <description>Demux ICY tags from a stream</description> <filename>../../gst/icydemux/.libs/libgsticydemux.so</filename> <basename>libgsticydemux.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-id3demux.xml b/docs/plugins/inspect/plugin-id3demux.xml index 387f6af1500a55099090ab6be11feb28687b03d6..9c60e7603fd444884befd7011017d59e52f5f1cf 100644 --- a/docs/plugins/inspect/plugin-id3demux.xml +++ b/docs/plugins/inspect/plugin-id3demux.xml @@ -3,7 +3,7 @@ <description>Demux ID3v1 and ID3v2 tags from a file</description> <filename>../../gst/id3demux/.libs/libgstid3demux.so</filename> <basename>libgstid3demux.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-imagefreeze.xml b/docs/plugins/inspect/plugin-imagefreeze.xml index 7d5239ad12599787f76150444b7f0d42613f0a32..64a07df7a7b1ac0a59de227abe3f5d8602df050a 100644 --- a/docs/plugins/inspect/plugin-imagefreeze.xml +++ b/docs/plugins/inspect/plugin-imagefreeze.xml @@ -3,7 +3,7 @@ <description>Still frame stream generator</description> <filename>../../gst/imagefreeze/.libs/libgstimagefreeze.so</filename> <basename>libgstimagefreeze.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-interleave.xml b/docs/plugins/inspect/plugin-interleave.xml index 2efc3b2388c6268328e7cf6f172e22bfd1d0d259..5e33e73a2127f3d8747b469756be022facaf3af6 100644 --- a/docs/plugins/inspect/plugin-interleave.xml +++ b/docs/plugins/inspect/plugin-interleave.xml @@ -3,7 +3,7 @@ <description>Audio interleaver/deinterleaver</description> <filename>../../gst/interleave/.libs/libgstinterleave.so</filename> <basename>libgstinterleave.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-isomp4.xml b/docs/plugins/inspect/plugin-isomp4.xml index 0eeec7866441ad3db0a052200df071e5f0ca174d..253e66fb2ebab7af2cf31aa1af168844a3142120 100644 --- a/docs/plugins/inspect/plugin-isomp4.xml +++ b/docs/plugins/inspect/plugin-isomp4.xml @@ -3,7 +3,7 @@ <description>ISO base media file format support (mp4, 3gpp, qt, mj2)</description> <filename>../../gst/isomp4/.libs/libgstisomp4.so</filename> <basename>libgstisomp4.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> @@ -26,7 +26,7 @@ <name>video_%u</name> <direction>sink</direction> <presence>request</presence> - <details>video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details> + <details>video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details> </caps> <caps> <name>src</name> @@ -53,7 +53,7 @@ <name>video_%u</name> <direction>sink</direction> <presence>request</presence> - <details>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details> + <details>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details> </caps> <caps> <name>src</name> @@ -80,7 +80,7 @@ <name>video_%u</name> <direction>sink</direction> <presence>request</presence> - <details>image/x-j2c, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; image/x-jpc, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details> + <details>image/x-j2c, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; image/x-jpc, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details> </caps> <caps> <name>src</name> @@ -107,7 +107,7 @@ <name>video_%u</name> <direction>sink</direction> <presence>request</presence> - <details>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-mp4-part, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details> + <details>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-mp4-part, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details> </caps> <caps> <name>src</name> @@ -176,7 +176,7 @@ <name>video_%u</name> <direction>sink</direction> <presence>request</presence> - <details>video/x-raw, format=(string){ RGB, UYVY }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-svq, svqversion=(int)3, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-dv, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; image/jpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-vp8, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-dirac, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-qt-part, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details> + <details>video/x-raw, format=(string){ RGB, UYVY }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-svq, svqversion=(int)3, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-dv, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; image/jpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-vp8, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-dirac, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-qt-part, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details> </caps> <caps> <name>src</name> diff --git a/docs/plugins/inspect/plugin-jack.xml b/docs/plugins/inspect/plugin-jack.xml index da09aa53dea0b6e7ed54f99332bf2eecde5e110a..2a9336946b16ac571b1f7569c2c175149d5e663f 100644 --- a/docs/plugins/inspect/plugin-jack.xml +++ b/docs/plugins/inspect/plugin-jack.xml @@ -3,7 +3,7 @@ <description>JACK audio elements</description> <filename>../../ext/jack/.libs/libgstjack.so</filename> <basename>libgstjack.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-jpeg.xml b/docs/plugins/inspect/plugin-jpeg.xml index 42f48b8f138c792306ccdeb74dac153e32e29741..df954a5936fd1a3feb7634da4e63857810ebae1b 100644 --- a/docs/plugins/inspect/plugin-jpeg.xml +++ b/docs/plugins/inspect/plugin-jpeg.xml @@ -3,7 +3,7 @@ <description>JPeg plugin library</description> <filename>../../ext/jpeg/.libs/libgstjpeg.so</filename> <basename>libgstjpeg.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> @@ -20,7 +20,7 @@ <name>sink</name> <direction>sink</direction> <presence>always</presence> - <details>image/jpeg, width=(int)[ 1, 65535 ], height=(int)[ 1, 65535 ]</details> + <details>image/jpeg</details> </caps> <caps> <name>src</name> diff --git a/docs/plugins/inspect/plugin-level.xml b/docs/plugins/inspect/plugin-level.xml index 2c151da84226bfbd3978966ac1e81e44144d5598..630729cf445b69d88633318f8db33fdb2831a22d 100644 --- a/docs/plugins/inspect/plugin-level.xml +++ b/docs/plugins/inspect/plugin-level.xml @@ -3,7 +3,7 @@ <description>Audio level plugin</description> <filename>../../gst/level/.libs/libgstlevel.so</filename> <basename>libgstlevel.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-matroska.xml b/docs/plugins/inspect/plugin-matroska.xml index d22a19cc1bc766f42f71250158885d1002352593..92a7bdfe80847b767a9357a68294506bd60ff8c7 100644 --- a/docs/plugins/inspect/plugin-matroska.xml +++ b/docs/plugins/inspect/plugin-matroska.xml @@ -3,7 +3,7 @@ <description>Matroska and WebM stream handling</description> <filename>../../gst/matroska/.libs/libgstmatroska.so</filename> <basename>libgstmatroska.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-mulaw.xml b/docs/plugins/inspect/plugin-mulaw.xml index e94a41a154c07760126bba9e8212c3f22fba0210..86cadaea97018fbe8ae695f632052d82b0002ab5 100644 --- a/docs/plugins/inspect/plugin-mulaw.xml +++ b/docs/plugins/inspect/plugin-mulaw.xml @@ -3,7 +3,7 @@ <description>MuLaw audio conversion routines</description> <filename>../../gst/law/.libs/libgstmulaw.so</filename> <basename>libgstmulaw.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-multifile.xml b/docs/plugins/inspect/plugin-multifile.xml index d29285ef44b1c01cb9e5ad2aee5de2a3f507a84f..e3703be9026cae4c9532b6c2cf8a79bf0e184daf 100644 --- a/docs/plugins/inspect/plugin-multifile.xml +++ b/docs/plugins/inspect/plugin-multifile.xml @@ -3,7 +3,7 @@ <description>Reads/Writes buffers from/to sequentially named files</description> <filename>../../gst/multifile/.libs/libgstmultifile.so</filename> <basename>libgstmultifile.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-multipart.xml b/docs/plugins/inspect/plugin-multipart.xml index 6c88732ec1897344508056019558890cdaa93b02..6acc4b05f7e08abe6f76f7429f406d5bb46db58f 100644 --- a/docs/plugins/inspect/plugin-multipart.xml +++ b/docs/plugins/inspect/plugin-multipart.xml @@ -3,7 +3,7 @@ <description>multipart stream manipulation</description> <filename>../../gst/multipart/.libs/libgstmultipart.so</filename> <basename>libgstmultipart.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-navigationtest.xml b/docs/plugins/inspect/plugin-navigationtest.xml index 94b92de37857a68986c4deb2f6cb9525904cbd6b..b9413a1c0918975b3ab1ebfb9bf13fc55d9677c3 100644 --- a/docs/plugins/inspect/plugin-navigationtest.xml +++ b/docs/plugins/inspect/plugin-navigationtest.xml @@ -3,7 +3,7 @@ <description>Template for a video filter</description> <filename>../../gst/debugutils/.libs/libgstnavigationtest.so</filename> <basename>libgstnavigationtest.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-oss4.xml b/docs/plugins/inspect/plugin-oss4.xml index fdbcea471a28d13ca785847729852edebb567f24..f31c5fc5d0a6fb51da3e4eab6e0be84d87a3b755 100644 --- a/docs/plugins/inspect/plugin-oss4.xml +++ b/docs/plugins/inspect/plugin-oss4.xml @@ -3,7 +3,7 @@ <description>Open Sound System (OSS) version 4 support for GStreamer</description> <filename>../../sys/oss4/.libs/libgstoss4audio.so</filename> <basename>libgstoss4audio.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-ossaudio.xml b/docs/plugins/inspect/plugin-ossaudio.xml index 8ce5c5db8166210fbce16d63869a378154da98eb..209f103287489b43f4f282b6fc53b7cbbc478417 100644 --- a/docs/plugins/inspect/plugin-ossaudio.xml +++ b/docs/plugins/inspect/plugin-ossaudio.xml @@ -3,7 +3,7 @@ <description>OSS (Open Sound System) support for GStreamer</description> <filename>../../sys/oss/.libs/libgstossaudio.so</filename> <basename>libgstossaudio.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-png.xml b/docs/plugins/inspect/plugin-png.xml index a32b56c2a32752ef5408e0a573f5917535cf0dec..ac01ac6a3382b41aad623783ea6c83e5c10f4ca8 100644 --- a/docs/plugins/inspect/plugin-png.xml +++ b/docs/plugins/inspect/plugin-png.xml @@ -3,7 +3,7 @@ <description>PNG plugin library</description> <filename>../../ext/libpng/.libs/libgstpng.so</filename> <basename>libgstpng.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-pulseaudio.xml b/docs/plugins/inspect/plugin-pulseaudio.xml index 08d32083f7573caecebc02d0dd4619e0f4d1b952..11a099a91b3c9a0d35db5d8f3bac22e608cd9743 100644 --- a/docs/plugins/inspect/plugin-pulseaudio.xml +++ b/docs/plugins/inspect/plugin-pulseaudio.xml @@ -3,7 +3,7 @@ <description>PulseAudio plugin library</description> <filename>../../ext/pulse/.libs/libgstpulse.so</filename> <basename>libgstpulse.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-replaygain.xml b/docs/plugins/inspect/plugin-replaygain.xml index dc4c8bd389379b6ad18d3dfda20afad1bd981d23..ae147904d06e8ce40a6f178c7135ee6a7d7fba87 100644 --- a/docs/plugins/inspect/plugin-replaygain.xml +++ b/docs/plugins/inspect/plugin-replaygain.xml @@ -3,7 +3,7 @@ <description>ReplayGain volume normalization</description> <filename>../../gst/replaygain/.libs/libgstreplaygain.so</filename> <basename>libgstreplaygain.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-rtp.xml b/docs/plugins/inspect/plugin-rtp.xml index e5c0e0bc6b7a745d8243ba6861792d86ccc8c9e2..508ba75e691cbb04ce60e604e6b8952913e18377 100644 --- a/docs/plugins/inspect/plugin-rtp.xml +++ b/docs/plugins/inspect/plugin-rtp.xml @@ -3,7 +3,7 @@ <description>Real-time protocol plugins</description> <filename>../../gst/rtp/.libs/libgstrtp.so</filename> <basename>libgstrtp.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-rtpmanager.xml b/docs/plugins/inspect/plugin-rtpmanager.xml index 74734845179f1a5e5f30e0c8b55656b2e7d7dcf2..52253209ac8f3461fd807ee80b52bd0589c448e1 100644 --- a/docs/plugins/inspect/plugin-rtpmanager.xml +++ b/docs/plugins/inspect/plugin-rtpmanager.xml @@ -3,7 +3,7 @@ <description>RTP session management plugin library</description> <filename>../../gst/rtpmanager/.libs/libgstrtpmanager.so</filename> <basename>libgstrtpmanager.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-rtsp.xml b/docs/plugins/inspect/plugin-rtsp.xml index 9ab755afe112557bb1888a07c8edf8c504c83797..708e27d1a3c5dde3edc8b3ab2f6597a4f218cb6e 100644 --- a/docs/plugins/inspect/plugin-rtsp.xml +++ b/docs/plugins/inspect/plugin-rtsp.xml @@ -3,7 +3,7 @@ <description>transfer data via RTSP</description> <filename>../../gst/rtsp/.libs/libgstrtsp.so</filename> <basename>libgstrtsp.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-shapewipe.xml b/docs/plugins/inspect/plugin-shapewipe.xml index b2adf8f4af51bfa3d222233c1688384e68142b1e..4d4ce10886c24e429092d23e1bc2987b95b71a32 100644 --- a/docs/plugins/inspect/plugin-shapewipe.xml +++ b/docs/plugins/inspect/plugin-shapewipe.xml @@ -3,7 +3,7 @@ <description>Shape Wipe transition filter</description> <filename>../../gst/shapewipe/.libs/libgstshapewipe.so</filename> <basename>libgstshapewipe.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-shout2send.xml b/docs/plugins/inspect/plugin-shout2send.xml index 29a06cfee06d9eaee0e3715fdde7dd9c43c1ee2e..0f5795fd8fc694ac51deaff20a9797d7a8938551 100644 --- a/docs/plugins/inspect/plugin-shout2send.xml +++ b/docs/plugins/inspect/plugin-shout2send.xml @@ -3,7 +3,7 @@ <description>Sends data to an icecast server using libshout2</description> <filename>../../ext/shout2/.libs/libgstshout2.so</filename> <basename>libgstshout2.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>libshout2</package> diff --git a/docs/plugins/inspect/plugin-smpte.xml b/docs/plugins/inspect/plugin-smpte.xml index f919a265d1008bae55bc61e4dd8ffaf7eed4af1a..6ebbb6c984651ae49345718ec45314269a985785 100644 --- a/docs/plugins/inspect/plugin-smpte.xml +++ b/docs/plugins/inspect/plugin-smpte.xml @@ -3,7 +3,7 @@ <description>Apply the standard SMPTE transitions on video images</description> <filename>../../gst/smpte/.libs/libgstsmpte.so</filename> <basename>libgstsmpte.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-soup.xml b/docs/plugins/inspect/plugin-soup.xml index d42f0169e0c07ebf8ac845ca8038efd0c4e82363..6caf1c97f7490ae078b79e1df1153382b390d485 100644 --- a/docs/plugins/inspect/plugin-soup.xml +++ b/docs/plugins/inspect/plugin-soup.xml @@ -3,7 +3,7 @@ <description>libsoup HTTP client src/sink</description> <filename>../../ext/soup/.libs/libgstsouphttpsrc.so</filename> <basename>libgstsouphttpsrc.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-spectrum.xml b/docs/plugins/inspect/plugin-spectrum.xml index c50bf172cb2f6dffe692162d35977a88c744c087..43db75abf46c3e32d0f55a2c5b37af6e5a25544d 100644 --- a/docs/plugins/inspect/plugin-spectrum.xml +++ b/docs/plugins/inspect/plugin-spectrum.xml @@ -3,7 +3,7 @@ <description>Run an FFT on the audio signal, output spectrum data</description> <filename>../../gst/spectrum/.libs/libgstspectrum.so</filename> <basename>libgstspectrum.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-speex.xml b/docs/plugins/inspect/plugin-speex.xml index ce8c52603ab6701a1cc4817d9b1608aba35bc532..34296d56e11f2407de5c821d1fe6192c83cb4dc9 100644 --- a/docs/plugins/inspect/plugin-speex.xml +++ b/docs/plugins/inspect/plugin-speex.xml @@ -3,7 +3,7 @@ <description>Speex plugin library</description> <filename>../../ext/speex/.libs/libgstspeex.so</filename> <basename>libgstspeex.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-taglib.xml b/docs/plugins/inspect/plugin-taglib.xml index a70983cd86b55a14a4c597d875c3685188a940e4..adf7fe64e519ff2850a49c5eee3abf7294ec3ed3 100644 --- a/docs/plugins/inspect/plugin-taglib.xml +++ b/docs/plugins/inspect/plugin-taglib.xml @@ -3,7 +3,7 @@ <description>Tag writing plug-in based on taglib</description> <filename>../../ext/taglib/.libs/libgsttaglib.so</filename> <basename>libgsttaglib.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-udp.xml b/docs/plugins/inspect/plugin-udp.xml index cff3b4885fd7787dd7887a2c8a623130bcc3fe63..0785222d4f4386ec0a36f810cc933c199162d210 100644 --- a/docs/plugins/inspect/plugin-udp.xml +++ b/docs/plugins/inspect/plugin-udp.xml @@ -3,7 +3,7 @@ <description>transfer data via UDP</description> <filename>../../gst/udp/.libs/libgstudp.so</filename> <basename>libgstudp.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-video4linux2.xml b/docs/plugins/inspect/plugin-video4linux2.xml index 349a008d4766ab8a690caaee5103ff0be9bb7e1f..6275ae5e8df00c2eb9db1b9f496135623ba99f9d 100644 --- a/docs/plugins/inspect/plugin-video4linux2.xml +++ b/docs/plugins/inspect/plugin-video4linux2.xml @@ -3,7 +3,7 @@ <description>elements for Video 4 Linux</description> <filename>../../sys/v4l2/.libs/libgstvideo4linux2.so</filename> <basename>libgstvideo4linux2.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-videobox.xml b/docs/plugins/inspect/plugin-videobox.xml index 8603c773ac37fe69bb5786b26aaaf981f7fd49f4..9561481e6ebfa434f4eea01029e62814b8935348 100644 --- a/docs/plugins/inspect/plugin-videobox.xml +++ b/docs/plugins/inspect/plugin-videobox.xml @@ -3,7 +3,7 @@ <description>resizes a video by adding borders or cropping</description> <filename>../../gst/videobox/.libs/libgstvideobox.so</filename> <basename>libgstvideobox.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-videocrop.xml b/docs/plugins/inspect/plugin-videocrop.xml index c2ea1ebba184e67680c2632f24799f479fda1a57..2fd4c0e8871f639f585b38806a8497add0379b29 100644 --- a/docs/plugins/inspect/plugin-videocrop.xml +++ b/docs/plugins/inspect/plugin-videocrop.xml @@ -3,7 +3,7 @@ <description>Crops video into a user-defined region</description> <filename>../../gst/videocrop/.libs/libgstvideocrop.so</filename> <basename>libgstvideocrop.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-videofilter.xml b/docs/plugins/inspect/plugin-videofilter.xml index 99668a26ce3427af1be4209654116575f5745b59..c1d34be587bba0730885ca7ca283004d9928e506 100644 --- a/docs/plugins/inspect/plugin-videofilter.xml +++ b/docs/plugins/inspect/plugin-videofilter.xml @@ -3,7 +3,7 @@ <description>Video filters plugin</description> <filename>../../gst/videofilter/.libs/libgstvideofilter.so</filename> <basename>libgstvideofilter.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-videomixer.xml b/docs/plugins/inspect/plugin-videomixer.xml index 250d6475284ae65fab7b2905c71aa36d3a3b83b6..324503bd51b54c612a903e7346c99280a06f9290 100644 --- a/docs/plugins/inspect/plugin-videomixer.xml +++ b/docs/plugins/inspect/plugin-videomixer.xml @@ -3,7 +3,7 @@ <description>Video mixer</description> <filename>../../gst/videomixer/.libs/libgstvideomixer.so</filename> <basename>libgstvideomixer.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-vpx.xml b/docs/plugins/inspect/plugin-vpx.xml index 12b062866d97844a36f65c2d09c8d239d693386b..9363708fd34f0809f3097d89f0030fe7ede932b3 100644 --- a/docs/plugins/inspect/plugin-vpx.xml +++ b/docs/plugins/inspect/plugin-vpx.xml @@ -3,7 +3,7 @@ <description>VP8 plugin</description> <filename>../../ext/vpx/.libs/libgstvpx.so</filename> <basename>libgstvpx.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-wavenc.xml b/docs/plugins/inspect/plugin-wavenc.xml index 68cc83ab4ff93bd3cbb73c86b4b6046ac4e1a92e..c5322a0f9fb6eb21beddfd11f4337b5a86465ee3 100644 --- a/docs/plugins/inspect/plugin-wavenc.xml +++ b/docs/plugins/inspect/plugin-wavenc.xml @@ -3,7 +3,7 @@ <description>Encode raw audio into WAV</description> <filename>../../gst/wavenc/.libs/libgstwavenc.so</filename> <basename>libgstwavenc.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> @@ -20,7 +20,7 @@ <name>sink</name> <direction>sink</direction> <presence>always</presence> - <details>audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)1, format=(string){ S32LE, S24LE, S16LE, U8, F32LE, F64LE }, layout=(string)interleaved; audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003, format=(string){ S32LE, S24LE, S16LE, U8, F32LE, F64LE }, layout=(string)interleaved; audio/x-alaw, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 2 ], width=(int)8, depth=(int)8, signed=(boolean)false; audio/x-mulaw, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 2 ], width=(int)8, depth=(int)8, signed=(boolean)false</details> + <details>audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)1, format=(string){ S32LE, S24LE, S16LE, U8, F32LE, F64LE }, layout=(string)interleaved; audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003, format=(string){ S32LE, S24LE, S16LE, U8, F32LE, F64LE }, layout=(string)interleaved; audio/x-alaw, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 2 ]; audio/x-mulaw, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 2 ]</details> </caps> <caps> <name>src</name> diff --git a/docs/plugins/inspect/plugin-wavpack.xml b/docs/plugins/inspect/plugin-wavpack.xml index ff91e1a66e7e1dae2ccd72a8eb6fbaf5ab7e8314..036b88b7dd892cf890738119da5fe7b46274c65c 100644 --- a/docs/plugins/inspect/plugin-wavpack.xml +++ b/docs/plugins/inspect/plugin-wavpack.xml @@ -3,7 +3,7 @@ <description>Wavpack lossless/lossy audio format handling</description> <filename>../../ext/wavpack/.libs/libgstwavpack.so</filename> <basename>libgstwavpack.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-wavparse.xml b/docs/plugins/inspect/plugin-wavparse.xml index db62d993eb54b745f9dd4f679b77207dcf707971..5e5880ad6935ff22dae957df8fc1679f908669d7 100644 --- a/docs/plugins/inspect/plugin-wavparse.xml +++ b/docs/plugins/inspect/plugin-wavparse.xml @@ -3,7 +3,7 @@ <description>Parse a .wav file into raw audio</description> <filename>../../gst/wavparse/.libs/libgstwavparse.so</filename> <basename>libgstwavparse.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-ximagesrc.xml b/docs/plugins/inspect/plugin-ximagesrc.xml index 589a072743f7eee55318ae044a052fc9d61b2b1e..3e91233df863052d8b54226f1998ad9a23705bcc 100644 --- a/docs/plugins/inspect/plugin-ximagesrc.xml +++ b/docs/plugins/inspect/plugin-ximagesrc.xml @@ -3,7 +3,7 @@ <description>X11 video input plugin using standard Xlib calls</description> <filename>../../sys/ximage/.libs/libgstximagesrc.so</filename> <basename>libgstximagesrc.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-y4menc.xml b/docs/plugins/inspect/plugin-y4menc.xml index 089c1053fac40f6d0e0a2b5b8dda1de0cd9d6af5..ff2bffdc7b6542a8ec708ea91909c477e8f0097b 100644 --- a/docs/plugins/inspect/plugin-y4menc.xml +++ b/docs/plugins/inspect/plugin-y4menc.xml @@ -3,7 +3,7 @@ <description>Encodes a YUV frame into the yuv4mpeg format (mjpegtools)</description> <filename>../../gst/y4m/.libs/libgsty4menc.so</filename> <basename>libgsty4menc.so</basename> - <version>1.2.0</version> + <version>1.2.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/ext/dv/gstdvdec.c b/ext/dv/gstdvdec.c index 370363e7e9e0d43c99bd2f5188df394125d233a1..c84461e6319a5f9d3a8ff37d00430638844ce46a 100644 --- a/ext/dv/gstdvdec.c +++ b/ext/dv/gstdvdec.c @@ -368,15 +368,24 @@ gst_dvdec_sink_event (GstPad * pad, GstObject * parent, GstEvent * event) switch (GST_EVENT_TYPE (event)) { case GST_EVENT_FLUSH_STOP: gst_segment_init (&dvdec->segment, GST_FORMAT_UNDEFINED); + dvdec->need_segment = FALSE; break; case GST_EVENT_SEGMENT:{ const GstSegment *segment; gst_event_parse_segment (event, &segment); - GST_DEBUG_OBJECT (dvdec, "Got NEWSEGMENT %" GST_SEGMENT_FORMAT, &segment); + GST_DEBUG_OBJECT (dvdec, "Got SEGMENT %" GST_SEGMENT_FORMAT, &segment); gst_segment_copy_into (segment, &dvdec->segment); + if (!gst_pad_has_current_caps (dvdec->srcpad)) { + dvdec->need_segment = TRUE; + gst_event_unref (event); + event = NULL; + res = TRUE; + } else { + dvdec->need_segment = FALSE; + } break; } case GST_EVENT_CAPS: @@ -477,6 +486,11 @@ gst_dvdec_chain (GstPad * pad, GstObject * parent, GstBuffer * buf) gst_caps_unref (caps); } + if (dvdec->need_segment) { + gst_pad_push_event (dvdec->srcpad, gst_event_new_segment (&dvdec->segment)); + dvdec->need_segment = FALSE; + } + ret = gst_buffer_pool_acquire_buffer (dvdec->pool, &outbuf, NULL); if (G_UNLIKELY (ret != GST_FLOW_OK)) goto no_buffer; @@ -573,6 +587,7 @@ gst_dvdec_change_state (GstElement * element, GstStateChange transition) gst_segment_init (&dvdec->segment, GST_FORMAT_UNDEFINED); dvdec->src_negotiated = FALSE; dvdec->sink_negotiated = FALSE; + dvdec->need_segment = FALSE; /* * Enable this function call when libdv2 0.100 or higher is more * common diff --git a/ext/dv/gstdvdec.h b/ext/dv/gstdvdec.h index b37a90d403b3d372e91c6eb0b7da89d907eb6ff0..8dda7df7edc043f9196c194284f1d8bab0a4ace7 100644 --- a/ext/dv/gstdvdec.h +++ b/ext/dv/gstdvdec.h @@ -83,6 +83,7 @@ struct _GstDVDec { GstBufferPool *pool; GstSegment segment; + gboolean need_segment; }; struct _GstDVDecClass { diff --git a/ext/dv/gstdvdemux.c b/ext/dv/gstdvdemux.c index 94649881e526012247394a6fdde9e0356f88b471..01c8a7dafe962725e81420e7ef28dec1c6f6046d 100644 --- a/ext/dv/gstdvdemux.c +++ b/ext/dv/gstdvdemux.c @@ -277,11 +277,34 @@ gst_dvdemux_reset (GstDVDemux * dvdemux) dvdemux->group_id = G_MAXUINT; } +static gboolean +have_group_id (GstDVDemux * demux) +{ + GstEvent *event; + + event = gst_pad_get_sticky_event (demux->sinkpad, GST_EVENT_STREAM_START, 0); + if (event) { + if (gst_event_parse_group_id (event, &demux->group_id)) + demux->have_group_id = TRUE; + else + demux->have_group_id = FALSE; + gst_event_unref (event); + } else if (!demux->have_group_id) { + demux->have_group_id = TRUE; + demux->group_id = gst_util_group_id_next (); + } + + return demux->have_group_id; +} + static GstPad * -gst_dvdemux_add_pad (GstDVDemux * dvdemux, GstStaticPadTemplate * template) +gst_dvdemux_add_pad (GstDVDemux * dvdemux, GstStaticPadTemplate * template, + GstCaps * caps) { gboolean no_more_pads; GstPad *pad; + GstEvent *event; + gchar *stream_id; pad = gst_pad_new_from_static_template (template, template->name_template); @@ -291,6 +314,21 @@ gst_dvdemux_add_pad (GstDVDemux * dvdemux, GstStaticPadTemplate * template) GST_DEBUG_FUNCPTR (gst_dvdemux_handle_src_event)); gst_pad_use_fixed_caps (pad); gst_pad_set_active (pad, TRUE); + + stream_id = + gst_pad_create_stream_id (pad, + GST_ELEMENT_CAST (dvdemux), + template == &video_src_temp ? "video" : "audio"); + event = gst_event_new_stream_start (stream_id); + if (have_group_id (dvdemux)) + gst_event_set_group_id (event, dvdemux->group_id); + gst_pad_push_event (pad, event); + g_free (stream_id); + + gst_pad_set_caps (pad, caps); + + gst_pad_push_event (pad, gst_event_new_segment (&dvdemux->time_segment)); + gst_element_add_pad (GST_ELEMENT (dvdemux), pad); no_more_pads = @@ -300,14 +338,18 @@ gst_dvdemux_add_pad (GstDVDemux * dvdemux, GstStaticPadTemplate * template) if (no_more_pads) gst_element_no_more_pads (GST_ELEMENT (dvdemux)); - gst_pad_push_event (pad, gst_event_new_segment (&dvdemux->time_segment)); - if (no_more_pads) { GstTagList *tags; tags = gst_tag_list_new (GST_TAG_CONTAINER_FORMAT, "DV", NULL); gst_tag_list_set_scope (tags, GST_TAG_SCOPE_GLOBAL); - gst_pad_push_event (pad, gst_event_new_tag (tags)); + if (dvdemux->videosrcpad) + gst_pad_push_event (dvdemux->videosrcpad, + gst_event_new_tag (gst_tag_list_ref (tags))); + if (dvdemux->audiosrcpad) + gst_pad_push_event (dvdemux->audiosrcpad, + gst_event_new_tag (gst_tag_list_ref (tags))); + gst_tag_list_unref (tags); } return pad; @@ -1126,26 +1168,6 @@ gst_dvdemux_handle_src_event (GstPad * pad, GstObject * parent, return res; } -static gboolean -have_group_id (GstDVDemux * demux) -{ - GstEvent *event; - - event = gst_pad_get_sticky_event (demux->sinkpad, GST_EVENT_STREAM_START, 0); - if (event) { - if (gst_event_parse_group_id (event, &demux->group_id)) - demux->have_group_id = TRUE; - else - demux->have_group_id = FALSE; - gst_event_unref (event); - } else if (!demux->have_group_id) { - demux->have_group_id = TRUE; - demux->group_id = gst_util_group_id_next (); - } - - return demux->have_group_id; -} - /* does not take ownership of buffer */ static GstFlowReturn gst_dvdemux_demux_audio (GstDVDemux * dvdemux, GstBuffer * buffer, @@ -1165,28 +1187,15 @@ gst_dvdemux_demux_audio (GstDVDemux * dvdemux, GstBuffer * buffer, GstBuffer *outbuf; gint frequency, channels; - if (G_UNLIKELY (dvdemux->audiosrcpad == NULL)) - dvdemux->audiosrcpad = gst_dvdemux_add_pad (dvdemux, &audio_src_temp); - /* get initial format or check if format changed */ frequency = dv_get_frequency (dvdemux->decoder); channels = dv_get_num_channels (dvdemux->decoder); - if (G_UNLIKELY ((frequency != dvdemux->frequency) + if (G_UNLIKELY ((dvdemux->audiosrcpad == NULL) + || (frequency != dvdemux->frequency) || (channels != dvdemux->channels))) { GstCaps *caps; GstAudioInfo info; - GstEvent *event; - gchar *stream_id; - - stream_id = - gst_pad_create_stream_id (dvdemux->audiosrcpad, - GST_ELEMENT_CAST (dvdemux), "audio"); - event = gst_event_new_stream_start (stream_id); - if (have_group_id (dvdemux)) - gst_event_set_group_id (event, dvdemux->group_id); - gst_pad_push_event (dvdemux->audiosrcpad, event); - g_free (stream_id); dvdemux->frequency = frequency; dvdemux->channels = channels; @@ -1195,7 +1204,12 @@ gst_dvdemux_demux_audio (GstDVDemux * dvdemux, GstBuffer * buffer, gst_audio_info_set_format (&info, GST_AUDIO_FORMAT_S16LE, frequency, channels, NULL); caps = gst_audio_info_to_caps (&info); - gst_pad_set_caps (dvdemux->audiosrcpad, caps); + if (G_UNLIKELY (dvdemux->audiosrcpad == NULL)) { + dvdemux->audiosrcpad = + gst_dvdemux_add_pad (dvdemux, &audio_src_temp, caps); + } else { + gst_pad_set_caps (dvdemux->audiosrcpad, caps); + } gst_caps_unref (caps); } @@ -1243,29 +1257,16 @@ gst_dvdemux_demux_video (GstDVDemux * dvdemux, GstBuffer * buffer, gboolean wide; GstFlowReturn ret = GST_FLOW_OK; - if (G_UNLIKELY (dvdemux->videosrcpad == NULL)) - dvdemux->videosrcpad = gst_dvdemux_add_pad (dvdemux, &video_src_temp); - /* get params */ /* framerate is already up-to-date */ height = dvdemux->decoder->height; wide = dv_format_wide (dvdemux->decoder); /* see if anything changed */ - if (G_UNLIKELY ((dvdemux->height != height) || dvdemux->wide != wide)) { - GstCaps *caps; + if (G_UNLIKELY ((dvdemux->videosrcpad == NULL) || (dvdemux->height != height) + || dvdemux->wide != wide)) { gint par_x, par_y; - GstEvent *event; - gchar *stream_id; - - stream_id = - gst_pad_create_stream_id (dvdemux->videosrcpad, - GST_ELEMENT_CAST (dvdemux), "video"); - event = gst_event_new_stream_start (stream_id); - if (have_group_id (dvdemux)) - gst_event_set_group_id (event, dvdemux->group_id); - gst_pad_push_event (dvdemux->videosrcpad, event); - g_free (stream_id); + GstCaps *caps; dvdemux->height = height; dvdemux->wide = wide; @@ -1295,7 +1296,13 @@ gst_dvdemux_demux_video (GstDVDemux * dvdemux, GstBuffer * buffer, "framerate", GST_TYPE_FRACTION, dvdemux->framerate_numerator, dvdemux->framerate_denominator, "pixel-aspect-ratio", GST_TYPE_FRACTION, par_x, par_y, NULL); - gst_pad_set_caps (dvdemux->videosrcpad, caps); + + if (G_UNLIKELY (dvdemux->videosrcpad == NULL)) { + dvdemux->videosrcpad = + gst_dvdemux_add_pad (dvdemux, &video_src_temp, caps); + } else { + gst_pad_set_caps (dvdemux->videosrcpad, caps); + } gst_caps_unref (caps); } @@ -1691,7 +1698,6 @@ gst_dvdemux_loop (GstPad * pad) } } - if (G_UNLIKELY (dvdemux->pending_segment)) { /* now send the newsegment */ diff --git a/ext/jpeg/gstjpegdec.c b/ext/jpeg/gstjpegdec.c index 79a2da06868294da60f9a1ace68f37d0ae0a042c..40e653a8e9b5e12bccd09414cf46b73e15ec563d 100644 --- a/ext/jpeg/gstjpegdec.c +++ b/ext/jpeg/gstjpegdec.c @@ -81,10 +81,7 @@ static GstStaticPadTemplate gst_jpeg_dec_sink_pad_template = GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, - GST_STATIC_CAPS ("image/jpeg, " - "width = (int) [ " G_STRINGIFY (MIN_WIDTH) ", " G_STRINGIFY (MAX_WIDTH) - " ], " "height = (int) [ " G_STRINGIFY (MIN_HEIGHT) ", " - G_STRINGIFY (MAX_HEIGHT) " ] ") + GST_STATIC_CAPS ("image/jpeg") ); GST_DEBUG_CATEGORY_STATIC (jpeg_dec_debug); diff --git a/ext/soup/gstsouphttpsrc.c b/ext/soup/gstsouphttpsrc.c index aa2d0ad3fc909d249751c38cb709305030244801..80f9eb0329c806380e6f5038d0e6fb5f4c26a948 100644 --- a/ext/soup/gstsouphttpsrc.c +++ b/ext/soup/gstsouphttpsrc.c @@ -281,6 +281,7 @@ gst_soup_http_src_reset (GstSoupHTTPSrc * src) src->request_position = 0; src->stop_position = -1; src->content_size = 0; + src->have_body = FALSE; gst_caps_replace (&src->src_caps, NULL); g_free (src->iradio_name); @@ -892,7 +893,7 @@ gst_soup_http_src_got_headers_cb (SoupMessage * msg, GstSoupHTTPSrc * src) * don't output any data (such as an error html page), and return * GST_FLOW_ERROR from the create function instead of having * got_chunk_cb overwrite src->ret with FLOW_OK again. */ - if (src->ret == GST_FLOW_ERROR) { + if (src->ret == GST_FLOW_ERROR || src->ret == GST_FLOW_EOS) { gst_soup_http_src_session_pause_message (src); if (src->loop) @@ -916,9 +917,14 @@ gst_soup_http_src_got_body_cb (SoupMessage * msg, GstSoupHTTPSrc * src) } GST_DEBUG_OBJECT (src, "got body"); src->ret = GST_FLOW_EOS; - if (src->loop) - g_main_loop_quit (src->loop); - gst_soup_http_src_session_pause_message (src); + src->have_body = TRUE; + + /* no need to interrupt the message here, we do it on the + * finished_cb anyway if needed. And getting the body might mean + * that the connection was hang up before finished. This happens when + * the pipeline is stalled for too long (long pauses during playback). + * Best to let it continue from here and pause because it reached the + * final bytes based on content_size or received an out of range error */ } /* Finished. Signal EOS. */ @@ -936,7 +942,8 @@ gst_soup_http_src_finished_cb (SoupMessage * msg, GstSoupHTTPSrc * src) * that occurred in the QUEUEING state; i.e. before the connection setup * was complete. Do nothing */ } else if (src->session_io_status == - GST_SOUP_HTTP_SRC_SESSION_IO_STATUS_RUNNING && src->read_position > 0) { + GST_SOUP_HTTP_SRC_SESSION_IO_STATUS_RUNNING && src->read_position > 0 && + (!src->have_size || src->read_position < src->content_size)) { /* The server disconnected while streaming. Reconnect and seeking to the * last location. */ src->retry = TRUE; @@ -1047,6 +1054,7 @@ gst_soup_http_src_got_chunk_cb (SoupMessage * msg, SoupBuffer * chunk, GST_DEBUG_OBJECT (src, "got chunk, but not for current message"); return; } + src->have_body = FALSE; if (G_UNLIKELY (src->session_io_status != GST_SOUP_HTTP_SRC_SESSION_IO_STATUS_RUNNING)) { /* Probably a redirect. */ @@ -1164,6 +1172,18 @@ gst_soup_http_src_parse_status (SoupMessage * msg, GstSoupHTTPSrc * src) SOUP_STATUS_IS_REDIRECTION (msg->status_code) || SOUP_STATUS_IS_SERVER_ERROR (msg->status_code)) { /* Report HTTP error. */ + + /* when content_size is unknown and we have just finished receiving + * a body message, requests that go beyond the content limits will result + * in an error. Here we convert those to EOS */ + if (msg->status_code == SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE && + src->have_body && src->have_size) { + GST_DEBUG_OBJECT (src, "Requested range out of limits and received full " + "body, returning EOS"); + src->ret = GST_FLOW_EOS; + return; + } + /* FIXME: reason_phrase is not translated and not suitable for user * error dialog according to libsoup documentation. * FIXME: error code (OPEN_READ vs. READ) should depend on http status? */ diff --git a/ext/soup/gstsouphttpsrc.h b/ext/soup/gstsouphttpsrc.h index 594dfaa2506c0733610bd0748e1972ecdcf9f0c6..8ebd2b612d39a8bb78deb2b597220b93763c4e52 100644 --- a/ext/soup/gstsouphttpsrc.h +++ b/ext/soup/gstsouphttpsrc.h @@ -78,6 +78,11 @@ struct _GstSoupHTTPSrc { Range. */ guint64 request_position; /* Seek to this position. */ guint64 stop_position; /* Stop at this position. */ + gboolean have_body; /* Indicates if it has just been signaled the + * end of the message body. This is used to + * decide if an out of range request should be + * handled as an error or EOS when the content + * size is unknown */ /* Shoutcast/icecast metadata extraction handling. */ gboolean iradio_mode; diff --git a/ext/wavpack/gstwavpackenc.c b/ext/wavpack/gstwavpackenc.c index eccafa192a489470d9236645ef8992335f28fec8..cb697391c950a9e41b7bb741b4020070961ecd47 100644 --- a/ext/wavpack/gstwavpackenc.c +++ b/ext/wavpack/gstwavpackenc.c @@ -590,7 +590,9 @@ gst_wavpack_enc_push_block (void *id, void *data, int32_t count) enc->pending_offset = wph.block_index; } - if (!(wph.flags & FINAL_BLOCK)) + /* Is this the not-final block of multi-channel data? If so, just + * accumulate and return here. */ + if (!(wph.flags & FINAL_BLOCK) && ((block[32] & ID_OPTIONAL_DATA) == 0)) return TRUE; buffer = enc->pending_buffer; diff --git a/gst-plugins-good.doap b/gst-plugins-good.doap index b28dbe5073339e9a4d9f1f528c935f9e96d669f4..07abb78edf128d6a7368e2aef0756f67a202dbdb 100644 --- a/gst-plugins-good.doap +++ b/gst-plugins-good.doap @@ -32,6 +32,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library). </GitRepository> </repository> + <release> + <Version> + <revision>1.2.1</revision> + <branch>1.2</branch> + <name></name> + <created>2013-11-09</created> + <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.2.1.tar.xz" /> + </Version> + </release> + <release> <Version> <revision>1.2.0</revision> diff --git a/gst-plugins-good.spec b/gst-plugins-good.spec index 29ecfc286917bb63e3b0385dbf2e1ee579c3a846..e39b2132cc0c80461978043616bf29b61cb143c8 100644 --- a/gst-plugins-good.spec +++ b/gst-plugins-good.spec @@ -4,7 +4,7 @@ %define gst_minver 0.11.0 Name: %{gstreamer}-plugins-good -Version: 1.2.0 +Version: 1.2.1 Release: 1.gst Summary: GStreamer plug-ins with good code and licensing diff --git a/gst/audiofx/audiofxbaseiirfilter.c b/gst/audiofx/audiofxbaseiirfilter.c index 50a00da7c39f9a527f1d21ef862311a8cea5d071..1ce4d8bc7755af2ff9fda23294ee29cbd11c20f1 100644 --- a/gst/audiofx/audiofxbaseiirfilter.c +++ b/gst/audiofx/audiofxbaseiirfilter.c @@ -372,7 +372,11 @@ gst_audio_fx_base_iir_filter_transform_ip (GstBaseTransform * base, if (GST_CLOCK_TIME_IS_VALID (stream_time)) gst_object_sync_values (GST_OBJECT (filter), stream_time); - g_return_val_if_fail (filter->a != NULL, GST_FLOW_ERROR); + if (filter->a == NULL || filter->b == NULL) { + g_return_val_if_fail (filter->a != NULL + && filter->b != NULL, GST_FLOW_ERROR); + return GST_FLOW_ERROR; + } gst_buffer_map (buf, &map, GST_MAP_READWRITE); num_samples = map.size / GST_AUDIO_FILTER_BPS (filter); diff --git a/gst/audiofx/audioiirfilter.c b/gst/audiofx/audioiirfilter.c index cf3070f155eb5787ea868619c1041b531154fa72..c107594d4d5144488dc29d48d2e9a673f936e0b4 100644 --- a/gst/audiofx/audioiirfilter.c +++ b/gst/audiofx/audioiirfilter.c @@ -186,7 +186,7 @@ static void gst_audio_iir_filter_init (GstAudioIIRFilter * self) { GValue v = { 0, }; - GValueArray *a, *b; + GValueArray *a; a = g_value_array_new (1); @@ -195,8 +195,7 @@ gst_audio_iir_filter_init (GstAudioIIRFilter * self) g_value_array_append (a, &v); g_value_unset (&v); - b = NULL; - gst_audio_iir_filter_update_coefficients (self, a, b); + gst_audio_iir_filter_update_coefficients (self, a, g_value_array_copy (a)); g_mutex_init (&self->lock); } diff --git a/gst/deinterlace/tvtime/greedyh.c b/gst/deinterlace/tvtime/greedyh.c index d769524dab930c9d33dc7f4cc292432a9512dc39..69f75ee2ddb7450bc75a7c5b99360e84cdc322b0 100644 --- a/gst/deinterlace/tvtime/greedyh.c +++ b/gst/deinterlace/tvtime/greedyh.c @@ -727,7 +727,7 @@ deinterlace_frame_di_greedyh_packed (GstDeinterlaceMethod * method, gint InfoIsOdd = 0; gint Line; gint RowStride = GST_VIDEO_FRAME_COMP_STRIDE (outframe, 0); - gint FieldHeight = GST_VIDEO_INFO_HEIGHT (method->vinfo) / 2; + gint FieldHeight = GST_VIDEO_FRAME_HEIGHT (outframe) / 2; gint Pitch = RowStride * 2; const guint8 *L1; // ptr to Line1, of 3 const guint8 *L2; // ptr to Line2, the weave line @@ -912,8 +912,8 @@ deinterlace_frame_di_greedyh_planar (GstDeinterlaceMethod * method, for (i = 0; i < 3; i++) { InfoIsOdd = (history[cur_field_idx - 1].flags == PICTURE_INTERLACED_BOTTOM); - RowStride = GST_VIDEO_FRAME_PLANE_STRIDE (outframe, i); - FieldHeight = GST_VIDEO_FRAME_HEIGHT (outframe) / 2; + RowStride = GST_VIDEO_FRAME_COMP_STRIDE (outframe, i); + FieldHeight = GST_VIDEO_FRAME_COMP_HEIGHT (outframe, i) / 2; Pitch = RowStride * 2; if (i == 0) @@ -921,18 +921,18 @@ deinterlace_frame_di_greedyh_planar (GstDeinterlaceMethod * method, else scanline = klass->scanline_planar_uv; - Dest = GST_VIDEO_FRAME_PLANE_DATA (outframe, i); + Dest = GST_VIDEO_FRAME_COMP_DATA (outframe, i); - L1 = GST_VIDEO_FRAME_PLANE_DATA (history[cur_field_idx - 2].frame, i); + L1 = GST_VIDEO_FRAME_COMP_DATA (history[cur_field_idx - 2].frame, i); if (history[cur_field_idx - 2].flags & PICTURE_INTERLACED_BOTTOM) L1 += RowStride; - L2 = GST_VIDEO_FRAME_PLANE_DATA (history[cur_field_idx - 1].frame, i); + L2 = GST_VIDEO_FRAME_COMP_DATA (history[cur_field_idx - 1].frame, i); if (history[cur_field_idx - 1].flags & PICTURE_INTERLACED_BOTTOM) L2 += RowStride; L3 = L1 + Pitch; - L2P = GST_VIDEO_FRAME_PLANE_DATA (history[cur_field_idx - 3].frame, i); + L2P = GST_VIDEO_FRAME_COMP_DATA (history[cur_field_idx - 3].frame, i); if (history[cur_field_idx - 3].flags & PICTURE_INTERLACED_BOTTOM) L2P += RowStride; diff --git a/gst/flv/gstflvmux.c b/gst/flv/gstflvmux.c index 8d7387f4d1a8490a0f28979e252a07e0af2e16fb..2950a2022647b39a2188ca7b4d991d1ed6c5593c 100644 --- a/gst/flv/gstflvmux.c +++ b/gst/flv/gstflvmux.c @@ -76,8 +76,7 @@ static GstStaticPadTemplate audiosink_templ = GST_STATIC_PAD_TEMPLATE ("audio", GST_STATIC_CAPS ("audio/x-adpcm, layout = (string) swf, channels = (int) { 1, 2 }, rate = (int) { 5512, 11025, 22050, 44100 }; " "audio/mpeg, mpegversion = (int) 1, layer = (int) 3, channels = (int) { 1, 2 }, rate = (int) { 5512, 8000, 11025, 22050, 44100 }, parsed = (boolean) TRUE; " - "audio/mpeg, mpegversion = (int) 2, framed = (boolean) TRUE; " - "audio/mpeg, mpegversion = (int) 4, stream-format = (string) raw, framed = (boolean) TRUE; " + "audio/mpeg, mpegversion = (int) { 4, 2 }, stream-format = (string) raw; " "audio/x-nellymoser, channels = (int) { 1, 2 }, rate = (int) { 5512, 8000, 11025, 16000, 22050, 44100 }; " "audio/x-raw, format = (string) { U8, S16LE}, layout = (string) interleaved, channels = (int) { 1, 2 }, rate = (int) { 5512, 11025, 22050, 44100 }; " "audio/x-alaw, channels = (int) { 1, 2 }, rate = (int) { 5512, 11025, 22050, 44100 }; " diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c index 58533a455b4ec0520b6b9759a85294683e06a815..3231963bd509a5f4fe3646451a37f30ec5768adf 100644 --- a/gst/isomp4/gstqtmux.c +++ b/gst/isomp4/gstqtmux.c @@ -1653,7 +1653,11 @@ gst_qt_mux_start_file (GstQTMux * qtmux) if (!seekable) { if (qtmux_klass->format != GST_QT_MUX_FORMAT_ISML) { if (!qtmux->fast_start) { - goto not_seekable_error; + GST_ELEMENT_WARNING (qtmux, STREAM, FAILED, + ("Downstream is not seekable and headers can't be rewritten"), + (NULL)); + /* FIXME: Is there something better we can do? */ + qtmux->streamable = TRUE; } } else { GST_WARNING_OBJECT (qtmux, "downstream is not seekable, but " @@ -1774,15 +1778,6 @@ gst_qt_mux_start_file (GstQTMux * qtmux) exit: return ret; -not_seekable_error: - { - GST_ELEMENT_ERROR (qtmux, STREAM, FAILED, - ("Downstream is not seekable and headers can't be rewritten"), - GST_ERROR_SYSTEM); - GST_OBJECT_UNLOCK (qtmux); - return GST_FLOW_ERROR; - } - /* ERRORS */ open_failed: { diff --git a/gst/isomp4/gstqtmuxmap.c b/gst/isomp4/gstqtmuxmap.c index b739a7c8be959b2b5ecca6719c17472bb1ebbd2f..833b1b0afdb8db9ebfcb4102d65e71006ad7cf27 100644 --- a/gst/isomp4/gstqtmuxmap.c +++ b/gst/isomp4/gstqtmuxmap.c @@ -49,8 +49,7 @@ #define COMMON_VIDEO_CAPS \ "width = (int) [ 16, 4096 ], " \ - "height = (int) [ 16, 4096 ], " \ - "framerate = (fraction) [ 0, MAX ]" + "height = (int) [ 16, 4096 ]" #define COMMON_VIDEO_CAPS_NO_FRAMERATE \ "width = (int) [ 16, 4096 ], " \ diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index d2f3b878e7aad5a358e580f8297eef3494f5cc7f..dc3e9b6cd6ca891aa34439c7f807a2fe886c31e1 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -531,6 +531,8 @@ gst_qtdemux_init (GstQTDemux * qtdemux) qtdemux->got_moov = FALSE; qtdemux->mdatoffset = GST_CLOCK_TIME_NONE; qtdemux->mdatbuffer = NULL; + qtdemux->restoredata_buffer = NULL; + qtdemux->restoredata_offset = GST_CLOCK_TIME_NONE; qtdemux->fragment_start = -1; qtdemux->media_caps = NULL; qtdemux->exposed = FALSE; @@ -1803,9 +1805,13 @@ gst_qtdemux_reset (GstQTDemux * qtdemux, gboolean hard) qtdemux->first_mdat = -1; qtdemux->header_size = 0; qtdemux->mdatoffset = GST_CLOCK_TIME_NONE; + qtdemux->restoredata_offset = GST_CLOCK_TIME_NONE; if (qtdemux->mdatbuffer) gst_buffer_unref (qtdemux->mdatbuffer); + if (qtdemux->restoredata_buffer) + gst_buffer_unref (qtdemux->restoredata_buffer); qtdemux->mdatbuffer = NULL; + qtdemux->restoredata_buffer = NULL; qtdemux->mdatleft = 0; if (qtdemux->comp_brands) gst_buffer_unref (qtdemux->comp_brands); @@ -3745,7 +3751,8 @@ gst_qtdemux_sync_streams (GstQTDemux * demux) GST_LOG_OBJECT (demux, "current position: %" GST_TIME_FORMAT ", stream end: %" GST_TIME_FORMAT, GST_TIME_ARGS (demux->segment.position), GST_TIME_ARGS (end_time)); - if (end_time + 2 * GST_SECOND < demux->segment.position) { + if (GST_CLOCK_TIME_IS_VALID (end_time) + && (end_time + 2 * GST_SECOND < demux->segment.position)) { GST_DEBUG_OBJECT (demux, "sending EOS for stream %s", GST_PAD_NAME (stream->pad)); stream->sent_eos = TRUE; @@ -4600,10 +4607,11 @@ gst_qtdemux_chain (GstPad * sinkpad, GstObject * parent, GstBuffer * inbuf) break; } if (fourcc == FOURCC_mdat) { - if (demux->n_streams > 0) { + gint next_entry = next_entry_size (demux); + if (demux->n_streams > 0 && (next_entry != -1 || !demux->fragmented)) { /* we have the headers, start playback */ demux->state = QTDEMUX_STATE_MOVIE; - demux->neededbytes = next_entry_size (demux); + demux->neededbytes = next_entry; demux->mdatleft = size; } else { /* no headers yet, try to get them */ @@ -4667,7 +4675,8 @@ gst_qtdemux_chain (GstPad * sinkpad, GstObject * parent, GstBuffer * inbuf) } else { /* this means we already started buffering and still no moov header, * let's continue buffering everything till we get moov */ - if (demux->mdatbuffer && (fourcc != FOURCC_moov)) + if (demux->mdatbuffer && !(fourcc == FOURCC_moov + || fourcc == FOURCC_moof)) goto buffer_data; demux->neededbytes = size; demux->state = QTDEMUX_STATE_HEADER; @@ -4768,13 +4777,29 @@ gst_qtdemux_chain (GstPad * sinkpad, GstObject * parent, GstBuffer * inbuf) data = NULL; if (demux->mdatbuffer && demux->n_streams) { + gsize remaining_data_size = 0; + /* the mdat was before the header */ GST_DEBUG_OBJECT (demux, "We have n_streams:%d and mdatbuffer:%p", demux->n_streams, demux->mdatbuffer); /* restore our adapter/offset view of things with upstream; * put preceding buffered data ahead of current moov data. * This should also handle evil mdat, moov, mdat cases and alike */ - gst_adapter_clear (demux->adapter); + gst_adapter_flush (demux->adapter, demux->neededbytes); + + /* Store any remaining data after the mdat for later usage */ + remaining_data_size = gst_adapter_available (demux->adapter); + if (remaining_data_size > 0) { + g_assert (demux->restoredata_buffer == NULL); + demux->restoredata_buffer = + gst_adapter_take_buffer (demux->adapter, remaining_data_size); + demux->restoredata_offset = demux->offset + demux->neededbytes; + GST_DEBUG_OBJECT (demux, + "Stored %" G_GSIZE_FORMAT " post mdat bytes at offset %" + G_GUINT64_FORMAT, remaining_data_size, + demux->restoredata_offset); + } + gst_adapter_push (demux->adapter, demux->mdatbuffer); demux->mdatbuffer = NULL; demux->offset = demux->mdatoffset; @@ -4859,6 +4884,16 @@ gst_qtdemux_chain (GstPad * sinkpad, GstObject * parent, GstBuffer * inbuf) /* need to resume atom parsing so we do not miss any other pieces */ demux->state = QTDEMUX_STATE_INITIAL; demux->neededbytes = 16; + + /* check if there was any stored post mdat data from previous buffers */ + if (demux->restoredata_buffer) { + g_assert (gst_adapter_available (demux->adapter) == 0); + + gst_adapter_push (demux->adapter, demux->restoredata_buffer); + demux->restoredata_buffer = NULL; + demux->offset = demux->restoredata_offset; + } + break; } } @@ -9842,7 +9877,8 @@ qtdemux_parse_tree (GstQTDemux * qtdemux) /* Moving qt creation time (secs since 1904) to unix time */ if (creation_time != 0) { - if (creation_time > QTDEMUX_SECONDS_FROM_1904_TO_1970) { + /* Try to use epoch first as it should be faster and more commonly found */ + if (creation_time >= QTDEMUX_SECONDS_FROM_1904_TO_1970) { GTimeVal now; creation_time -= QTDEMUX_SECONDS_FROM_1904_TO_1970; @@ -9851,11 +9887,18 @@ qtdemux_parse_tree (GstQTDemux * qtdemux) if (now.tv_sec + 24 * 3600 < creation_time) { GST_DEBUG_OBJECT (qtdemux, "discarding bogus future creation time"); } else { - datetime = gst_date_time_new_from_unix_epoch_local_time (creation_time); + datetime = gst_date_time_new_from_unix_epoch_utc (creation_time); } } else { - GST_WARNING_OBJECT (qtdemux, "Can't handle datetimes before 1970 yet, " - "please file a bug at http://bugzilla.gnome.org"); + GDateTime *base_dt = g_date_time_new_utc (1904, 1, 1, 0, 0, 0); + GDateTime *dt, *dt_local; + + dt = g_date_time_add_seconds (base_dt, creation_time); + dt_local = g_date_time_to_local (dt); + datetime = gst_date_time_new_from_g_date_time (dt_local); + + g_date_time_unref (base_dt); + g_date_time_unref (dt); } } if (datetime) { @@ -10323,6 +10366,7 @@ qtdemux_video_caps (GstQTDemux * qtdemux, QtDemuxStream * stream, case GST_MAKE_FOURCC ('x', 'd', 'h', '2'): /* XDCAM HD422 540p */ case GST_MAKE_FOURCC ('A', 'V', 'm', 'p'): /* AVID IMX PAL */ case GST_MAKE_FOURCC ('m', 'p', 'g', '2'): /* AVID IMX PAL */ + case GST_MAKE_FOURCC ('m', 'p', '2', 'v'): /* AVID IMX PAL */ _codec ("MPEG-2 video"); caps = gst_caps_new_simple ("video/mpeg", "mpegversion", G_TYPE_INT, 2, "systemstream", G_TYPE_BOOLEAN, FALSE, NULL); diff --git a/gst/isomp4/qtdemux.h b/gst/isomp4/qtdemux.h index d27134c9b3dface63f5f4fda9f1c17e57bc842c4..3fb43daea7ff9e2eacd8d0c5cf6b7dcb449df7ac 100644 --- a/gst/isomp4/qtdemux.h +++ b/gst/isomp4/qtdemux.h @@ -91,6 +91,15 @@ struct _GstQTDemux { GstAdapter *adapter; GstBuffer *mdatbuffer; guint64 mdatleft; + /* When restoring the mdat to the adatpter, this buffer + * stores any trailing data that was after the last atom parsed as it + * has to be restored later along with the correct offset. Used in + * fragmented scenario where mdat/moof are one after the other + * in any order. + * + * Check https://bugzilla.gnome.org/show_bug.cgi?id=710623 */ + GstBuffer *restoredata_buffer; + guint64 restoredata_offset; guint64 offset; /* offset of the mdat atom */ diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c index d7b8901b5a86e12e77e6dd0edfab092aa5baaf60..90bf6df1273c1b23a48fb3f08deb7f3e645ce849 100644 --- a/gst/matroska/matroska-demux.c +++ b/gst/matroska/matroska-demux.c @@ -3006,6 +3006,23 @@ gst_matroska_demux_check_subtitle_buffer (GstElement * element, if (!gst_buffer_get_size (*buf) || !gst_buffer_map (*buf, &map, GST_MAP_READ)) return GST_FLOW_OK; + /* Need \0-terminator at the end */ + if (map.data[map.size - 1] != '\0') { + newbuf = gst_buffer_new_and_alloc (map.size + 1); + + /* Copy old buffer and add a 0 at the end */ + gst_buffer_fill (newbuf, 0, map.data, map.size); + gst_buffer_memset (newbuf, map.size, 0, 1); + gst_buffer_unmap (*buf, &map); + + gst_buffer_copy_into (newbuf, *buf, + GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_FLAGS | + GST_BUFFER_COPY_META, 0, -1); + gst_buffer_unref (*buf); + *buf = newbuf; + gst_buffer_map (*buf, &map, GST_MAP_READ); + } + if (!sub_stream->invalid_utf8) { if (g_utf8_validate ((gchar *) map.data, map.size - 1, NULL)) { goto next; @@ -3060,22 +3077,6 @@ gst_matroska_demux_check_subtitle_buffer (GstElement * element, gst_buffer_map (*buf, &map, GST_MAP_READ); next: - /* Need \0-terminator at the end */ - if (map.data[map.size - 1] != '\0') { - newbuf = gst_buffer_new_and_alloc (map.size + 1); - - /* Copy old buffer and add a 0 at the end */ - gst_buffer_fill (newbuf, 0, map.data, map.size); - gst_buffer_memset (newbuf, map.size, 0, 1); - gst_buffer_unmap (*buf, &map); - - gst_buffer_copy_into (newbuf, *buf, - GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_FLAGS | - GST_BUFFER_COPY_META, 0, -1); - gst_buffer_unref (*buf); - *buf = newbuf; - gst_buffer_map (*buf, &map, GST_MAP_READ); - } if (sub_stream->check_markup) { /* caps claim markup text, so we need to escape text, @@ -3467,7 +3468,7 @@ gst_matroska_demux_parse_blockgroup_or_simpleblock (GstMatroskaDemux * demux, segment_event = gst_event_new_segment (segment); if (demux->segment_seqnum) gst_event_set_seqnum (segment_event, demux->segment_seqnum); - gst_matroska_demux_send_event (demux, gst_event_new_segment (segment)); + gst_matroska_demux_send_event (demux, segment_event); demux->need_segment = FALSE; demux->segment_seqnum = 0; } @@ -3753,6 +3754,12 @@ gst_matroska_demux_parse_blockgroup_or_simpleblock (GstMatroskaDemux * demux, g_assert (stream->alignment <= G_MEM_ALIGN); sub = gst_matroska_demux_align_buffer (demux, sub, stream->alignment); + if (GST_BUFFER_PTS_IS_VALID (sub)) { + stream->pos = GST_BUFFER_PTS (sub); + if (GST_BUFFER_DURATION_IS_VALID (sub)) + stream->pos += GST_BUFFER_DURATION (sub); + } + ret = gst_pad_push (stream->pad, sub); if (demux->common.segment.rate < 0) { diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c index d535fd3b6bea166e337795f518c063d6f4cb7f49..7b846e518e90b68b2225fbd418202b91866cdb6b 100644 --- a/gst/matroska/matroska-mux.c +++ b/gst/matroska/matroska-mux.c @@ -2481,6 +2481,7 @@ gst_matroska_mux_start (GstMatroskaMux * mux) }; const gchar *media_type; gboolean audio_only; + gboolean is_webm = FALSE; guint64 master, child; GSList *collected; int i; @@ -2521,9 +2522,13 @@ gst_matroska_mux_start (GstMatroskaMux * mux) g_snprintf (s_id, sizeof (s_id), "matroskamux-%08x", g_random_int ()); gst_pad_push_event (mux->srcpad, gst_event_new_stream_start (s_id)); + /* Are we muxing a WebM stream? */ + if (!strcmp (mux->doctype, GST_MATROSKA_DOCTYPE_WEBM)) { + is_webm = TRUE; + } /* output caps */ audio_only = mux->num_v_streams == 0 && mux->num_a_streams > 0; - if (!strcmp (mux->doctype, GST_MATROSKA_DOCTYPE_WEBM)) { + if (is_webm) { media_type = (audio_only) ? "audio/webm" : "video/webm"; } else { media_type = (audio_only) ? "audio/x-matroska" : "video/x-matroska"; @@ -2581,11 +2586,16 @@ gst_matroska_mux_start (GstMatroskaMux * mux) /* segment info */ mux->info_pos = ebml->pos; master = gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_SEGMENTINFO); - for (i = 0; i < 4; i++) { - segment_uid[i] = g_random_int (); + + /* WebM does not support SegmentUID field on SegmentInfo */ + if (!is_webm) { + for (i = 0; i < 4; i++) { + segment_uid[i] = g_random_int (); + } + gst_ebml_write_binary (ebml, GST_MATROSKA_ID_SEGMENTUID, + (guint8 *) segment_uid, 16); } - gst_ebml_write_binary (ebml, GST_MATROSKA_ID_SEGMENTUID, - (guint8 *) segment_uid, 16); + gst_ebml_write_uint (ebml, GST_MATROSKA_ID_TIMECODESCALE, mux->time_scale); mux->duration_pos = ebml->pos; /* get duration */ diff --git a/gst/rtp/gstrtpgstpay.c b/gst/rtp/gstrtpgstpay.c index 55c356c724633d1ff327a098c5a56387ef06092d..669654c258a650b8726e8940320e26ce0c41c92f 100644 --- a/gst/rtp/gstrtpgstpay.c +++ b/gst/rtp/gstrtpgstpay.c @@ -353,15 +353,16 @@ static GstFlowReturn gst_rtp_gst_pay_flush (GstRtpGSTPay * rtpgstpay, GstClockTime timestamp) { GstFlowReturn ret = GST_FLOW_OK; - GList *iter, *next; + GList *iter; gst_rtp_gst_pay_create_from_adapter (rtpgstpay, timestamp); - for (iter = rtpgstpay->pending_buffers; iter; iter = next) { + + iter = rtpgstpay->pending_buffers; + while (iter) { GstBufferList *list = iter->data; - next = iter->next; - rtpgstpay->pending_buffers = g_list_remove_link (rtpgstpay->pending_buffers, - iter); + rtpgstpay->pending_buffers = iter = + g_list_delete_link (rtpgstpay->pending_buffers, iter); /* push the whole buffer list at once */ ret = gst_rtp_base_payload_push_list (GST_RTP_BASE_PAYLOAD (rtpgstpay), diff --git a/gst/rtp/gstrtpvp8pay.c b/gst/rtp/gstrtpvp8pay.c index 988d55da3270a9a02a0e64522275f3a5a777a16c..021f2e4a8fd840aef997b7c8d216118abc129b13 100644 --- a/gst/rtp/gstrtpvp8pay.c +++ b/gst/rtp/gstrtpvp8pay.c @@ -36,7 +36,36 @@ GST_DEBUG_CATEGORY_STATIC (gst_rtp_vp8_pay_debug); #define GST_CAT_DEFAULT gst_rtp_vp8_pay_debug -#define DEFAULT_PICTURE_ID_MODE VP8_PAY_PICTURE_ID_7BITS +#define DEFAULT_PICTURE_ID_MODE VP8_PAY_NO_PICTURE_ID + +enum +{ + PROP_0, + PROP_PICTURE_ID_MODE +}; + +#define GST_TYPE_RTP_VP8_PAY_PICTURE_ID_MODE (gst_rtp_vp8_pay_picture_id_mode_get_type()) +static GType +gst_rtp_vp8_pay_picture_id_mode_get_type (void) +{ + static GType mode_type = 0; + static const GEnumValue modes[] = { + {VP8_PAY_NO_PICTURE_ID, "No Picture ID", "none"}, + {VP8_PAY_PICTURE_ID_7BITS, "7-bit Picture ID", "7-bit"}, + {VP8_PAY_PICTURE_ID_15BITS, "15-bit Picture ID", "15-bit"}, + {0, NULL, NULL}, + }; + + if (!mode_type) { + mode_type = g_enum_register_static ("GstVP8RTPPayMode", modes); + } + return mode_type; +} + +static void gst_rtp_vp8_pay_get_property (GObject * object, guint prop_id, + GValue * value, GParamSpec * pspec); +static void gst_rtp_vp8_pay_set_property (GObject * object, guint prop_id, + const GValue * value, GParamSpec * pspec); static GstFlowReturn gst_rtp_vp8_pay_handle_buffer (GstRTPBasePayload * payload, GstBuffer * buffer); @@ -64,7 +93,6 @@ GST_STATIC_PAD_TEMPLATE ("sink", static void gst_rtp_vp8_pay_init (GstRtpVP8Pay * obj) { - /* TODO: Make it configurable */ obj->picture_id_mode = DEFAULT_PICTURE_ID_MODE; if (obj->picture_id_mode == VP8_PAY_PICTURE_ID_7BITS) obj->picture_id = g_random_int_range (0, G_MAXUINT8) & 0x7F; @@ -75,10 +103,20 @@ gst_rtp_vp8_pay_init (GstRtpVP8Pay * obj) static void gst_rtp_vp8_pay_class_init (GstRtpVP8PayClass * gst_rtp_vp8_pay_class) { + GObjectClass *gobject_class = G_OBJECT_CLASS (gst_rtp_vp8_pay_class); GstElementClass *element_class = GST_ELEMENT_CLASS (gst_rtp_vp8_pay_class); GstRTPBasePayloadClass *pay_class = GST_RTP_BASE_PAYLOAD_CLASS (gst_rtp_vp8_pay_class); + gobject_class->set_property = gst_rtp_vp8_pay_set_property; + gobject_class->get_property = gst_rtp_vp8_pay_get_property; + + g_object_class_install_property (gobject_class, PROP_PICTURE_ID_MODE, + g_param_spec_enum ("picture-id-mode", "Picture ID Mode", + "The picture ID mode for payloading", + GST_TYPE_RTP_VP8_PAY_PICTURE_ID_MODE, DEFAULT_PICTURE_ID_MODE, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&gst_rtp_vp8_pay_sink_template)); gst_element_class_add_pad_template (element_class, @@ -96,6 +134,42 @@ gst_rtp_vp8_pay_class_init (GstRtpVP8PayClass * gst_rtp_vp8_pay_class) "VP8 Video RTP Payloader"); } +static void +gst_rtp_vp8_pay_set_property (GObject * object, + guint prop_id, const GValue * value, GParamSpec * pspec) +{ + GstRtpVP8Pay *rtpvp8pay = GST_RTP_VP8_PAY (object); + + switch (prop_id) { + case PROP_PICTURE_ID_MODE: + rtpvp8pay->picture_id_mode = g_value_get_enum (value); + if (rtpvp8pay->picture_id_mode == VP8_PAY_PICTURE_ID_7BITS) + rtpvp8pay->picture_id = g_random_int_range (0, G_MAXUINT8) & 0x7F; + else if (rtpvp8pay->picture_id_mode == VP8_PAY_PICTURE_ID_15BITS) + rtpvp8pay->picture_id = g_random_int_range (0, G_MAXUINT16) & 0x7FFF; + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gst_rtp_vp8_pay_get_property (GObject * object, + guint prop_id, GValue * value, GParamSpec * pspec) +{ + GstRtpVP8Pay *rtpvp8pay = GST_RTP_VP8_PAY (object); + + switch (prop_id) { + case PROP_PICTURE_ID_MODE: + g_value_set_enum (value, rtpvp8pay->picture_id_mode); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + static gboolean gst_rtp_vp8_pay_parse_frame (GstRtpVP8Pay * self, GstBuffer * buffer) { diff --git a/gst/rtpmanager/gstrtpbin.c b/gst/rtpmanager/gstrtpbin.c index e615c94e11a9178ecbd6e9236fbd7f659f30ad20..97f9d8ed7e9251a3d43df6f1370916dddabeb64c 100644 --- a/gst/rtpmanager/gstrtpbin.c +++ b/gst/rtpmanager/gstrtpbin.c @@ -1439,7 +1439,8 @@ create_stream (GstRtpBinSession * session, guint32 ssrc) /* link stuff */ if (demux) - gst_element_link (buffer, demux); + gst_element_link_pads_full (buffer, "src", demux, "sink", + GST_PAD_LINK_CHECK_NOTHING); if (rtpbin->buffering) { guint64 last_out; @@ -2563,7 +2564,7 @@ new_ssrc_pad_found (GstElement * element, guint ssrc, GstPad * pad, srcpad = gst_element_get_static_pad (element, padname); g_free (padname); sinkpad = gst_element_get_static_pad (stream->buffer, "sink"); - gst_pad_link (srcpad, sinkpad); + gst_pad_link_full (srcpad, sinkpad, GST_PAD_LINK_CHECK_NOTHING); gst_object_unref (sinkpad); gst_object_unref (srcpad); @@ -2572,7 +2573,7 @@ new_ssrc_pad_found (GstElement * element, guint ssrc, GstPad * pad, srcpad = gst_element_get_static_pad (element, padname); g_free (padname); sinkpad = gst_element_get_request_pad (stream->buffer, "sink_rtcp"); - gst_pad_link (srcpad, sinkpad); + gst_pad_link_full (srcpad, sinkpad, GST_PAD_LINK_CHECK_NOTHING); gst_object_unref (sinkpad); gst_object_unref (srcpad); @@ -2649,7 +2650,6 @@ create_recv_rtp (GstRtpBin * rtpbin, GstPadTemplate * templ, const gchar * name) GstPad *sinkdpad; guint sessid; GstRtpBinSession *session; - GstPadLinkReturn lres; /* first get the session number */ if (name == NULL || sscanf (name, "recv_rtp_sink_%u", &sessid) != 1) @@ -2691,10 +2691,9 @@ create_recv_rtp (GstRtpBin * rtpbin, GstPadTemplate * templ, const gchar * name) GST_DEBUG_OBJECT (rtpbin, "getting demuxer RTP sink pad"); sinkdpad = gst_element_get_static_pad (session->demux, "sink"); GST_DEBUG_OBJECT (rtpbin, "linking demuxer RTP sink pad"); - lres = gst_pad_link (session->recv_rtp_src, sinkdpad); + gst_pad_link_full (session->recv_rtp_src, sinkdpad, + GST_PAD_LINK_CHECK_NOTHING); gst_object_unref (sinkdpad); - if (lres != GST_PAD_LINK_OK) - goto link_failed; /* connect to the new-ssrc-pad signal of the SSRC demuxer */ session->demux_newpad_sig = g_signal_connect (session->demux, @@ -2726,11 +2725,6 @@ pad_failed: g_warning ("rtpbin: failed to get session pad"); return NULL; } -link_failed: - { - g_warning ("rtpbin: failed to link pads"); - return NULL; - } } static void @@ -2771,7 +2765,6 @@ create_recv_rtcp (GstRtpBin * rtpbin, GstPadTemplate * templ, guint sessid; GstRtpBinSession *session; GstPad *sinkdpad; - GstPadLinkReturn lres; /* first get the session number */ if (name == NULL || sscanf (name, "recv_rtcp_sink_%u", &sessid) != 1) @@ -2808,10 +2801,8 @@ create_recv_rtcp (GstRtpBin * rtpbin, GstPadTemplate * templ, GST_DEBUG_OBJECT (rtpbin, "getting demuxer RTCP sink pad"); sinkdpad = gst_element_get_static_pad (session->demux, "rtcp_sink"); - lres = gst_pad_link (session->sync_src, sinkdpad); + gst_pad_link_full (session->sync_src, sinkdpad, GST_PAD_LINK_CHECK_NOTHING); gst_object_unref (sinkdpad); - if (lres != GST_PAD_LINK_OK) - goto link_failed; session->recv_rtcp_sink_ghost = gst_ghost_pad_new_from_template (name, session->recv_rtcp_sink, templ); @@ -2837,11 +2828,6 @@ pad_failed: g_warning ("rtpbin: failed to get session pad"); return NULL; } -link_failed: - { - g_warning ("rtpbin: failed to link pads"); - return NULL; - } } static void diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c index 2fb633b548f2e77f5271abf9d1f94423e054fb43..553924415d62766224146927444e09a6acfcdadc 100644 --- a/gst/rtpmanager/gstrtpjitterbuffer.c +++ b/gst/rtpmanager/gstrtpjitterbuffer.c @@ -162,25 +162,33 @@ enum #define JBUF_UNLOCK(priv) (g_mutex_unlock (&(priv)->jbuf_lock)) #define JBUF_WAIT_TIMER(priv) G_STMT_START { \ + GST_DEBUG ("waiting timer"); \ (priv)->waiting_timer = TRUE; \ g_cond_wait (&(priv)->jbuf_timer, &(priv)->jbuf_lock); \ (priv)->waiting_timer = FALSE; \ + GST_DEBUG ("waiting timer done"); \ } G_STMT_END -#define JBUF_SIGNAL_TIMER(priv) G_STMT_START { \ - if (G_UNLIKELY ((priv)->waiting_timer)) \ - g_cond_signal (&(priv)->jbuf_timer); \ +#define JBUF_SIGNAL_TIMER(priv) G_STMT_START { \ + if (G_UNLIKELY ((priv)->waiting_timer)) { \ + GST_DEBUG ("signal timer"); \ + g_cond_signal (&(priv)->jbuf_timer); \ + } \ } G_STMT_END #define JBUF_WAIT_EVENT(priv,label) G_STMT_START { \ + GST_DEBUG ("waiting event"); \ (priv)->waiting_event = TRUE; \ g_cond_wait (&(priv)->jbuf_event, &(priv)->jbuf_lock); \ (priv)->waiting_event = FALSE; \ + GST_DEBUG ("waiting event done"); \ if (G_UNLIKELY (priv->srcresult != GST_FLOW_OK)) \ goto label; \ } G_STMT_END -#define JBUF_SIGNAL_EVENT(priv) G_STMT_START { \ - if (G_UNLIKELY ((priv)->waiting_event)) \ - g_cond_signal (&(priv)->jbuf_event); \ +#define JBUF_SIGNAL_EVENT(priv) G_STMT_START { \ + if (G_UNLIKELY ((priv)->waiting_event)) { \ + GST_DEBUG ("signal event"); \ + g_cond_signal (&(priv)->jbuf_event); \ + } \ } G_STMT_END struct _GstRtpJitterBufferPrivate @@ -267,6 +275,11 @@ struct _GstRtpJitterBufferPrivate /* some accounting */ guint64 num_late; guint64 num_duplicates; + guint64 num_rtx_requests; + guint64 num_rtx_success; + guint64 num_rtx_failed; + gdouble avg_rtx_num; + guint64 avg_rtx_rtt; }; typedef enum @@ -288,6 +301,8 @@ typedef struct GstClockTime rtx_base; GstClockTime rtx_delay; GstClockTime rtx_retry; + GstClockTime rtx_last; + guint num_rtx_retry; } TimerData; #define GST_RTP_JITTER_BUFFER_GET_PRIVATE(o) \ @@ -701,7 +716,7 @@ gst_rtp_jitter_buffer_init (GstRtpJitterBuffer * jitterbuffer) static RTPJitterBufferItem * alloc_item (gpointer data, guint type, GstClockTime dts, GstClockTime pts, - guint seqnum, guint rtptime) + guint seqnum, guint count, guint rtptime) { RTPJitterBufferItem *item; @@ -713,6 +728,7 @@ alloc_item (gpointer data, guint type, GstClockTime dts, GstClockTime pts, item->dts = dts; item->pts = pts; item->seqnum = seqnum; + item->count = count; item->rtptime = rtptime; return item; @@ -1184,6 +1200,7 @@ gst_rtp_jitter_buffer_change_state (GstElement * element, /* unblock to allow streaming in PLAYING */ priv->blocked = FALSE; JBUF_SIGNAL_EVENT (priv); + JBUF_SIGNAL_TIMER (priv); JBUF_UNLOCK (priv); break; default: @@ -1203,6 +1220,7 @@ gst_rtp_jitter_buffer_change_state (GstElement * element, JBUF_LOCK (priv); /* block to stop streaming when PAUSED */ priv->blocked = TRUE; + unschedule_current_timer (jitterbuffer); JBUF_UNLOCK (priv); if (ret != GST_STATE_CHANGE_FAILURE) ret = GST_STATE_CHANGE_NO_PREROLL; @@ -1319,6 +1337,8 @@ gst_rtp_jitter_buffer_sink_event (GstPad * pad, GstObject * parent, case GST_EVENT_FLUSH_START: ret = gst_pad_push_event (priv->srcpad, event); gst_rtp_jitter_buffer_flush_start (jitterbuffer); + /* wait for the loop to go into PAUSED */ + gst_pad_pause_task (priv->srcpad); break; case GST_EVENT_FLUSH_STOP: ret = gst_pad_push_event (priv->srcpad, event); @@ -1589,6 +1609,7 @@ add_timer (GstRtpJitterBuffer * jitterbuffer, TimerType type, timer->rtx_delay = delay; timer->rtx_retry = 0; } + timer->num_rtx_retry = 0; recalculate_timer (jitterbuffer, timer); JBUF_SIGNAL_TIMER (priv); @@ -1613,7 +1634,7 @@ reschedule_timer (GstRtpJitterBuffer * jitterbuffer, TimerData * timer, GST_DEBUG_OBJECT (jitterbuffer, "replace timer for seqnum %d->%d to %" GST_TIME_FORMAT, - oldseq, seqnum, GST_TIME_ARGS (timeout)); + oldseq, seqnum, GST_TIME_ARGS (timeout + delay)); timer->timeout = timeout + delay; timer->seqnum = seqnum; @@ -1678,7 +1699,7 @@ remove_all_timers (GstRtpJitterBuffer * jitterbuffer) /* we just received a packet with seqnum and dts. * * First check for old seqnum that we are still expecting. If the gap with the - * current timestamp is too big, unschedule the timeouts. + * current seqnum is too big, unschedule the timeouts. * * If we have a valid packet spacing estimate we can set a timer for when we * should receive the next packet. @@ -1712,7 +1733,7 @@ update_timers (GstRtpJitterBuffer * jitterbuffer, guint16 seqnum, } else if (gap > priv->rtx_delay_reorder) { /* max gap, we exceeded the max reorder distance and we don't expect the * missing packet to be this reordered */ - if (test->rtx_retry == 0 && test->type == TIMER_TYPE_EXPECTED) + if (test->num_rtx_retry == 0 && test->type == TIMER_TYPE_EXPECTED) reschedule_timer (jitterbuffer, test, test->seqnum, -1, 0, FALSE); } } @@ -1732,9 +1753,44 @@ update_timers (GstRtpJitterBuffer * jitterbuffer, guint16 seqnum, add_timer (jitterbuffer, TIMER_TYPE_EXPECTED, priv->next_in_seqnum, 0, expected, delay, priv->packet_spacing); } else if (timer && timer->type != TIMER_TYPE_DEADLINE) { + + if (timer->num_rtx_retry > 0) { + GstClockTime rtx_last; + + /* we scheduled a retry for this packet and now we have it */ + priv->num_rtx_success++; + /* all the previous retry attempts failed */ + priv->num_rtx_failed += timer->num_rtx_retry - 1; + /* number of retries before receiving the packet */ + if (priv->avg_rtx_num == 0.0) + priv->avg_rtx_num = timer->num_rtx_retry; + else + priv->avg_rtx_num = (timer->num_rtx_retry + 7 * priv->avg_rtx_num) / 8; + /* calculate the delay between retransmission request and receiving this + * packet, start with when we scheduled this timeout last */ + rtx_last = timer->rtx_last; + if (dts > rtx_last) { + GstClockTime delay; + /* we have a valid delay if this packet arrived after we scheduled the + * request */ + delay = dts - rtx_last; + if (priv->avg_rtx_rtt == 0) + priv->avg_rtx_rtt = delay; + else + priv->avg_rtx_rtt = (delay + 7 * priv->avg_rtx_rtt) / 8; + } + GST_LOG_OBJECT (jitterbuffer, + "RTX success %" G_GUINT64_FORMAT ", failed %" G_GUINT64_FORMAT + ", requests %" G_GUINT64_FORMAT ", dups %" G_GUINT64_FORMAT + ", avg-num %g, avg-rtt %" G_GUINT64_FORMAT, priv->num_rtx_success, + priv->num_rtx_failed, priv->num_rtx_requests, priv->num_duplicates, + priv->avg_rtx_num, priv->avg_rtx_rtt); + } /* if we had a timer, remove it, we don't know when to expect the next * packet. */ remove_timer (jitterbuffer, timer); + /* we signal the _loop function because this new packet could be the one + * it was waiting for */ JBUF_SIGNAL_EVENT (priv); } } @@ -1760,47 +1816,6 @@ calculate_packet_spacing (GstRtpJitterBuffer * jitterbuffer, guint32 rtptime, } } -static void -send_lost_event (GstRtpJitterBuffer * jitterbuffer, guint seqnum, - guint lost_packets, GstClockTime timestamp, GstClockTime duration, - gboolean late) -{ - GstRtpJitterBufferPrivate *priv = jitterbuffer->priv; - guint next_seqnum; - GstEvent *event; - RTPJitterBufferItem *item; - - /* we had a gap and thus we lost some packets. Create an event for this. */ - if (lost_packets > 1) - GST_DEBUG_OBJECT (jitterbuffer, "Packets #%d -> #%d lost", seqnum, - seqnum + lost_packets - 1); - else - GST_DEBUG_OBJECT (jitterbuffer, "Packet #%d lost", seqnum); - - priv->num_late += lost_packets; - - next_seqnum = seqnum + lost_packets - 1; - - /* create paket lost event */ - event = gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM, - gst_structure_new ("GstRTPPacketLost", - "seqnum", G_TYPE_UINT, (guint) seqnum, - "timestamp", G_TYPE_UINT64, timestamp, - "duration", G_TYPE_UINT64, duration, - "late", G_TYPE_BOOLEAN, late, NULL)); - - item = alloc_item (event, ITEM_TYPE_LOST, -1, -1, next_seqnum, -1); - rtp_jitter_buffer_insert (priv->jbuf, item, NULL, NULL); - - if (seqnum == priv->next_seqnum) { - GST_DEBUG_OBJECT (jitterbuffer, "lost seqnum %d == %d next_seqnum -> %d", - seqnum, priv->next_seqnum, next_seqnum); - priv->next_seqnum = next_seqnum & 0xffff; - priv->last_popped_seqnum = next_seqnum; - priv->last_out_time = timestamp; - } -} - static void calculate_expected (GstRtpJitterBuffer * jitterbuffer, guint32 expected, guint16 seqnum, GstClockTime dts, gint gap) @@ -2073,7 +2088,7 @@ gst_rtp_jitter_buffer_chain (GstPad * pad, GstObject * parent, } } - item = alloc_item (buffer, ITEM_TYPE_BUFFER, dts, pts, seqnum, rtptime); + item = alloc_item (buffer, ITEM_TYPE_BUFFER, dts, pts, seqnum, 1, rtptime); /* now insert the packet into the queue in sorted order. This function returns * FALSE if a packet with the same seqnum was already in the queue, meaning we @@ -2294,7 +2309,7 @@ pop_and_push_next (GstRtpJitterBuffer * jitterbuffer, guint16 seqnum) /* now we are ready to push the buffer. Save the seqnum and release the lock * so the other end can push stuff in the queue again. */ priv->last_popped_seqnum = seqnum; - priv->next_seqnum = (seqnum + 1) & 0xffff; + priv->next_seqnum = (seqnum + item->count) & 0xffff; JBUF_UNLOCK (priv); item->data = NULL; @@ -2419,31 +2434,41 @@ do_expected_timeout (GstRtpJitterBuffer * jitterbuffer, TimerData * timer, { GstRtpJitterBufferPrivate *priv = jitterbuffer->priv; GstEvent *event; + guint delay; GST_DEBUG_OBJECT (jitterbuffer, "expected %d didn't arrive", timer->seqnum); + delay = timer->rtx_delay + timer->rtx_retry; event = gst_event_new_custom (GST_EVENT_CUSTOM_UPSTREAM, gst_structure_new ("GstRTPRetransmissionRequest", "seqnum", G_TYPE_UINT, (guint) timer->seqnum, "running-time", G_TYPE_UINT64, timer->rtx_base, - "delay", G_TYPE_UINT, - GST_TIME_AS_MSECONDS (timer->rtx_delay + timer->rtx_retry), - "frequency", G_TYPE_UINT, priv->rtx_retry_timeout, "period", - G_TYPE_UINT, priv->rtx_retry_period, "deadline", G_TYPE_UINT, - priv->latency_ms, "packet-spacing", G_TYPE_UINT64, - priv->packet_spacing, NULL)); - + "delay", G_TYPE_UINT, GST_TIME_AS_MSECONDS (delay), + "retry", G_TYPE_UINT, timer->num_rtx_retry, + "frequency", G_TYPE_UINT, priv->rtx_retry_timeout, + "period", G_TYPE_UINT, priv->rtx_retry_period, + "deadline", G_TYPE_UINT, priv->latency_ms, + "packet-spacing", G_TYPE_UINT64, priv->packet_spacing, NULL)); + + priv->num_rtx_requests++; + timer->num_rtx_retry++; + timer->rtx_last = now; JBUF_UNLOCK (priv); gst_pad_push_event (priv->sinkpad, event); JBUF_LOCK (priv); /* calculate the timeout for the next retransmission attempt */ timer->rtx_retry += (priv->rtx_retry_timeout * GST_MSECOND); + GST_DEBUG_OBJECT (jitterbuffer, "base %" GST_TIME_FORMAT ", delay %" + GST_TIME_FORMAT ", retry %" GST_TIME_FORMAT, + GST_TIME_ARGS (timer->rtx_base), GST_TIME_ARGS (timer->rtx_delay), + GST_TIME_ARGS (timer->rtx_retry)); + if (timer->rtx_retry + timer->rtx_delay > (priv->rtx_retry_period * GST_MSECOND)) { GST_DEBUG_OBJECT (jitterbuffer, "reschedule as LOST timer"); /* too many retransmission request, we now convert the timer - * to a lost timer */ + * to a lost timer, leave the num_rtx_retry as it is for stats */ timer->type = TIMER_TYPE_LOST; timer->rtx_delay = 0; timer->rtx_retry = 0; @@ -2461,24 +2486,44 @@ do_lost_timeout (GstRtpJitterBuffer * jitterbuffer, TimerData * timer, { GstRtpJitterBufferPrivate *priv = jitterbuffer->priv; GstClockTime duration, timestamp; - guint seqnum, num; + guint seqnum, lost_packets, num_rtx_retry; gboolean late; + GstEvent *event; + RTPJitterBufferItem *item; seqnum = timer->seqnum; timestamp = apply_offset (jitterbuffer, timer->timeout); duration = timer->duration; if (duration == GST_CLOCK_TIME_NONE && priv->packet_spacing > 0) duration = priv->packet_spacing; - num = MAX (timer->num, 1); + lost_packets = MAX (timer->num, 1); late = timer->num > 0; + num_rtx_retry = timer->num_rtx_retry; - /* remove timer now */ - remove_timer (jitterbuffer, timer); + /* we had a gap and thus we lost some packets. Create an event for this. */ + if (lost_packets > 1) + GST_DEBUG_OBJECT (jitterbuffer, "Packets #%d -> #%d lost", seqnum, + seqnum + lost_packets - 1); + else + GST_DEBUG_OBJECT (jitterbuffer, "Packet #%d lost", seqnum); - /* this releases the lock */ - send_lost_event (jitterbuffer, seqnum, num, timestamp, duration, late); + priv->num_late += lost_packets; + priv->num_rtx_failed += num_rtx_retry; - /* now we can let the pushing thread try again */ + /* create paket lost event */ + event = gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM, + gst_structure_new ("GstRTPPacketLost", + "seqnum", G_TYPE_UINT, (guint) seqnum, + "timestamp", G_TYPE_UINT64, timestamp, + "duration", G_TYPE_UINT64, duration, + "late", G_TYPE_BOOLEAN, late, + "retry", G_TYPE_UINT, num_rtx_retry, NULL)); + + item = alloc_item (event, ITEM_TYPE_LOST, -1, -1, seqnum, lost_packets, -1); + rtp_jitter_buffer_insert (priv->jbuf, item, NULL, NULL); + + /* remove timer now */ + remove_timer (jitterbuffer, timer); JBUF_SIGNAL_EVENT (priv); return TRUE; @@ -2590,7 +2635,7 @@ wait_next_timeout (GstRtpJitterBuffer * jitterbuffer) timer_timeout = test_timeout; } } - if (timer) { + if (timer && !priv->blocked) { GstClock *clock; GstClockTime sync_time; GstClockID id; @@ -2651,9 +2696,7 @@ wait_next_timeout (GstRtpJitterBuffer * jitterbuffer) priv->clock_id = NULL; } else { /* no timers, wait for activity */ - GST_DEBUG_OBJECT (jitterbuffer, "waiting"); JBUF_WAIT_TIMER (priv); - GST_DEBUG_OBJECT (jitterbuffer, "waiting done"); } } JBUF_UNLOCK (priv); @@ -2680,10 +2723,8 @@ gst_rtp_jitter_buffer_loop (GstRtpJitterBuffer * jitterbuffer) do { result = handle_next_buffer (jitterbuffer); if (G_LIKELY (result == GST_FLOW_WAIT)) { - GST_DEBUG_OBJECT (jitterbuffer, "waiting for event"); /* now wait for the next event */ JBUF_WAIT_EVENT (priv, flushing); - GST_DEBUG_OBJECT (jitterbuffer, "waiting for event done"); result = GST_FLOW_OK; } } diff --git a/gst/rtpmanager/rtpjitterbuffer.c b/gst/rtpmanager/rtpjitterbuffer.c index 332a1f7abaddac6924ccb2dda63270c1530f9113..b7aac1025bc92442e8780b2400a422ecf17c2537 100644 --- a/gst/rtpmanager/rtpjitterbuffer.c +++ b/gst/rtpmanager/rtpjitterbuffer.c @@ -182,11 +182,8 @@ rtp_jitter_buffer_set_clock_rate (RTPJitterBuffer * jbuf, guint32 clock_rate) GST_WARNING ("Clock rate changed from %" G_GUINT32_FORMAT " to %" G_GUINT32_FORMAT, jbuf->clock_rate, clock_rate); } - jbuf->base_time = -1; - jbuf->base_rtptime = -1; jbuf->clock_rate = clock_rate; - jbuf->prev_out_time = -1; - jbuf->prev_send_diff = -1; + rtp_jitter_buffer_reset_skew (jbuf); } } @@ -216,7 +213,6 @@ rtp_jitter_buffer_reset_skew (RTPJitterBuffer * jbuf) jbuf->base_time = -1; jbuf->base_rtptime = -1; jbuf->base_extrtp = -1; - jbuf->clock_rate = -1; jbuf->ext_rtptime = -1; jbuf->last_rtptime = -1; jbuf->window_pos = 0; @@ -685,6 +681,9 @@ rtp_jitter_buffer_insert (RTPJitterBuffer * jbuf, RTPJitterBufferItem * item, dts = item->dts; rtptime = item->rtptime; + if (rtptime == -1) + goto append; + /* rtp time jumps are checked for during skew calculation, but bypassed * in other mode, so mind those here and reset jb if needed. * Only reset if valid input time, which is likely for UDP input diff --git a/gst/rtpmanager/rtpjitterbuffer.h b/gst/rtpmanager/rtpjitterbuffer.h index 49817bf75a06cd5e851ccf4147a0e0fc5b21c77e..1389f268fea081fcc9eb936db8e4bee848001825 100644 --- a/gst/rtpmanager/rtpjitterbuffer.h +++ b/gst/rtpmanager/rtpjitterbuffer.h @@ -109,6 +109,7 @@ struct _RTPJitterBufferClass { * @dts: input DTS * @pts: output PTS * @seqnum: seqnum + * @count: amount of seqnum in this item * @rtptime: rtp timestamp * * An object containing an RTP packet or event. @@ -121,6 +122,7 @@ struct _RTPJitterBufferItem { GstClockTime dts; GstClockTime pts; guint seqnum; + guint count; guint rtptime; }; diff --git a/gst/rtsp/Makefile.am b/gst/rtsp/Makefile.am index 1f0213b37e818fd29dfa2ed0e3012e00a0eaf536..6397425518a42ada3e765c8ccb276b36e296923d 100644 --- a/gst/rtsp/Makefile.am +++ b/gst/rtsp/Makefile.am @@ -3,8 +3,8 @@ plugin_LTLIBRARIES = libgstrtsp.la libgstrtsp_la_SOURCES = gstrtsp.c gstrtspsrc.c \ gstrtpdec.c gstrtspext.c -libgstrtsp_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) -libgstrtsp_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(GST_BASE_LIBS) \ +libgstrtsp_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(GIO_CFLAGS) +libgstrtsp_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(GST_BASE_LIBS) $(GIO_LIBS) \ -lgstrtp-@GST_API_VERSION@ -lgstrtsp-@GST_API_VERSION@ \ -lgstsdp-@GST_API_VERSION@ -lgstnet-@GST_API_VERSION@ $(GST_LIBS) libgstrtsp_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) diff --git a/gst/rtsp/Makefile.in b/gst/rtsp/Makefile.in index 47a5ea96bcfac5f7bfa65f13304d77f8eb1cc8e1..fef9efdf9d37a517f38097bfaa7655296535cb4b 100644 --- a/gst/rtsp/Makefile.in +++ b/gst/rtsp/Makefile.in @@ -156,7 +156,7 @@ LTLIBRARIES = $(plugin_LTLIBRARIES) am__DEPENDENCIES_1 = libgstrtsp_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) am_libgstrtsp_la_OBJECTS = libgstrtsp_la-gstrtsp.lo \ libgstrtsp_la-gstrtspsrc.lo libgstrtsp_la-gstrtpdec.lo \ libgstrtsp_la-gstrtspext.lo @@ -560,8 +560,8 @@ plugin_LTLIBRARIES = libgstrtsp.la libgstrtsp_la_SOURCES = gstrtsp.c gstrtspsrc.c \ gstrtpdec.c gstrtspext.c -libgstrtsp_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) -libgstrtsp_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(GST_BASE_LIBS) \ +libgstrtsp_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(GIO_CFLAGS) +libgstrtsp_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(GST_BASE_LIBS) $(GIO_LIBS) \ -lgstrtp-@GST_API_VERSION@ -lgstrtsp-@GST_API_VERSION@ \ -lgstsdp-@GST_API_VERSION@ -lgstnet-@GST_API_VERSION@ $(GST_LIBS) diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 2be6543c5aea0348220148fa66635bd7154c8a32..a1b01c6bf2c34979b3e1201c2811d22dafa7507d 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -186,6 +186,7 @@ gst_rtsp_src_buffer_mode_get_type (void) #define DEFAULT_MULTICAST_IFACE NULL #define DEFAULT_NTP_SYNC FALSE #define DEFAULT_USE_PIPELINE_CLOCK FALSE +#define DEFAULT_TLS_VALIDATION_FLAGS G_TLS_CERTIFICATE_VALIDATE_ALL enum { @@ -218,6 +219,7 @@ enum PROP_NTP_SYNC, PROP_USE_PIPELINE_CLOCK, PROP_SDES, + PROP_TLS_VALIDATION_FLAGS, PROP_LAST }; @@ -582,6 +584,20 @@ gst_rtspsrc_class_init (GstRTSPSrcClass * klass) "The SDES items of this session", GST_TYPE_STRUCTURE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + /** + * GstRTSPSrc::tls-validation-flags: + * + * TLS certificate validation flags used to validate server + * certificate. + * + * Since: 1.2.1 + */ + g_object_class_install_property (gobject_class, PROP_TLS_VALIDATION_FLAGS, + g_param_spec_flags ("tls-validation-flags", "TLS validation flags", + "TLS certificate validation flags used to validate the server certificate", + G_TYPE_TLS_CERTIFICATE_FLAGS, DEFAULT_TLS_VALIDATION_FLAGS, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + /** * GstRTSPSrc::handle-request: * @rtspsrc: a #GstRTSPSrc @@ -694,6 +710,7 @@ gst_rtspsrc_init (GstRTSPSrc * src) src->ntp_sync = DEFAULT_NTP_SYNC; src->use_pipeline_clock = DEFAULT_USE_PIPELINE_CLOCK; src->sdes = NULL; + src->tls_validation_flags = DEFAULT_TLS_VALIDATION_FLAGS; /* get a list of all extensions */ src->extensions = gst_rtsp_ext_list_get (); @@ -948,6 +965,9 @@ gst_rtspsrc_set_property (GObject * object, guint prop_id, const GValue * value, case PROP_SDES: rtspsrc->sdes = g_value_dup_boxed (value); break; + case PROP_TLS_VALIDATION_FLAGS: + rtspsrc->tls_validation_flags = g_value_get_flags (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -1073,6 +1093,9 @@ gst_rtspsrc_get_property (GObject * object, guint prop_id, GValue * value, case PROP_SDES: g_value_set_boxed (value, rtspsrc->sdes); break; + case PROP_TLS_VALIDATION_FLAGS: + g_value_set_flags (value, rtspsrc->tls_validation_flags); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -2875,7 +2898,7 @@ gst_rtspsrc_stream_configure_tcp (GstRTSPSrc * src, GstRTSPStream * stream, /* allocate pads for sending the channel data into the manager */ pad0 = gst_pad_new_from_template (template, "internalsrc_0"); - gst_pad_link (pad0, stream->channelpad[0]); + gst_pad_link_full (pad0, stream->channelpad[0], GST_PAD_LINK_CHECK_NOTHING); gst_object_unref (stream->channelpad[0]); stream->channelpad[0] = pad0; gst_pad_set_event_function (pad0, gst_rtspsrc_handle_internal_src_event); @@ -2888,7 +2911,8 @@ gst_rtspsrc_stream_configure_tcp (GstRTSPSrc * src, GstRTSPStream * stream, * manager. */ pad1 = gst_pad_new_from_template (template, "internalsrc_1"); gst_pad_set_event_function (pad1, gst_rtspsrc_handle_internal_src_event); - gst_pad_link (pad1, stream->channelpad[1]); + gst_pad_link_full (pad1, stream->channelpad[1], + GST_PAD_LINK_CHECK_NOTHING); gst_object_unref (stream->channelpad[1]); stream->channelpad[1] = pad1; gst_pad_set_active (pad1, TRUE); @@ -2913,7 +2937,7 @@ gst_rtspsrc_stream_configure_tcp (GstRTSPSrc * src, GstRTSPStream * stream, /* and link */ if (pad) { - gst_pad_link (pad, stream->rtcppad); + gst_pad_link_full (pad, stream->rtcppad, GST_PAD_LINK_CHECK_NOTHING); gst_object_unref (pad); } @@ -3102,7 +3126,8 @@ gst_rtspsrc_stream_configure_udp (GstRTSPSrc * src, GstRTSPStream * stream, GST_DEBUG_OBJECT (src, "connecting UDP source 0 to manager"); /* configure for UDP delivery, we need to connect the UDP pads to * the session plugin. */ - gst_pad_link (*outpad, stream->channelpad[0]); + gst_pad_link_full (*outpad, stream->channelpad[0], + GST_PAD_LINK_CHECK_NOTHING); gst_object_unref (*outpad); *outpad = NULL; /* we connected to pad-added signal to get pads from the manager */ @@ -3128,7 +3153,8 @@ gst_rtspsrc_stream_configure_udp (GstRTSPSrc * src, GstRTSPStream * stream, GST_DEBUG_OBJECT (src, "connecting UDP source 1 to manager"); pad = gst_element_get_static_pad (stream->udpsrc[1], "src"); - gst_pad_link (pad, stream->channelpad[1]); + gst_pad_link_full (pad, stream->channelpad[1], + GST_PAD_LINK_CHECK_NOTHING); gst_object_unref (pad); } else { /* leave unlinked */ @@ -3217,7 +3243,8 @@ gst_rtspsrc_stream_configure_udp_sinks (GstRTSPSrc * src, gst_object_ref (stream->fakesrc); gst_bin_add (GST_BIN_CAST (src), stream->fakesrc); - gst_element_link (stream->fakesrc, stream->udpsink[0]); + gst_element_link_pads_full (stream->fakesrc, "src", stream->udpsink[0], + "sink", GST_PAD_LINK_CHECK_NOTHING); } if (do_rtcp) { GST_DEBUG_OBJECT (src, "configure RTCP UDP sink for %s:%d", destination, @@ -3269,7 +3296,7 @@ gst_rtspsrc_stream_configure_udp_sinks (GstRTSPSrc * src, /* and link */ if (pad) { - gst_pad_link (pad, stream->rtcppad); + gst_pad_link_full (pad, stream->rtcppad, GST_PAD_LINK_CHECK_NOTHING); gst_object_unref (pad); } } @@ -3628,6 +3655,12 @@ gst_rtsp_conninfo_connect (GstRTSPSrc * src, GstRTSPConnInfo * info, GST_DEBUG_OBJECT (src, "sanitized uri %s", info->url_str); + if (info->url->transports & GST_RTSP_LOWER_TRANS_TLS) { + if (!gst_rtsp_connection_set_tls_validation_flags (info->connection, + src->tls_validation_flags)) + GST_WARNING_OBJECT (src, "Unable to set TLS validation flags"); + } + if (info->url->transports & GST_RTSP_LOWER_TRANS_HTTP) gst_rtsp_connection_set_tunneled (info->connection, TRUE); @@ -6967,7 +7000,7 @@ gst_rtspsrc_thread (GstRTSPSrc * src) GST_OBJECT_LOCK (src); cmd = src->pending_cmd; if (cmd == CMD_RECONNECT || cmd == CMD_PLAY || cmd == CMD_PAUSE - || cmd == CMD_LOOP) + || cmd == CMD_LOOP || cmd == CMD_OPEN) src->pending_cmd = CMD_LOOP; else src->pending_cmd = CMD_WAIT; diff --git a/gst/rtsp/gstrtspsrc.h b/gst/rtsp/gstrtspsrc.h index e042a3dd3684ccbd6a026ffa7b044667675ca981..9260068525a83de15e2faaaf83761730ba6e42d5 100644 --- a/gst/rtsp/gstrtspsrc.h +++ b/gst/rtsp/gstrtspsrc.h @@ -52,6 +52,7 @@ G_BEGIN_DECLS #include <gst/rtsp/gstrtspmessage.h> #include <gst/rtsp/gstrtspurl.h> #include <gst/rtsp/gstrtsprange.h> +#include <gio/gio.h> #include "gstrtspext.h" @@ -226,6 +227,7 @@ struct _GstRTSPSrc { gboolean ntp_sync; gboolean use_pipeline_clock; GstStructure *sdes; + GTlsCertificateFlags tls_validation_flags; /* state */ GstRTSPState state; diff --git a/gst/udp/gstmultiudpsink.c b/gst/udp/gstmultiudpsink.c index cb2674ba6de5886486cfe2ffa5cf472cde45d54a..51fb5258b6db8026adb6b51a393a7218be41c804 100644 --- a/gst/udp/gstmultiudpsink.c +++ b/gst/udp/gstmultiudpsink.c @@ -638,6 +638,12 @@ flushing: g_mutex_unlock (&sink->client_lock); g_clear_error (&err); + /* unmap all memory */ + for (i = 0; i < n_mem; i++) { + gst_memory_unmap (map[i].memory, &map[i]); + gst_memory_unref (map[i].memory); + } + return GST_FLOW_FLUSHING; } } @@ -1046,7 +1052,7 @@ gst_multiudpsink_start (GstBaseSink * bsink) goto no_socket; bind_iaddr = g_inet_address_new_any (G_SOCKET_FAMILY_IPV4); - bind_addr = g_inet_socket_address_new (bind_iaddr, 0); + bind_addr = g_inet_socket_address_new (bind_iaddr, sink->bind_port); g_socket_bind (sink->used_socket, bind_addr, TRUE, &err); g_object_unref (bind_addr); g_object_unref (bind_iaddr); @@ -1061,7 +1067,7 @@ gst_multiudpsink_start (GstBaseSink * bsink) g_clear_error (&err); } else { bind_iaddr = g_inet_address_new_any (G_SOCKET_FAMILY_IPV6); - bind_addr = g_inet_socket_address_new (bind_iaddr, 0); + bind_addr = g_inet_socket_address_new (bind_iaddr, sink->bind_port); g_socket_bind (sink->used_socket_v6, bind_addr, TRUE, &err); g_object_unref (bind_addr); g_object_unref (bind_iaddr); diff --git a/gst/videomixer/videoconvert.c b/gst/videomixer/videoconvert.c index ae95d59bc1c9cf4058a25e04390af37fa04c823f..6331db76c354eb3eb3e16ae922f52d3c5a2b3842 100644 --- a/gst/videomixer/videoconvert.c +++ b/gst/videomixer/videoconvert.c @@ -386,12 +386,22 @@ videomixer_videoconvert_dither_halftone (VideoConvert * convert, } } +static void +alloc_tmplines (VideoConvert * convert, guint lines, gint width) +{ + gint i; + + convert->n_tmplines = lines; + convert->tmplines = g_malloc (lines * sizeof (gpointer)); + for (i = 0; i < lines; i++) + convert->tmplines[i] = g_malloc (sizeof (guint16) * (width + 8) * 4); +} + static gboolean videomixer_videoconvert_convert_compute_resample (VideoConvert * convert) { GstVideoInfo *in_info, *out_info; const GstVideoFormatInfo *sfinfo, *dfinfo; - gint lines, i; gint width; in_info = &convert->in_info; @@ -402,9 +412,23 @@ videomixer_videoconvert_convert_compute_resample (VideoConvert * convert) width = convert->width; - convert->upsample = gst_video_chroma_resample_new (0, - in_info->chroma_site, 0, sfinfo->unpack_format, sfinfo->w_sub[2], - sfinfo->h_sub[2]); + if (sfinfo->w_sub[2] != dfinfo->w_sub[2] || + sfinfo->h_sub[2] != dfinfo->h_sub[2] || + in_info->chroma_site != out_info->chroma_site) { + convert->upsample = gst_video_chroma_resample_new (0, + in_info->chroma_site, 0, sfinfo->unpack_format, sfinfo->w_sub[2], + sfinfo->h_sub[2]); + + + convert->downsample = gst_video_chroma_resample_new (0, + out_info->chroma_site, 0, dfinfo->unpack_format, -dfinfo->w_sub[2], + -dfinfo->h_sub[2]); + + } else { + convert->upsample = NULL; + convert->downsample = NULL; + } + if (convert->upsample) { gst_video_chroma_resample_get_info (convert->upsample, &convert->up_n_lines, &convert->up_offset); @@ -412,12 +436,6 @@ videomixer_videoconvert_convert_compute_resample (VideoConvert * convert) convert->up_n_lines = 1; convert->up_offset = 0; } - GST_DEBUG ("upsample: %p, offset %d, n_lines %d", convert->upsample, - convert->up_offset, convert->up_n_lines); - - convert->downsample = gst_video_chroma_resample_new (0, - out_info->chroma_site, 0, dfinfo->unpack_format, -dfinfo->w_sub[2], - -dfinfo->h_sub[2]); if (convert->downsample) { gst_video_chroma_resample_get_info (convert->downsample, &convert->down_n_lines, &convert->down_offset); @@ -425,16 +443,13 @@ videomixer_videoconvert_convert_compute_resample (VideoConvert * convert) convert->down_n_lines = 1; convert->down_offset = 0; } + GST_DEBUG ("upsample: %p, site: %d, offset %d, n_lines %d", convert->upsample, + in_info->chroma_site, convert->up_offset, convert->up_n_lines); + GST_DEBUG ("downsample: %p, site: %d, offset %d, n_lines %d", + convert->downsample, out_info->chroma_site, convert->down_offset, + convert->down_n_lines); - GST_DEBUG ("downsample: %p, offset %d, n_lines %d", convert->downsample, - convert->down_offset, convert->down_n_lines); - - lines = MAX (convert->down_n_lines, convert->up_n_lines); - - convert->n_tmplines = lines; - convert->tmplines = g_malloc (lines * sizeof (gpointer)); - for (i = 0; i < lines; i++) - convert->tmplines[i] = g_malloc (sizeof (guint16) * (width + 8) * 4); + alloc_tmplines (convert, convert->down_n_lines + convert->up_n_lines, width); return TRUE; } @@ -506,7 +521,7 @@ videomixer_videoconvert_convert_generic (VideoConvert * convert, up_offset = convert->up_offset; down_n_lines = convert->down_n_lines; down_offset = convert->down_offset; - max_lines = MAX (down_n_lines, up_n_lines); + max_lines = convert->n_tmplines; in_lines = 0; out_lines = 0; @@ -522,14 +537,14 @@ videomixer_videoconvert_convert_generic (VideoConvert * convert, idx = CLAMP (start_offset, 0, height); in_tmplines[in_lines] = convert->tmplines[idx % max_lines]; out_tmplines[out_lines] = in_tmplines[in_lines]; - GST_DEBUG ("start_offset %d, %d, idx %u, in %d, out %d", start_offset, - up_offset, idx, in_lines, out_lines); + GST_DEBUG ("start_offset %d/%d, %d, idx %u, in %d, out %d", start_offset, + stop_offset, up_offset, idx, in_lines, out_lines); up_line = up_offset + in_lines; /* extract the next line */ if (up_line >= 0 && up_line < height) { - GST_DEBUG ("unpack line %d", up_line); + GST_DEBUG ("unpack line %d into %d", up_line, in_lines); UNPACK_FRAME (src, in_tmplines[in_lines], up_line, width); } @@ -581,10 +596,11 @@ videomixer_videoconvert_convert_generic (VideoConvert * convert, start = 0; while (out_lines >= down_n_lines) { - GST_DEBUG ("doing downsample %u", start); - if (convert->downsample) + if (convert->downsample) { + GST_DEBUG ("doing downsample %u", start); gst_video_chroma_resample (convert->downsample, &out_tmplines[start], width); + } for (j = 0; j < down_n_lines; j += lines) { idx = down_offset + j; @@ -599,6 +615,12 @@ videomixer_videoconvert_convert_generic (VideoConvert * convert, start += down_n_lines; out_lines -= down_n_lines; } + /* we didn't process these lines, move them up for the next round */ + for (j = 0; j < out_lines; j++) { + GST_DEBUG ("move line %d->%d", j + start, j); + out_tmplines[j] = out_tmplines[j + start]; + } + up_offset += up_n_lines; } if ((pal = @@ -782,17 +804,13 @@ static void convert_YUY2_I420 (VideoConvert * convert, GstVideoFrame * dest, const GstVideoFrame * src) { - int i, h; + int i; gint width = convert->width; gint height = convert->height; gboolean interlaced = GST_VIDEO_FRAME_IS_INTERLACED (src); gint l1, l2; - h = height; - if (width & 1) - h--; - - for (i = 0; i < h; i += 2) { + for (i = 0; i < GST_ROUND_DOWN_2 (height); i += 2) { GET_LINE_OFFSETS (interlaced, i, l1, l2); videomixer_video_convert_orc_convert_YUY2_I420 (FRAME_GET_Y_LINE (dest, l1), @@ -818,14 +836,7 @@ convert_YUY2_AYUV (VideoConvert * convert, GstVideoFrame * dest, videomixer_video_convert_orc_convert_YUY2_AYUV (FRAME_GET_LINE (dest, 0), FRAME_GET_STRIDE (dest), FRAME_GET_LINE (src, 0), - FRAME_GET_STRIDE (src), (width + 1) / 2, - height & 1 ? height - 1 : height); - - /* now handle last line */ - if (height & 1) { - UNPACK_FRAME (src, convert->tmplines[0], height - 1, width); - PACK_FRAME (dest, convert->tmplines[0], height - 1, width); - } + FRAME_GET_STRIDE (src), (width + 1) / 2, height); } static void @@ -893,14 +904,7 @@ convert_UYVY_AYUV (VideoConvert * convert, GstVideoFrame * dest, videomixer_video_convert_orc_convert_UYVY_AYUV (FRAME_GET_LINE (dest, 0), FRAME_GET_STRIDE (dest), FRAME_GET_LINE (src, 0), - FRAME_GET_STRIDE (src), (width + 1) / 2, - height & 1 ? height - 1 : height); - - /* now handle last line */ - if (height & 1) { - UNPACK_FRAME (src, convert->tmplines[0], height - 1, width); - PACK_FRAME (dest, convert->tmplines[0], height - 1, width); - } + FRAME_GET_STRIDE (src), (width + 1) / 2, height); } static void @@ -950,6 +954,7 @@ convert_AYUV_I420 (VideoConvert * convert, GstVideoFrame * dest, gint width = convert->width; gint height = convert->height; + /* only for even width/height */ videomixer_video_convert_orc_convert_AYUV_I420 (FRAME_GET_Y_LINE (dest, 0), 2 * FRAME_GET_Y_STRIDE (dest), FRAME_GET_Y_LINE (dest, 1), 2 * FRAME_GET_Y_STRIDE (dest), FRAME_GET_U_LINE (dest, 0), @@ -966,6 +971,7 @@ convert_AYUV_YUY2 (VideoConvert * convert, GstVideoFrame * dest, gint width = convert->width; gint height = convert->height; + /* only for even width */ videomixer_video_convert_orc_convert_AYUV_YUY2 (FRAME_GET_LINE (dest, 0), FRAME_GET_STRIDE (dest), FRAME_GET_LINE (src, 0), FRAME_GET_STRIDE (src), width / 2, height); @@ -978,6 +984,7 @@ convert_AYUV_UYVY (VideoConvert * convert, GstVideoFrame * dest, gint width = convert->width; gint height = convert->height; + /* only for even width */ videomixer_video_convert_orc_convert_AYUV_UYVY (FRAME_GET_LINE (dest, 0), FRAME_GET_STRIDE (dest), FRAME_GET_LINE (src, 0), FRAME_GET_STRIDE (src), width / 2, height); @@ -990,18 +997,12 @@ convert_AYUV_Y42B (VideoConvert * convert, GstVideoFrame * dest, gint width = convert->width; gint height = convert->height; + /* only works for even width */ videomixer_video_convert_orc_convert_AYUV_Y42B (FRAME_GET_Y_LINE (dest, 0), FRAME_GET_Y_STRIDE (dest), FRAME_GET_U_LINE (dest, 0), FRAME_GET_U_STRIDE (dest), FRAME_GET_V_LINE (dest, 0), FRAME_GET_V_STRIDE (dest), FRAME_GET_LINE (src, 0), - FRAME_GET_STRIDE (src), (width + 1) / 2, - height & 1 ? height - 1 : height); - - /* now handle last line */ - if (height & 1) { - UNPACK_FRAME (src, convert->tmplines[0], height - 1, width); - PACK_FRAME (dest, convert->tmplines[0], height - 1, width); - } + FRAME_GET_STRIDE (src), width / 2, height); } static void @@ -1101,11 +1102,12 @@ convert_Y42B_AYUV (VideoConvert * convert, GstVideoFrame * dest, gint width = convert->width; gint height = convert->height; + /* only for even width */ videomixer_video_convert_orc_convert_Y42B_AYUV (FRAME_GET_LINE (dest, 0), FRAME_GET_STRIDE (dest), FRAME_GET_Y_LINE (src, 0), FRAME_GET_Y_STRIDE (src), FRAME_GET_U_LINE (src, 0), FRAME_GET_U_STRIDE (src), FRAME_GET_V_LINE (src, 0), - FRAME_GET_V_STRIDE (src), (width) / 2, height); + FRAME_GET_V_STRIDE (src), width / 2, height); } static void @@ -1122,12 +1124,12 @@ convert_Y444_I420 (VideoConvert * convert, GstVideoFrame * dest, videomixer_video_convert_orc_planar_chroma_444_420 (FRAME_GET_U_LINE (dest, 0), FRAME_GET_U_STRIDE (dest), FRAME_GET_U_LINE (src, 0), 2 * FRAME_GET_U_STRIDE (src), FRAME_GET_U_LINE (src, 1), - 2 * FRAME_GET_U_STRIDE (src), (width + 1) / 2, height / 2); + 2 * FRAME_GET_U_STRIDE (src), width / 2, height / 2); videomixer_video_convert_orc_planar_chroma_444_420 (FRAME_GET_V_LINE (dest, 0), FRAME_GET_V_STRIDE (dest), FRAME_GET_V_LINE (src, 0), 2 * FRAME_GET_V_STRIDE (src), FRAME_GET_V_LINE (src, 1), - 2 * FRAME_GET_V_STRIDE (src), (width + 1) / 2, height / 2); + 2 * FRAME_GET_V_STRIDE (src), width / 2, height / 2); /* now handle last line */ if (height & 1) { @@ -1149,11 +1151,11 @@ convert_Y444_Y42B (VideoConvert * convert, GstVideoFrame * dest, videomixer_video_convert_orc_planar_chroma_444_422 (FRAME_GET_U_LINE (dest, 0), FRAME_GET_U_STRIDE (dest), FRAME_GET_U_LINE (src, 0), - FRAME_GET_U_STRIDE (src), (width + 1) / 2, height); + FRAME_GET_U_STRIDE (src), width / 2, height); videomixer_video_convert_orc_planar_chroma_444_422 (FRAME_GET_V_LINE (dest, 0), FRAME_GET_V_STRIDE (dest), FRAME_GET_V_LINE (src, 0), - FRAME_GET_V_STRIDE (src), (width + 1) / 2, height); + FRAME_GET_V_STRIDE (src), width / 2, height); } static void @@ -1167,7 +1169,7 @@ convert_Y444_YUY2 (VideoConvert * convert, GstVideoFrame * dest, FRAME_GET_STRIDE (dest), FRAME_GET_Y_LINE (src, 0), FRAME_GET_Y_STRIDE (src), FRAME_GET_U_LINE (src, 0), FRAME_GET_U_STRIDE (src), FRAME_GET_V_LINE (src, 0), - FRAME_GET_V_STRIDE (src), (width + 1) / 2, height); + FRAME_GET_V_STRIDE (src), width / 2, height); } static void @@ -1181,7 +1183,7 @@ convert_Y444_UYVY (VideoConvert * convert, GstVideoFrame * dest, FRAME_GET_STRIDE (dest), FRAME_GET_Y_LINE (src, 0), FRAME_GET_Y_STRIDE (src), FRAME_GET_U_LINE (src, 0), FRAME_GET_U_STRIDE (src), FRAME_GET_V_LINE (src, 0), - FRAME_GET_V_STRIDE (src), (width + 1) / 2, height); + FRAME_GET_V_STRIDE (src), width / 2, height); } static void @@ -1293,97 +1295,125 @@ typedef struct GstVideoColorMatrix out_matrix; gboolean keeps_color_matrix; gboolean keeps_interlaced; + gint width_align, height_align; void (*convert) (VideoConvert * convert, GstVideoFrame * dest, const GstVideoFrame * src); } VideoTransform; static const VideoTransform transforms[] = { {GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YUY2, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_I420_YUY2}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_I420_YUY2}, {GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_UYVY, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_I420_UYVY}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_I420_UYVY}, {GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_AYUV, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_I420_AYUV}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_I420_AYUV}, {GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y42B, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, convert_I420_Y42B}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 0, 0, convert_I420_Y42B}, {GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y444, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, convert_I420_Y444}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 0, 0, convert_I420_Y444}, + + {GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YUY2, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_I420_YUY2}, + {GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_UYVY, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_I420_UYVY}, + {GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_AYUV, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_I420_AYUV}, + {GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y42B, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 0, 0, convert_I420_Y42B}, + {GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y444, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 0, 0, convert_I420_Y444}, {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_I420, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_YUY2_I420}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_YUY2_I420}, + {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YV12, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_YUY2_I420}, {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_UYVY, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_UYVY_YUY2}, /* alias */ + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_YUY2}, /* alias */ {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_AYUV, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_YUY2_AYUV}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_YUY2_AYUV}, {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y42B, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_YUY2_Y42B}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_YUY2_Y42B}, {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y444, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_YUY2_Y444}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_YUY2_Y444}, {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_I420, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_UYVY_I420}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_I420}, + {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YV12, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_I420}, {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YUY2, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_UYVY_YUY2}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_YUY2}, {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_AYUV, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_UYVY_AYUV}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_AYUV}, {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y42B, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_UYVY_Y42B}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_Y42B}, {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y444, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_UYVY_Y444}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_Y444}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_I420, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, convert_AYUV_I420}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 1, 1, convert_AYUV_I420}, + {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YV12, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 1, 1, convert_AYUV_I420}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YUY2, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_AYUV_YUY2}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_AYUV_YUY2}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_UYVY, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_AYUV_UYVY}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_AYUV_UYVY}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y42B, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_AYUV_Y42B}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_AYUV_Y42B}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y444, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_AYUV_Y444}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_AYUV_Y444}, {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_I420, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, convert_Y42B_I420}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 0, 0, convert_Y42B_I420}, + {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YV12, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 0, 0, convert_Y42B_I420}, {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YUY2, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_Y42B_YUY2}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_Y42B_YUY2}, {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_UYVY, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_Y42B_UYVY}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_Y42B_UYVY}, {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_AYUV, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_Y42B_AYUV}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_Y42B_AYUV}, {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y444, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_Y42B_Y444}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_Y42B_Y444}, {GST_VIDEO_FORMAT_Y444, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_I420, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, convert_Y444_I420}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 1, 0, convert_Y444_I420}, + {GST_VIDEO_FORMAT_Y444, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YV12, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 1, 0, convert_Y444_I420}, {GST_VIDEO_FORMAT_Y444, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YUY2, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_Y444_YUY2}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_Y444_YUY2}, {GST_VIDEO_FORMAT_Y444, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_UYVY, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_Y444_UYVY}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_Y444_UYVY}, {GST_VIDEO_FORMAT_Y444, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_AYUV, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_Y444_AYUV}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_Y444_AYUV}, {GST_VIDEO_FORMAT_Y444, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y42B, - GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, convert_Y444_Y42B}, + GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_Y444_Y42B}, #if G_BYTE_ORDER == G_LITTLE_ENDIAN {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_ARGB, - GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, convert_AYUV_ARGB}, + GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_ARGB}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_BGRA, - GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, convert_AYUV_BGRA}, + GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_BGRA}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_xRGB, - GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, convert_AYUV_ARGB}, /* alias */ + GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_ARGB}, /* alias */ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_BGRx, - GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, convert_AYUV_BGRA}, /* alias */ + GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_BGRA}, /* alias */ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_ABGR, - GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, convert_AYUV_ABGR}, + GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_ABGR}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_RGBA, - GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, convert_AYUV_RGBA}, + GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_RGBA}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_xBGR, - GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, convert_AYUV_ABGR}, /* alias */ + GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_ABGR}, /* alias */ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_RGBx, - GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, convert_AYUV_RGBA}, /* alias */ + GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_RGBA}, /* alias */ {GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_BGRA, - GST_VIDEO_COLOR_MATRIX_RGB, FALSE, FALSE, convert_I420_BGRA}, + GST_VIDEO_COLOR_MATRIX_RGB, FALSE, FALSE, 0, 0, convert_I420_BGRA}, + {GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_BGRx, + GST_VIDEO_COLOR_MATRIX_RGB, FALSE, FALSE, 0, 0, convert_I420_BGRA}, + {GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_BGRA, + GST_VIDEO_COLOR_MATRIX_RGB, FALSE, FALSE, 0, 0, convert_I420_BGRA}, + {GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_BGRx, + GST_VIDEO_COLOR_MATRIX_RGB, FALSE, FALSE, 0, 0, convert_I420_BGRA}, #endif }; @@ -1394,10 +1424,14 @@ videomixer_videoconvert_convert_lookup_fastpath (VideoConvert * convert) GstVideoFormat in_format, out_format; GstVideoColorMatrix in_matrix, out_matrix; gboolean interlaced; + gint width, height; in_format = GST_VIDEO_INFO_FORMAT (&convert->in_info); out_format = GST_VIDEO_INFO_FORMAT (&convert->out_info); + width = GST_VIDEO_INFO_WIDTH (&convert->in_info); + height = GST_VIDEO_INFO_HEIGHT (&convert->in_info); + in_matrix = convert->in_info.colorimetry.matrix; out_matrix = convert->out_info.colorimetry.matrix; @@ -1410,9 +1444,12 @@ videomixer_videoconvert_convert_lookup_fastpath (VideoConvert * convert) (transforms[i].keeps_color_matrix || (transforms[i].in_matrix == in_matrix && transforms[i].out_matrix == out_matrix)) && - (transforms[i].keeps_interlaced || !interlaced)) { + (transforms[i].keeps_interlaced || !interlaced) && + (transforms[i].width_align & width) == 0 && + (transforms[i].height_align & height) == 0) { GST_DEBUG ("using fastpath"); convert->convert = transforms[i].convert; + alloc_tmplines (convert, 1, GST_VIDEO_INFO_WIDTH (&convert->in_info)); return TRUE; } } diff --git a/gst/videomixer/videomixer2.c b/gst/videomixer/videomixer2.c index c12f036813c82c6f02c5de18e2ec83181f462362..fbcab60254e0fa2c1a6a9552e0733455a222d6c6 100644 --- a/gst/videomixer/videomixer2.c +++ b/gst/videomixer/videomixer2.c @@ -1192,6 +1192,9 @@ gst_videomixer2_collected (GstCollectPads * pads, GstVideoMixer2 * mix) mix->send_stream_start = FALSE; } + if (gst_pad_check_reconfigure (mix->srcpad)) + gst_videomixer2_update_src_caps (mix); + if (mix->send_caps) { if (!gst_pad_push_event (mix->srcpad, gst_event_new_caps (mix->current_caps))) { diff --git a/gst/wavenc/gstwavenc.c b/gst/wavenc/gstwavenc.c index 6d64f1e44289267707ea14eca6a482ba107ca689..fa82cf969e75424837e2504b98596f1c87a30864 100644 --- a/gst/wavenc/gstwavenc.c +++ b/gst/wavenc/gstwavenc.c @@ -131,16 +131,10 @@ typedef struct "; " \ "audio/x-alaw, " \ "rate = (int) [ 8000, 192000 ], " \ - "channels = (int) [ 1, 2 ], " \ - "width = (int) 8, " \ - "depth = (int) 8, " \ - "signed = (boolean) false; " \ + "channels = (int) [ 1, 2 ]; " \ "audio/x-mulaw, " \ "rate = (int) [ 8000, 192000 ], " \ - "channels = (int) [ 1, 2 ], " \ - "width = (int) 8, " \ - "depth = (int) 8, " \ - "signed = (boolean) false" + "channels = (int) [ 1, 2 ]" static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink", @@ -860,8 +854,7 @@ gst_wavenc_chain (GstPad * pad, GstObject * parent, GstBuffer * buf) /* starting a file, means we have to finish it properly */ wavenc->finished_properly = FALSE; - /* use bogus size initially, we'll write the real - * header when we get EOS and know the exact length */ + /* push initial bogus header, it will be updated on EOS */ flow = gst_wavenc_push_header (wavenc); if (flow != GST_FLOW_OK) { GST_WARNING_OBJECT (wavenc, "error pushing header: %s", @@ -869,6 +862,7 @@ gst_wavenc_chain (GstPad * pad, GstObject * parent, GstBuffer * buf) return flow; } GST_DEBUG_OBJECT (wavenc, "wrote dummy header"); + wavenc->audio_length = 0; wavenc->sent_header = TRUE; } @@ -900,7 +894,9 @@ gst_wavenc_change_state (GstElement * element, GstStateChange transition) wavenc->channels = 0; wavenc->width = 0; wavenc->rate = 0; - wavenc->audio_length = 0; + /* use bogus size initially, we'll write the real + * header when we get EOS and know the exact length */ + wavenc->audio_length = 0x7FFF0000; wavenc->meta_length = 0; wavenc->sent_header = FALSE; /* its true because we haven't writen anything */ diff --git a/install-sh b/install-sh index a9244eb0786534553fdd9eb0050bb4b172bad0a3..377bb8687ffe16bfc79ea25c8667cabf72aaf2c2 100755 --- a/install-sh +++ b/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2011-01-19.21; # UTC +scriptversion=2011-11-20.07; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -35,7 +35,7 @@ scriptversion=2011-01-19.21; # UTC # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it +# 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written @@ -156,7 +156,7 @@ while test $# -ne 0; do -s) stripcmd=$stripprog;; -t) dst_arg=$2 - # Protect names problematic for `test' and other utilities. + # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac @@ -190,7 +190,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then fi shift # arg dst_arg=$arg - # Protect names problematic for `test' and other utilities. + # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac @@ -202,7 +202,7 @@ if test $# -eq 0; then echo "$0: no input file specified." >&2 exit 1 fi - # It's OK to call `install-sh -d' without argument. + # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi @@ -240,7 +240,7 @@ fi for src do - # Protect names problematic for `test' and other utilities. + # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac @@ -354,7 +354,7 @@ do if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. + # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in diff --git a/missing b/missing index 86a8fc31e3c2aa268688a5be47d161c586772e78..cdea514931f558be2bcc47ef2d52e14ab395520b 100755 --- a/missing +++ b/missing @@ -1,11 +1,10 @@ #! /bin/sh -# Common stub for a few missing GNU programs while installing. +# Common wrapper for a few potentially missing GNU programs. -scriptversion=2012-01-06.13; # UTC +scriptversion=2012-06-26.16; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,68 +25,40 @@ scriptversion=2012-01-06.13; # UTC # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "Try '$0 --help' for more information" exit 1 fi -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi +case $1 in -msg="missing on your system" + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - yacc create \`y.tab.[ch]', if possible, from existing .[ch] + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. Send bug reports to <bug-automake@gnu.org>." exit $? @@ -99,228 +70,141 @@ Send bug reports to <bug-automake@gnu.org>." ;; -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te*) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison*|yacc*) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; +# Run the given program, remember its exit status. +"$@"; st=$? + +# If it succeeded, we are done. +test $st -eq 0 && exit 0 + +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'automa4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" ;; -esac - -exit 0 + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff --git a/po/af.gmo b/po/af.gmo index 9adac3ec81167e744f5708fa029912cf7a903547..82441caf348f60262f0346f67667b00f4741c45c 100644 Binary files a/po/af.gmo and b/po/af.gmo differ diff --git a/po/af.po b/po/af.po index 95b182e29d7f625469e0531e3fed4c62b1417a05..233669d04bd595ef4f93f14893b1b95df73c5b81 100644 --- a/po/af.po +++ b/po/af.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins 0.7.6\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2004-03-18 14:16+0200\n" "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n" "Language-Team: Afrikaans <i18n@af.org.za>\n" diff --git a/po/az.gmo b/po/az.gmo index d472c3f50b45f2dd0676b39bfa42ea2f454c32f7..90e49d03c3b807879f0adbae7b101f5a91b55158 100644 Binary files a/po/az.gmo and b/po/az.gmo differ diff --git a/po/az.po b/po/az.po index e02c89e96e812fadd8b37c1851babed3ab1f2aa6..0ee767ffa64e73535624464e1cb3b1358c0085e8 100644 --- a/po/az.po +++ b/po/az.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-0.8.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2004-03-19 18:29+0200\n" "Last-Translator: Metin Amiroff <metin@karegen.com>\n" "Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n" diff --git a/po/bg.gmo b/po/bg.gmo index d4675316e75011632585be1d5e0fc57c8ee37643..c33e941c7cabb90c456c143839ce2f159b8302d0 100644 Binary files a/po/bg.gmo and b/po/bg.gmo differ diff --git a/po/bg.po b/po/bg.po index be29dfe753694bf6739f094cc1e7cc34f9e237bc..4c7d36189b66825f5ad0b44c2ca2a50e40dcdc27 100644 --- a/po/bg.po +++ b/po/bg.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.28.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2011-04-26 22:35+0300\n" "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n" "Language-Team: Bulgarian <dict@fsa-bg.org>\n" diff --git a/po/ca.gmo b/po/ca.gmo index 4aca6195f02c7f534a85af848b6600ef9e96660f..fe1319777095ea4add44d8da61285bf4bcf8772c 100644 Binary files a/po/ca.gmo and b/po/ca.gmo differ diff --git a/po/ca.po b/po/ca.po index cdc334299571ef5d95c8017bcdfb56e088d5a58a..0d8b339ea3bbae76c23da4ec0551b24421f9befb 100644 --- a/po/ca.po +++ b/po/ca.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.28.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2012-01-01 14:19+0100\n" "Last-Translator: Gil Forcada <gforcada@gnome.org>\n" "Language-Team: Catalan <ca@dodds.net>\n" diff --git a/po/cs.gmo b/po/cs.gmo index 00059d97c6162b0f40123a85b45b4826fcffb4b9..a477be98c6fb401589f960e0a70b9aa5de01d201 100644 Binary files a/po/cs.gmo and b/po/cs.gmo differ diff --git a/po/cs.po b/po/cs.po index c00886464b7eeb88ea2b955a24121a4bca30171f..bf53e31dc95fffcaa95c0f59c874796db9390f65 100644 --- a/po/cs.po +++ b/po/cs.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-1.1.4\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2013-09-18 19:18+0200\n" "Last-Translator: Marek ÄŒernocký <marek@manet.cz>\n" "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n" diff --git a/po/da.gmo b/po/da.gmo index 96c7fec96eb9fe679fdfbc257b7b2571d89adc5a..2d1c87ee84fb545f9516a2c56de66738bc80545b 100644 Binary files a/po/da.gmo and b/po/da.gmo differ diff --git a/po/da.po b/po/da.po index ae498a2f8fb9a9bea239f1635b22960ebeda9cd9..691cc66e9524f793a57a00db98354ad1fb4a1ab3 100644 --- a/po/da.po +++ b/po/da.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-1.0.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2012-12-13 23:54+0200\n" "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n" "Language-Team: Danish <dansk@dansk-gruppen.dk>\n" diff --git a/po/de.gmo b/po/de.gmo index ee524b3d9a83851d6253210092dad8b9bac2821f..71a2f17c0dd66f3ddf6ef9b2013acbd491aa4ccf 100644 Binary files a/po/de.gmo and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index 417ab66ff1d6674aa76013fc41da4ec77e9aa3cd..794abf3bf4a41881767a6e4007b873ddd694a62a 100644 --- a/po/de.po +++ b/po/de.po @@ -1,4 +1,4 @@ -# German translations for gst-plugins-good 1.0.3 +# German translations for gst-plugins-good 1.1.4 # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the gst-plugins-good package. # @@ -7,27 +7,26 @@ # Line-out = Line-Ausgang # Pipeline = Weiterleitung # Stream = Strom -# mixer = -# Christian Kirbach <christian.kirbach@gmail.com>, 2010, 2011, 2012. +# mixer = Mischer +# Christian Kirbach <christian.kirbach@gmail.com>, 2010, 2011, 2012, 2013. # msgid "" msgstr "" -"Project-Id-Version: gst-plugins-good 1.0.3\n" +"Project-Id-Version: gst-plugins-good 1.1.4\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" -"PO-Revision-Date: 2012-11-28 19:56+0100\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" +"PO-Revision-Date: 2013-09-21 12:39+0100\n" "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n" "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: German\n" -"X-Poedit-Country: GERMANY\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.5.4\n" msgid "Jack server not found" -msgstr "" +msgstr "Jack-Server nicht gefunden" msgid "Failed to decode JPEG image" msgstr "Dekodieren des JPEG-Bildes schlug fehl" @@ -78,6 +77,8 @@ msgstr "Diese Datei ist ungültig und kann nicht wiedergegeben werden." msgid "Cannot play stream because it is encrypted with PlayReady DRM." msgstr "" +"Der Strom kann nicht wiedergegeben werden, weil er mit PlayReady DRM " +"verschlüsselt ist." msgid "This file is corrupt and cannot be played." msgstr "Diese Datei ist beschädigt und kann nicht wiedergegeben werden." @@ -183,13 +184,11 @@ msgstr "AUX-Eingang 1" msgid "AUX 2 In" msgstr "AUX-Eingang 2" -#, fuzzy msgid "Codec Loopback" -msgstr "Schleife" +msgstr "Codec-Rückschleife" -#, fuzzy msgid "SunVTS Loopback" -msgstr "Schleife" +msgstr "SunVTS-Rückschleife" msgid "Volume" msgstr "Lautstärke" diff --git a/po/el.gmo b/po/el.gmo index 062353909933b0c242f12a53e2b8df18824ae529..ed77b0255953e8ee3f8245e133db24ff2903cf78 100644 Binary files a/po/el.gmo and b/po/el.gmo differ diff --git a/po/el.po b/po/el.po index 07f81eec933bb2897dcc7841a8e37c383e53e490..1d79f2b2a2095e73fcdecd80c7b3ffe82d0244d5 100644 --- a/po/el.po +++ b/po/el.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.28.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2012-05-05 19:05+0100\n" "Last-Translator: Savvas Radevic <vicedar@gmail.com>\n" "Language-Team: Greek <team@lists.gnome.gr>\n" diff --git a/po/en_GB.gmo b/po/en_GB.gmo index b339ba6b6d4e959d63c1cccf2a1ceaa30c97877a..5f075cb65bf6dfaf4f11e04b78d1df9cb12c3356 100644 Binary files a/po/en_GB.gmo and b/po/en_GB.gmo differ diff --git a/po/en_GB.po b/po/en_GB.po index fe25abdcd717ecb8abcefa95909e258f2c50946f..c90fce647f4be969fbb80399f9c8ce2efbf9b154 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins 0.8.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2004-04-26 10:41-0400\n" "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n" "Language-Team: English (British) <en_gb@li.org>\n" diff --git a/po/eo.gmo b/po/eo.gmo index febd872d7b3ef1724c424ab9abab26f90cb31d96..9383dee5ee7521eafd20b1b50cfaf167db725359 100644 Binary files a/po/eo.gmo and b/po/eo.gmo differ diff --git a/po/eo.po b/po/eo.po index 7984875b75c0fd7485a7da70acb29cb08f5e4bf8..538e5f501a777e43c253044957b142716b7d5925 100644 --- a/po/eo.po +++ b/po/eo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.28.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2011-06-04 21:48+0100\n" "Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n" "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n" diff --git a/po/es.gmo b/po/es.gmo index bf3653778573f83818dd0a89ad32fb83fa6eb18d..c59456bf412e822e82df6b2b7a278781a8e93d9f 100644 Binary files a/po/es.gmo and b/po/es.gmo differ diff --git a/po/es.po b/po/es.po index 48254a0fd2dd5c141febc9327619430aee975fd1..264adbe3d5038b3db518fb78a65cccfa0e18414d 100644 --- a/po/es.po +++ b/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.26.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2011-02-12 18:30+0100\n" "Last-Translator: Jorge González González <aloriel@gmail.com>\n" "Language-Team: Spanish <es@li.org>\n" diff --git a/po/eu.gmo b/po/eu.gmo index 6b51ab616eafc24d79db214f349ba69cd9c74857..e0726a23d4cb8250b9c4f2bffa6c2eb6ab75b908 100644 Binary files a/po/eu.gmo and b/po/eu.gmo differ diff --git a/po/eu.po b/po/eu.po index bbc497d719cf5ebac3ef8aa9bcb7611763f7aa34..578cc3b07503cfd7185941c894bd8aafa69683f7 100644 --- a/po/eu.po +++ b/po/eu.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.18.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2010-03-25 12:37+0100\n" "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n" "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n" diff --git a/po/fi.gmo b/po/fi.gmo index 53cb8c2d923d058211d5ebfefbfaf79be37c3759..bfe016843d096edea31d6bd0f6f56a64f1b7c5a2 100644 Binary files a/po/fi.gmo and b/po/fi.gmo differ diff --git a/po/fi.po b/po/fi.po index 4c978ad1aba6963533b902bda751bde88787ad67..69dacf3e4cc4de47b02dad5cffeb351fd6733b0c 100644 --- a/po/fi.po +++ b/po/fi.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.25.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2010-11-17 23:03+0200\n" "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n" "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n" diff --git a/po/fr.gmo b/po/fr.gmo index e73720d9e2c7f442425f23907d07c20805452f3d..2a27c3c2b2b4be573cd83a5a6074be9a1ce8e06b 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index e395eb565effc3b05a6ed8235b0ba1dbe4b5b2fd..4a636df8e17b9bad8bfc9ffb115f17d38eb48ad2 100644 --- a/po/fr.po +++ b/po/fr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.28.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2011-04-28 09:22+0200\n" "Last-Translator: Claude Paroz <claude@2xlibre.net>\n" "Language-Team: French <traduc@traduc.org>\n" diff --git a/po/gl.gmo b/po/gl.gmo index b2398da2afac6fd425e23a22ab4911a0231c222a..1dbeb42331cba121703984e6c2f083886744fd90 100644 Binary files a/po/gl.gmo and b/po/gl.gmo differ diff --git a/po/gl.po b/po/gl.po index d0afa3199620e04353b221094a8eb9d93f948ca0..8d3139fbd3cd179337344f3aa963fa1b83091970 100644 --- a/po/gl.po +++ b/po/gl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.0.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2012-12-15 03:46+0200\n" "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n" "Language-Team: Galician <proxecto@trasno.net>\n" diff --git a/po/gst-plugins-good-1.0.pot b/po/gst-plugins-good-1.0.pot index e31c027380b850e63b8b38949b88d101b04c1e72..67c97860faf7f46c233b44f2d7d6bbf93a4834a0 100644 --- a/po/gst-plugins-good-1.0.pot +++ b/po/gst-plugins-good-1.0.pot @@ -5,9 +5,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gst-plugins-good 1.2.0\n" +"Project-Id-Version: gst-plugins-good 1.2.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -20,10 +20,10 @@ msgstr "" msgid "Jack server not found" msgstr "" -#: ext/jpeg/gstjpegdec.c:924 ext/jpeg/gstjpegdec.c:1172 -#: ext/jpeg/gstjpegdec.c:1184 ext/jpeg/gstjpegdec.c:1213 -#: ext/jpeg/gstjpegdec.c:1222 ext/jpeg/gstjpegdec.c:1231 -#: ext/jpeg/gstjpegdec.c:1239 +#: ext/jpeg/gstjpegdec.c:921 ext/jpeg/gstjpegdec.c:1169 +#: ext/jpeg/gstjpegdec.c:1181 ext/jpeg/gstjpegdec.c:1210 +#: ext/jpeg/gstjpegdec.c:1219 ext/jpeg/gstjpegdec.c:1228 +#: ext/jpeg/gstjpegdec.c:1236 msgid "Failed to decode JPEG image" msgstr "" @@ -37,32 +37,32 @@ msgstr "" msgid "Could not connect to server" msgstr "" -#: ext/soup/gstsouphttpsrc.c:658 +#: ext/soup/gstsouphttpsrc.c:659 msgid "No URL set." msgstr "" -#: ext/soup/gstsouphttpsrc.c:886 +#: ext/soup/gstsouphttpsrc.c:887 msgid "Server does not support seeking." msgstr "" -#: ext/soup/gstsouphttpsrc.c:1134 +#: ext/soup/gstsouphttpsrc.c:1142 msgid "Could not resolve server name." msgstr "" -#: ext/soup/gstsouphttpsrc.c:1140 +#: ext/soup/gstsouphttpsrc.c:1148 msgid "Could not establish connection to server." msgstr "" -#: ext/soup/gstsouphttpsrc.c:1145 +#: ext/soup/gstsouphttpsrc.c:1153 msgid "Secure connection setup failed." msgstr "" -#: ext/soup/gstsouphttpsrc.c:1150 +#: ext/soup/gstsouphttpsrc.c:1158 msgid "" "A network error occured, or the server closed the connection unexpectedly." msgstr "" -#: ext/soup/gstsouphttpsrc.c:1156 +#: ext/soup/gstsouphttpsrc.c:1164 msgid "Server sent bad data." msgstr "" @@ -74,51 +74,51 @@ msgstr "" msgid "No or invalid input audio, AVI stream will be corrupt." msgstr "" -#: gst/isomp4/qtdemux.c:565 gst/isomp4/qtdemux.c:569 +#: gst/isomp4/qtdemux.c:567 gst/isomp4/qtdemux.c:571 msgid "This file contains no playable streams." msgstr "" -#: gst/isomp4/qtdemux.c:615 gst/isomp4/qtdemux.c:4596 -#: gst/isomp4/qtdemux.c:4662 gst/isomp4/qtdemux.c:4847 +#: gst/isomp4/qtdemux.c:617 gst/isomp4/qtdemux.c:4603 +#: gst/isomp4/qtdemux.c:4670 gst/isomp4/qtdemux.c:4872 msgid "This file is invalid and cannot be played." msgstr "" -#: gst/isomp4/qtdemux.c:2276 +#: gst/isomp4/qtdemux.c:2282 msgid "Cannot play stream because it is encrypted with PlayReady DRM." msgstr "" -#: gst/isomp4/qtdemux.c:2841 gst/isomp4/qtdemux.c:2917 -#: gst/isomp4/qtdemux.c:2960 gst/isomp4/qtdemux.c:5513 -#: gst/isomp4/qtdemux.c:5520 gst/isomp4/qtdemux.c:6162 -#: gst/isomp4/qtdemux.c:6598 gst/isomp4/qtdemux.c:6605 -#: gst/isomp4/qtdemux.c:8409 +#: gst/isomp4/qtdemux.c:2847 gst/isomp4/qtdemux.c:2923 +#: gst/isomp4/qtdemux.c:2966 gst/isomp4/qtdemux.c:5548 +#: gst/isomp4/qtdemux.c:5555 gst/isomp4/qtdemux.c:6197 +#: gst/isomp4/qtdemux.c:6633 gst/isomp4/qtdemux.c:6640 +#: gst/isomp4/qtdemux.c:8444 msgid "This file is corrupt and cannot be played." msgstr "" -#: gst/isomp4/qtdemux.c:3051 +#: gst/isomp4/qtdemux.c:3057 msgid "Invalid atom size." msgstr "" -#: gst/isomp4/qtdemux.c:3119 +#: gst/isomp4/qtdemux.c:3125 msgid "This file is incomplete and cannot be played." msgstr "" -#: gst/isomp4/qtdemux.c:7261 +#: gst/isomp4/qtdemux.c:7296 msgid "The video in this file might not play correctly." msgstr "" -#: gst/isomp4/qtdemux.c:8446 +#: gst/isomp4/qtdemux.c:8481 #, c-format msgid "This file contains too many streams. Only playing first %d" msgstr "" -#: gst/rtsp/gstrtspsrc.c:5755 +#: gst/rtsp/gstrtspsrc.c:5788 msgid "" "No supported stream was found. You might need to install a GStreamer RTSP " "extension plugin for Real media streams." msgstr "" -#: gst/rtsp/gstrtspsrc.c:5760 +#: gst/rtsp/gstrtspsrc.c:5793 msgid "" "No supported stream was found. You might need to allow more transport " "protocols or may otherwise be missing the right GStreamer RTSP extension " @@ -252,7 +252,7 @@ msgstr "" msgid "AUX 2 Out" msgstr "" -#: sys/v4l2/gstv4l2bufferpool.c:1164 +#: sys/v4l2/gstv4l2bufferpool.c:1168 #, c-format msgid "Error reading %d bytes from device '%s'." msgstr "" diff --git a/po/hr.gmo b/po/hr.gmo index bbb9b28e4209c3d7012ac6df1c5fef8d4f55ed24..ad9a36817cb188fce31147218094e104b1be8bce 100644 Binary files a/po/hr.gmo and b/po/hr.gmo differ diff --git a/po/hr.po b/po/hr.po index 1677b56a1955bca972ae02701d7bd6fd263ffbb1..8286fadd51c71aa7023b33449aed829cf5a82c82 100644 --- a/po/hr.po +++ b/po/hr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.28.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2012-04-16 03:04+0200\n" "Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n" "Language-Team: Croatian <lokalizacija@linux.hr>\n" diff --git a/po/hu.gmo b/po/hu.gmo index 0abbc322e916dac87b2bc63df656f61cc29e7e66..0ccc460394236fad466a1cbbd5c987c6b5e506de 100644 Binary files a/po/hu.gmo and b/po/hu.gmo differ diff --git a/po/hu.po b/po/hu.po index 98a2385500ebc8cc6918fdb9bc3ae20caacf61e6..676c907481d50933bd76eb22fee46e81d561f0cc 100644 --- a/po/hu.po +++ b/po/hu.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.0.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2012-11-30 15:05+0100\n" "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n" "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n" diff --git a/po/id.gmo b/po/id.gmo index 9ac21291ce13ef1be2a419d3108ce07681382185..23f5db111f75b8eebe494f2b4a00c90966d56ae9 100644 Binary files a/po/id.gmo and b/po/id.gmo differ diff --git a/po/id.po b/po/id.po index 546c591b3da3c8707697719e3f42cec2a0052310..7ed214444cb29a8f3f96da9cde826a1cd5bf7709 100644 --- a/po/id.po +++ b/po/id.po @@ -2,22 +2,25 @@ # This file is put in the public domain. # # Andhika Padmawan <andhika.padmawan@gmail.com>, 2011. +# Andika Triwidada <andika@gmail.com>, 2013. # msgid "" msgstr "" -"Project-Id-Version: gst-plugins-good 0.10.26.2\n" +"Project-Id-Version: gst-plugins-good 1.1.4\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" -"PO-Revision-Date: 2011-02-26 18:09+0700\n" -"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" +"PO-Revision-Date: 2013-10-15 16:26+0700\n" +"Last-Translator: Andika Triwidada <andika@gmail.com>\n" "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" msgid "Jack server not found" -msgstr "" +msgstr "Server Jack tak ditemukan" msgid "Failed to decode JPEG image" msgstr "Gagal untuk mengawasandi citra JPEG" @@ -66,7 +69,7 @@ msgid "This file is invalid and cannot be played." msgstr "Berkas ini tidak sah dan tak dapat diputar." msgid "Cannot play stream because it is encrypted with PlayReady DRM." -msgstr "" +msgstr "Tak bisa memainkan stream karena dienkripsi memakai DRM PlayReady." msgid "This file is corrupt and cannot be played." msgstr "Berkas ini rusak dan tak dapat diputar." @@ -170,13 +173,11 @@ msgstr "AUX 1 Masuk" msgid "AUX 2 In" msgstr "AUX 2 Masuk" -#, fuzzy msgid "Codec Loopback" -msgstr "Loopback" +msgstr "Loopback Kodek" -#, fuzzy msgid "SunVTS Loopback" -msgstr "Loopback" +msgstr "Loopback SunVTS" msgid "Volume" msgstr "Volume" @@ -219,23 +220,21 @@ msgstr "" msgid "Could not map buffers from device '%s'" msgstr "Tak dapat memetakan penyangga dari divais '%s'" -#, fuzzy, c-format +#, c-format msgid "The driver of device '%s' does not support the IO method %d" -msgstr "" -"Driver dari divais '%s' tak mendukung metode penangkap apapun yang dikenal." +msgstr "Driver dari divais '%s' tak mendukung metode IO %d" -#, fuzzy, c-format +#, c-format msgid "The driver of device '%s' does not support any known IO method." -msgstr "" -"Driver dari divais '%s' tak mendukung metode penangkap apapun yang dikenal." +msgstr "Driver dari divais '%s' tak mendukung metode IO apapun yang dikenal." -#, fuzzy, c-format +#, c-format msgid "Device '%s' does not support video capture" -msgstr "Divais '%s' bukan divais keluaran." +msgstr "Divais '%s' tak mendukung penangkapan video" -#, fuzzy, c-format +#, c-format msgid "Device '%s' is busy" -msgstr "Divais '%s' bukan divais keluaran." +msgstr "Divais '%s' sibuk" #, c-format msgid "Device '%s' cannot capture at %dx%d" @@ -249,36 +248,35 @@ msgstr "Divais '%s' tak dapat menangkap dalam format yang ditentukan" msgid "Could not get parameters on device '%s'" msgstr "Tak bisa mendapatkan parameter di divais '%s'" -#, fuzzy msgid "Video device did not accept new frame rate setting." -msgstr "Divais masukan video tak menerima pengaturan rasio bingkai baru." +msgstr "Divais video tak menerima pengaturan laju bingkai baru." msgid "Video device could not create buffer pool." -msgstr "" +msgstr "Divais video tak bisa membuat pul singgahan." -#, fuzzy, c-format +#, c-format msgid "Failed to get settings of tuner %d on device '%s'." msgstr "Gagal mendapatkan pengaturan tuner %d di divais '%s'." -#, fuzzy, c-format +#, c-format msgid "Error getting capabilities for device '%s'." -msgstr "Galat membaca %d bita dari divais '%s'." +msgstr "Galat saat mengambil kapabilitas bagi divais '%s'." -#, fuzzy, c-format +#, c-format msgid "Device '%s' is not a tuner." -msgstr "Divais '%s' bukan divais keluaran." +msgstr "Divais '%s' bukan tuner." -#, fuzzy, c-format +#, c-format msgid "Failed to get radio input on device '%s'. " -msgstr "Gagal mengatur masukan %d di divais %s." +msgstr "Gagal mendapat masukan radio pada divais '%s'." #, c-format msgid "Failed to set input %d on device %s." msgstr "Gagal mengatur masukan %d di divais %s." -#, fuzzy, c-format +#, c-format msgid "Failed to change mute state for device '%s'." -msgstr "Gagal mendapatkan kekuatan sinyal untuk divais '%s'." +msgstr "Gagal mengubah keadaan bisu untuk divais '%s'." #, c-format msgid "Cannot identify device '%s'." @@ -368,387 +366,3 @@ msgstr "Mengubah resolusi saat waktu berjalan belum didukung." msgid "Cannot operate without a clock" msgstr "Tak dapat beroperasi tanpa jam" - -#~ msgid "Got unexpected frame size of %u instead of %u." -#~ msgstr "Mendapatkan ukuran bingkai %u ketimbang %u yang tak diharapkan." - -#~ msgid "Failed trying to get video frames from device '%s'." -#~ msgstr "Gagal mencoba untuk mendapatkan bingkai video dari divais '%s'." - -#~ msgid "Failed after %d tries. device %s. system error: %s" -#~ msgstr "Gagal setelah %d percobaan. divais %s. galat sistem: %s" - -#~ msgid "Bass" -#~ msgstr "Bas" - -#~ msgid "Treble" -#~ msgstr "Treble" - -#~ msgid "Synth" -#~ msgstr "Synth" - -#~ msgid "PCM" -#~ msgstr "PCM" - -#~ msgid "Speaker" -#~ msgstr "Pengeras Suara" - -#~ msgid "Line-in" -#~ msgstr "Jalur masuk" - -#~ msgid "CD" -#~ msgstr "CD" - -#~ msgid "Mixer" -#~ msgstr "Mixer" - -#~ msgid "PCM-2" -#~ msgstr "PCM-2" - -#~ msgid "Record" -#~ msgstr "Rekam" - -#~ msgid "In-gain" -#~ msgstr "Masukan-gain" - -#~ msgid "Out-gain" -#~ msgstr "Keluaran-gain" - -#~ msgid "Line-1" -#~ msgstr "Jalur-1" - -#~ msgid "Line-2" -#~ msgstr "Jalur-2" - -#~ msgid "Line-3" -#~ msgstr "Jalur-3" - -#~ msgid "Digital-1" -#~ msgstr "Digital-1" - -#~ msgid "Digital-2" -#~ msgstr "Digital-2" - -#~ msgid "Digital-3" -#~ msgstr "Digital-3" - -#~ msgid "Phone-in" -#~ msgstr "Telepon-masuk" - -#~ msgid "Phone-out" -#~ msgstr "Telepon-keluar" - -#~ msgid "Video" -#~ msgstr "Video" - -#~ msgid "Radio" -#~ msgstr "Radio" - -#~ msgid "Could not open audio device for mixer control handling." -#~ msgstr "Tak dapat membuka divais audio untuk menangani kontrol mixer." - -#~ msgid "" -#~ "Could not open audio device for mixer control handling. This version of " -#~ "the Open Sound System is not supported by this element." -#~ msgstr "" -#~ "Tak dapat membuka divais audio untuk menangani kontrol mixer. Versi Open " -#~ "Sound System ini tidak didukung oleh elemen ini." - -#~ msgid "Master" -#~ msgstr "Master" - -#~ msgid "Front" -#~ msgstr "Depan" - -#~ msgid "Rear" -#~ msgstr "Belakang" - -#~ msgid "Headphones" -#~ msgstr "Headphone" - -#~ msgid "Center" -#~ msgstr "Tengah" - -#~ msgid "LFE" -#~ msgstr "LFE" - -#~ msgid "Surround" -#~ msgstr "Sekeliling" - -#~ msgid "Side" -#~ msgstr "Sisi" - -#~ msgid "AUX Out" -#~ msgstr "AUX Keluaran" - -#~ msgid "3D Depth" -#~ msgstr "Kedalaman 3D" - -#~ msgid "3D Center" -#~ msgstr "3D Tengah" - -#~ msgid "3D Enhance" -#~ msgstr "Dipercanggih 3D" - -#~ msgid "Telephone" -#~ msgstr "Telepon" - -#~ msgid "Video In" -#~ msgstr "Video Masuk" - -#~ msgid "AUX In" -#~ msgstr "AUX Masuk" - -#~ msgid "Record Gain" -#~ msgstr "Rekam Gain" - -#~ msgid "Output Gain" -#~ msgstr "Keluaran Gain" - -#~ msgid "Microphone Boost" -#~ msgstr "Mikrofon Boost" - -#~ msgid "Diagnostic" -#~ msgstr "Diagnosis" - -#~ msgid "Bass Boost" -#~ msgstr "Bass Boost" - -#~ msgid "Playback Ports" -#~ msgstr "Pangkalan Putar" - -#~ msgid "Input" -#~ msgstr "Masukan" - -#~ msgid "Monitor Source" -#~ msgstr "Sumber Monitor" - -#~ msgid "Keyboard Beep" -#~ msgstr "Bip Papan Ketik" - -#~ msgid "Simulate Stereo" -#~ msgstr "Simulasi Stereo" - -#~ msgid "Stereo" -#~ msgstr "Stereo" - -#~ msgid "Surround Sound" -#~ msgstr "Suara Sekeliling" - -#~ msgid "Microphone Gain" -#~ msgstr "Mikrofon Gain" - -#~ msgid "Speaker Source" -#~ msgstr "Sumber Pengeras Suara" - -#~ msgid "Microphone Source" -#~ msgstr "Sumber Mikrofon" - -#~ msgid "Jack" -#~ msgstr "Jack" - -#~ msgid "Center / LFE" -#~ msgstr "Tengah / LFE" - -#~ msgid "Stereo Mix" -#~ msgstr "Mix Stereo" - -#~ msgid "Mono Mix" -#~ msgstr "Mix Mono" - -#~ msgid "Input Mix" -#~ msgstr "Mix Masukan" - -#~ msgid "Microphone 1" -#~ msgstr "Mikrofon 1" - -#~ msgid "Microphone 2" -#~ msgstr "Mikrofon 2" - -#~ msgid "Digital Out" -#~ msgstr "Digital Keluar" - -#~ msgid "Digital In" -#~ msgstr "Digital Masuk" - -#~ msgid "HDMI" -#~ msgstr "HDMI" - -#~ msgid "Modem" -#~ msgstr "Modem" - -#~ msgid "Handset" -#~ msgstr "Handset" - -#~ msgid "Other" -#~ msgstr "Lainnya" - -#~ msgid "None" -#~ msgstr "Tidak Ada" - -#~ msgid "On" -#~ msgstr "Hidup" - -#~ msgid "Off" -#~ msgstr "Mati" - -#~ msgid "Mute" -#~ msgstr "Diam" - -#~ msgid "Fast" -#~ msgstr "Cepat" - -#~ msgid "Very Low" -#~ msgstr "Sangat Rendah" - -#~ msgid "Low" -#~ msgstr "Rendah" - -#~ msgid "Medium" -#~ msgstr "Sedang" - -#~ msgid "High" -#~ msgstr "Tinggi" - -#~ msgid "Very High" -#~ msgstr "Sangat Tinggi" - -#~ msgid "Production" -#~ msgstr "Produksi" - -#~ msgid "Front Panel Microphone" -#~ msgstr "Mikrofon Panel Depan" - -#~ msgid "Front Panel Line In" -#~ msgstr "Masukan Jalur Panel Depan" - -#~ msgid "Front Panel Headphones" -#~ msgstr "Headphone Panel Depan" - -#~ msgid "Front Panel Line Out" -#~ msgstr "Keluaran Jalur Panel Depan" - -#~ msgid "Green Connector" -#~ msgstr "Konektor Hijau" - -#~ msgid "Pink Connector" -#~ msgstr "Konektor Merah Jambu" - -#~ msgid "Blue Connector" -#~ msgstr "Konektor Biru" - -#~ msgid "White Connector" -#~ msgstr "Konektor Putih" - -#~ msgid "Black Connector" -#~ msgstr "Konektor Hitam" - -#~ msgid "Gray Connector" -#~ msgstr "Konektor Abu-Abu" - -#~ msgid "Orange Connector" -#~ msgstr "Konektor Jingga" - -#~ msgid "Red Connector" -#~ msgstr "Konektor Merah" - -#~ msgid "Yellow Connector" -#~ msgstr "Konektor Kuning" - -#~ msgid "Green Front Panel Connector" -#~ msgstr "Konektor Panel Depan Hijau" - -#~ msgid "Pink Front Panel Connector" -#~ msgstr "Konektor Panel Depan Merah Jambu" - -#~ msgid "Blue Front Panel Connector" -#~ msgstr "Konektor Panel Depan Biru" - -#~ msgid "White Front Panel Connector" -#~ msgstr "Konektor Panel Depan Putih" - -#~ msgid "Black Front Panel Connector" -#~ msgstr "Konektor Panel Depan Hitam" - -#~ msgid "Gray Front Panel Connector" -#~ msgstr "Konektor Panel Depan Abu-Abu" - -#~ msgid "Orange Front Panel Connector" -#~ msgstr "Konektor Panel Depan Jingga" - -#~ msgid "Red Front Panel Connector" -#~ msgstr "Konektor Panel Depan Merah" - -#~ msgid "Yellow Front Panel Connector" -#~ msgstr "Konektor Panel Depan Kuning" - -#~ msgid "Spread Output" -#~ msgstr "Keluaran Sebar" - -#~ msgid "Downmix" -#~ msgstr "Downmix" - -#~ msgid "Virtual Mixer Input" -#~ msgstr "Masukan Mixer Virtual" - -#~ msgid "Virtual Mixer Output" -#~ msgstr "Keluaran Mixer Virtual" - -#~ msgid "Virtual Mixer Channels" -#~ msgstr "Kanal Mixer Virtual" - -#~ msgid "%s %d Function" -#~ msgstr "Fungsi %s %d" - -#~ msgid "%s Function" -#~ msgstr "Fungsi %s" - -#~ msgid "Error reading %d bytes on device '%s'." -#~ msgstr "Galat membaca %d bita pada divais '%s'." - -#~ msgid "Could not enqueue buffers in device '%s'." -#~ msgstr "Tak dapat mengantrekan penyangga di divais '%s'." - -#~ msgid "Could not establish connection to sound server" -#~ msgstr "Tak dapat membangun koneksi ke server suara" - -#~ msgid "Failed to query sound server capabilities" -#~ msgstr "Gagal untuk kueri kemampuan server suara" - -#~ msgid "" -#~ "The buffer type is not supported, or the index is out of bounds, or no " -#~ "buffers have been allocated yet, or the userptr or length are invalid. " -#~ "device %s" -#~ msgstr "" -#~ "Tipe penyangga tidak didukung, atau indeks di luar batas, atau tak ada " -#~ "penyangga yang telah dialokasikan, atau userptr atau panjang tidak sah. " -#~ "divais %s" - -#~ msgid "" -#~ "Failed trying to get video frames from device '%s'. Not enough memory." -#~ msgstr "" -#~ "Gagal mencoba untuk mendapatkan bingkai video dari divais '%s'. Tak cukup " -#~ "memori." - -#~ msgid "insufficient memory to enqueue a user pointer buffer. device %s." -#~ msgstr "" -#~ "kekurangan memori untuk mengantrekan penyangga penunjuk pengguna. divais " -#~ "%s." - -#~ msgid "No free buffers found in the pool at index %d." -#~ msgstr "Tak ada penyangga bebas ditemukan di lubuk pada indeks %d." - -#~ msgid "Could not get buffers from device '%s'." -#~ msgstr "Tak bisa mendapatkan penyangga dari divais '%s'." - -#~ msgid "Could not get enough buffers from device '%s'." -#~ msgstr "Tak bisa mendapatkan penyangga yang cukup dari divais '%s'." - -#~ msgid "Error starting streaming capture from device '%s'." -#~ msgstr "Galat memulai penangkapan arus dari divais '%s'." - -#~ msgid "Error stopping streaming capture from device '%s'." -#~ msgstr "Galat menghentikan penangkapan arus dari divais '%s'." - -#~ msgid "Failed getting controls attributes on device '%s.'" -#~ msgstr "Gagal mendapatkan kendali atribut di divais '%s.'" diff --git a/po/it.gmo b/po/it.gmo index 2aa2ef2fb8077769da3a7c0fd0dd63be8392dbab..9ebc3b559cb1097d0dfee27f12988b8d41c6d415 100644 Binary files a/po/it.gmo and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po index b0ff05f8c7f4cf35476afaa2fcbc6addad43424b..c9df201fd1d89badb0785a85be5b0ecfc4689f73 100644 --- a/po/it.po +++ b/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.25.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2010-10-25 10:11+0200\n" "Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n" "Language-Team: Italian <tp@lists.linux.it>\n" diff --git a/po/ja.gmo b/po/ja.gmo index 8456a0afcc304dfcaf0fcdd7cbce2149283ad52e..773328930b8b4ae71b951be994df2d5bfadfdbe6 100644 Binary files a/po/ja.gmo and b/po/ja.gmo differ diff --git a/po/ja.po b/po/ja.po index e7fd9bd8b29aaec36c9a035d1ab3cf2ae206d693..299a6ba2ef633123f769238ca54ce3fb845c67e3 100644 --- a/po/ja.po +++ b/po/ja.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.0.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2012-12-22 20:13+0900\n" "Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n" "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n" diff --git a/po/lt.gmo b/po/lt.gmo index 3fc6132614ea7acc085e74dce879186adf12de8f..5e995c4aa7a2f06514e2e136f4b0e7718ab4068c 100644 Binary files a/po/lt.gmo and b/po/lt.gmo differ diff --git a/po/lt.po b/po/lt.po index 518b5fa3a4fb92b392534d133fc6453de1430f21..498e75b2ecdabd4150d28af26819dbe46d00d382 100644 --- a/po/lt.po +++ b/po/lt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.23.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2010-07-16 19:34+0300\n" "Last-Translator: Žygimantas BeruÄka <uid0@akl.lt>\n" "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n" diff --git a/po/lv.gmo b/po/lv.gmo index 1ee1c6d61681bd8931dec4b5d78b7c0a2725927a..55c13e59858dbc9e91615e5615b6421e24c7b69b 100644 Binary files a/po/lv.gmo and b/po/lv.gmo differ diff --git a/po/lv.po b/po/lv.po index 7e2beb29464f172fcbb9cb278513143c6b89a092..64bd4bb01d1650a212d248dc7a880df81bcc6cdc 100644 --- a/po/lv.po +++ b/po/lv.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.28.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2011-09-02 11:23-0000\n" "Last-Translator: Rihards PriedÄ«tis <rprieditis@gmail.com>\n" "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n" diff --git a/po/mt.gmo b/po/mt.gmo index e9af73cbddbfebbb737fc4d20532a6d6a0039e08..1af948e0afa7517d56de8c24612b53365ab34dbf 100644 Binary files a/po/mt.gmo and b/po/mt.gmo differ diff --git a/po/mt.po b/po/mt.po index e0b784d8547ec64712ec601b4fdda0925ec10025..bb11e4f4c30006582bf5a63b029a71295d5074c1 100644 --- a/po/mt.po +++ b/po/mt.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.10.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2008-10-26 19:09+0100\n" "Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n" "Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n" diff --git a/po/nb.gmo b/po/nb.gmo index 9e225d70343e57d9d459e86075b76c9f8dba207f..f56b06dbc12550bebcacea1723d1c85bcd2aa227 100644 Binary files a/po/nb.gmo and b/po/nb.gmo differ diff --git a/po/nb.po b/po/nb.po index dc8374f237de58f2b1a13288beec794c25c31552..fde958ba403d2df2bad41f92cb342c5e5963e057 100644 --- a/po/nb.po +++ b/po/nb.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.0.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2012-12-21 22:13+0100\n" "Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n" "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n" diff --git a/po/nl.gmo b/po/nl.gmo index 7626c2b5f76aff41d44446b1a502b66ae0312ccc..9af55e317de18c6405525ef89d1d1cde2eb4c36e 100644 Binary files a/po/nl.gmo and b/po/nl.gmo differ diff --git a/po/nl.po b/po/nl.po index 51d590ff69360249e383f322dd4fd642a820b169..402d66d154d265449c788feeb49ba7c54c667ed2 100644 --- a/po/nl.po +++ b/po/nl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.1.4\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2013-09-15 13:31+0200\n" "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n" "Language-Team: Dutch <vertaling@vrijschrift.org>\n" diff --git a/po/or.gmo b/po/or.gmo index 5343b9362c1b9c6440e8424a010652bd17f5271d..df3a4e609b931eb650aefe13a9376ab46b10ae0f 100644 Binary files a/po/or.gmo and b/po/or.gmo differ diff --git a/po/or.po b/po/or.po index 983cbf05580439af716a8a507af04ca0de0d9063..4760d70a99692b004eafd7cd97bd0c2ee61d35d3 100644 --- a/po/or.po +++ b/po/or.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-0.8.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2004-09-27 13:32+0530\n" "Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n" "Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n" diff --git a/po/pl.gmo b/po/pl.gmo index 712df45fef7f5d90e12ccabbc28d4868fd33e3d3..e8bcfbffaa243b2e8e5c555f20ed8aafcb71312a 100644 Binary files a/po/pl.gmo and b/po/pl.gmo differ diff --git a/po/pl.po b/po/pl.po index b999d9eecde99011ba8d3e74cee1430ed90765a3..fa8eac96f7e880d8f991128a3d920ee0c8b8880f 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.1.4\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2013-09-15 11:26+0200\n" "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo index 9f3b7f51e18f4a3fe4c2d2a3ed5b674660b71735..481b98edd0c2db0105aed13ee67a04c9fccb3c2a 100644 Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ diff --git a/po/pt_BR.po b/po/pt_BR.po index cd311aaa45fe4a06334a2de2e8f710d3247c80c2..79b205dd44d81db8e1acf54112bf28f760bac7f7 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-1.0.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2013-08-21 00:12-0300\n" "Last-Translator: FabrÃcio Godoy <skarllot@gmail.com>\n" "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge." diff --git a/po/ro.gmo b/po/ro.gmo index 953e3862234642ddb6226f176f7cf5fa24138102..1348f9a36c5653043c255f0189acf13d9bdb9d3b 100644 Binary files a/po/ro.gmo and b/po/ro.gmo differ diff --git a/po/ro.po b/po/ro.po index eec3e77a072248d0a154a3bcd256d67484375458..ed978d8fba9cfe3b18afb4ef52ed8502d9f748ed 100644 --- a/po/ro.po +++ b/po/ro.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.23.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2010-08-16 03:22+0300\n" "Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n" "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n" diff --git a/po/ru.gmo b/po/ru.gmo index 5920f1233c4cffc9a5147e998d4f35854848cab2..f29ac6bb18678655bd3d46e2625367b0d178f7a9 100644 Binary files a/po/ru.gmo and b/po/ru.gmo differ diff --git a/po/ru.po b/po/ru.po index 21e0ca81a0c9c089c5cd9a26f785d1f3bb41f793..c698636c6da9335c8154d9ad3081e4769455eca0 100644 --- a/po/ru.po +++ b/po/ru.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.0.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2013-03-09 17:09+0200\n" "Last-Translator: Pavel Maryanov <acid@jack.kiev.ua>\n" "Language-Team: Russian <gnu@mx.ru>\n" diff --git a/po/sk.gmo b/po/sk.gmo index f8dee56fd757d5200ec7438f9c80862f226adbf1..cb69d3c9db739576d7e43618b1aee1c3599b2edd 100644 Binary files a/po/sk.gmo and b/po/sk.gmo differ diff --git a/po/sk.po b/po/sk.po index 9507cc891d48b2abb8c381e8a2511d797f452c61..e0e711318058f2204be2b02bd869b65fa3343ed4 100644 --- a/po/sk.po +++ b/po/sk.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.25.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2010-11-08 15:48+0100\n" "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n" "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n" diff --git a/po/sl.gmo b/po/sl.gmo index 208358a5c0e91dfbce3830c8c7028b6375652a7b..ca4fd5bdb281450805d66310c87b7bab12efbd23 100644 Binary files a/po/sl.gmo and b/po/sl.gmo differ diff --git a/po/sl.po b/po/sl.po index e05d51a759536a5742bbae04a07e0b1c1ac98448..7ae84ff0dfe066cefff7980acb72f98f7c22296c 100644 --- a/po/sl.po +++ b/po/sl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-1.0.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2013-01-05 10:03+0100\n" "Last-Translator: Klemen KoÅ¡ir <klemen913@gmail.com>\n" "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n" diff --git a/po/sq.gmo b/po/sq.gmo index effa30131fd33c58810db22c9d17929ff54df1b5..abc9ed67aba2aaf821b11197938935edd6c16cf8 100644 Binary files a/po/sq.gmo and b/po/sq.gmo differ diff --git a/po/sq.po b/po/sq.po index 3eb5985a7b7266425433838003390737d36f22cb..decc8c1827a5dfdb87addb79e583226f589835f5 100644 --- a/po/sq.po +++ b/po/sq.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins 0.8.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2004-08-07 20:29+0200\n" "Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n" "Language-Team: Albanian <begraj@hotmail.com>\n" diff --git a/po/sr.gmo b/po/sr.gmo index 15c46c4b3ded694bb1f8206b5671baaa3997ddd8..aad226505a7d99327c71a45e860148344f3ca7a5 100644 Binary files a/po/sr.gmo and b/po/sr.gmo differ diff --git a/po/sr.po b/po/sr.po index 8cfb86ca76a29fa9395effb796fe5480714c1ba7..c2aa8dfec0c2098ffd3aade7f181f2d93fadb6ce 100644 --- a/po/sr.po +++ b/po/sr.po @@ -2,26 +2,25 @@ # Copyright (C) 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the gst-plugins-good package. # Danilo Segan <dsegan@gmx.net>, 2004. -# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2011. +# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2011, 2013. msgid "" msgstr "" -"Project-Id-Version: gst-plugins-good-0.10.28.2\n" +"Project-Id-Version: gst-plugins-good-1.1.4\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" -"PO-Revision-Date: 2011-12-04 16:44+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" +"PO-Revision-Date: 2013-10-04 12:15+0200\n" "Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n" -"Language-Team: Serbian <gnu@prevod.org>\n" +"Language-Team: Serbian <(nothing)>\n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Virtaal 0.7.0\n" "X-Project-Style: gnome\n" msgid "Jack server not found" -msgstr "" +msgstr "ÐиÑам пронашао Ñервер утичнице" msgid "Failed to decode JPEG image" msgstr "ÐиÑам уÑпео да декодирам ЈПЕГ Ñлику" @@ -70,6 +69,7 @@ msgstr "Ова датотека је неиÑправна и не може би msgid "Cannot play stream because it is encrypted with PlayReady DRM." msgstr "" +"Ðе могу да пуÑтим ток зато што је шифрован УДП-ом „Спреман за пуштање“." msgid "This file is corrupt and cannot be played." msgstr "Ова датотека је оштећена и не може бити пуштена." @@ -173,13 +173,11 @@ msgstr "ÐУХ 1 улаз" msgid "AUX 2 In" msgstr "ÐУХ 2 улаз" -#, fuzzy msgid "Codec Loopback" -msgstr "Повратна петља" +msgstr "Повратна петља кодека" -#, fuzzy msgid "SunVTS Loopback" -msgstr "Повратна петља" +msgstr "Повратна петља СанВТС-а" msgid "Volume" msgstr "Јачина звука" @@ -215,71 +213,70 @@ msgstr "Грешка приликом читања %d бајтова Ñа уре #, c-format msgid "Failed to enumerate possible video formats device '%s' can work with" msgstr "" +"ÐиÑам уÑпео да нумеришем могући уређај запиÑа Ñнимка „%s“ Ñа којим може да " +"ради" #, c-format msgid "Could not map buffers from device '%s'" msgstr "Ðе могу да мапирам помоћне меморије Ñа уређаја „%s“" -#, fuzzy, c-format +#, c-format msgid "The driver of device '%s' does not support the IO method %d" -msgstr "" -"Управљачки програм уређаја „%s“ не подржава ниједан познати начин Ñнимања." +msgstr "Управљачки програм уређаја „%s“ не подржава УИ начин %d" -#, fuzzy, c-format +#, c-format msgid "The driver of device '%s' does not support any known IO method." -msgstr "" -"Управљачки програм уређаја „%s“ не подржава ниједан познати начин Ñнимања." +msgstr "Управљачки програм уређаја „%s“ не подржава ниједан познати УИ начин." -#, fuzzy, c-format +#, c-format msgid "Device '%s' does not support video capture" -msgstr "Уређај „%s“ није излазни уређај." +msgstr "Уређај „%s“ не подржава видео Ñнимање" #, c-format msgid "Device '%s' is busy" -msgstr "" +msgstr "Уређај „%s“ је заузет" -#, fuzzy, c-format +#, c-format msgid "Device '%s' cannot capture at %dx%d" -msgstr "Уређај „%s“ није уређај за Ñнимање." +msgstr "Уређај „%s“ не може да Ñнима на %dx%d" -#, fuzzy, c-format +#, c-format msgid "Device '%s' cannot capture in the specified format" -msgstr "Уређај „%s“ није уређај за Ñнимање." +msgstr "Уређај „%s“ не може да Ñнима у наведеном запиÑу" #, c-format msgid "Could not get parameters on device '%s'" msgstr "Ðе могу да добавим параметре на уређају „%s“" -#, fuzzy msgid "Video device did not accept new frame rate setting." -msgstr "Улазни видео уређај не прихвата нове поÑтавке протока кадрова." +msgstr "Видео уређај не прихвата нове поÑтавке протока кадрова." msgid "Video device could not create buffer pool." -msgstr "" +msgstr "Видео уређај не може да направи Ñмештај међумеморије." -#, fuzzy, c-format +#, c-format msgid "Failed to get settings of tuner %d on device '%s'." msgstr "ÐиÑам уÑпео да добавим подешавања тјунера %d на уређају „%s“." -#, fuzzy, c-format +#, c-format msgid "Error getting capabilities for device '%s'." -msgstr "Грешка приликом читања %d бајтова Ñа уређаја „%s“." +msgstr "Грешка добављања могућноÑти за уређај „%s“." -#, fuzzy, c-format +#, c-format msgid "Device '%s' is not a tuner." -msgstr "Уређај „%s“ није излазни уређај." +msgstr "Уређај „%s“ није тјунер." -#, fuzzy, c-format +#, c-format msgid "Failed to get radio input on device '%s'. " -msgstr "ÐиÑам уÑпео да подеÑим улаз %d на уређају %s." +msgstr "ÐиÑам уÑпео да добавим радио улаз на уређају „%s“." #, c-format msgid "Failed to set input %d on device %s." msgstr "ÐиÑам уÑпео да подеÑим улаз %d на уређају %s." -#, fuzzy, c-format +#, c-format msgid "Failed to change mute state for device '%s'." -msgstr "ÐиÑам уÑпео да добавим јачину Ñигнала за уређај „%s“." +msgstr "ÐиÑам уÑпео да изменим Ñтање утишаноÑти за уређај „%s“." #, c-format msgid "Cannot identify device '%s'." @@ -371,422 +368,3 @@ msgstr "Промена резолуције приликом извршавањ msgid "Cannot operate without a clock" msgstr "Ðе могу да радим без Ñата" - -#~ msgid "Got unexpected frame size of %u instead of %u." -#~ msgstr "Добих неочекивану величину кадра, %u умеÑто %u." - -#~ msgid "Failed trying to get video frames from device '%s'." -#~ msgstr "ÐиÑам уÑпео да добавим видео кадрове Ñа уређаја „%s“." - -#~ msgid "Failed after %d tries. device %s. system error: %s" -#~ msgstr "ÐиÑам уÑпео након %d покушаја. уређај %s. ÑиÑтемÑка грешка: %s" - -#~ msgid "Bass" -#~ msgstr "БаÑ" - -#~ msgid "Treble" -#~ msgstr "ВиÑокотонац" - -#~ msgid "Synth" -#~ msgstr "СинтиÑајзер" - -#~ msgid "PCM" -#~ msgstr "ПЦМ" - -#~ msgid "Speaker" -#~ msgstr "Звучник" - -#~ msgid "Line-in" -#~ msgstr "ЛинијÑки улаз" - -#~ msgid "CD" -#~ msgstr "ЦД" - -#~ msgid "Mixer" -#~ msgstr "Мешач" - -#~ msgid "PCM-2" -#~ msgstr "ПЦМ-2" - -#~ msgid "Record" -#~ msgstr "Снимање" - -#~ msgid "In-gain" -#~ msgstr "Улазно појачање" - -#~ msgid "Out-gain" -#~ msgstr "Излазно појачање" - -#~ msgid "Line-1" -#~ msgstr "Линија 1" - -#~ msgid "Line-2" -#~ msgstr "Линија 2" - -#~ msgid "Line-3" -#~ msgstr "Линија 3" - -#~ msgid "Digital-1" -#~ msgstr "Дигитални 1" - -#~ msgid "Digital-2" -#~ msgstr "Дигитални 2" - -#~ msgid "Digital-3" -#~ msgstr "Дигитални 3" - -#~ msgid "Phone-in" -#~ msgstr "ТелефонÑки улаз" - -#~ msgid "Phone-out" -#~ msgstr "ТелефонÑки излаз" - -#~ msgid "Video" -#~ msgstr "Видео" - -#~ msgid "Radio" -#~ msgstr "Радио" - -#~ msgid "Could not open audio device for mixer control handling." -#~ msgstr "Ðе могу да покренем звучни уређај за руковање управљањем мешача." - -#~ msgid "" -#~ "Could not open audio device for mixer control handling. This version of " -#~ "the Open Sound System is not supported by this element." -#~ msgstr "" -#~ "Ðе могу да покренем звучни уређај за руковање управљањем мешача. Ово " -#~ "издање ÑиÑтема отвореног звука није подржано овим елементом." - -#~ msgid "Master" -#~ msgstr "Главни" - -#~ msgid "Front" -#~ msgstr "Предњи" - -#~ msgid "Rear" -#~ msgstr "Задњи" - -#~ msgid "Headphones" -#~ msgstr "Слушалице" - -#~ msgid "Center" -#~ msgstr "Средињи" - -#~ msgid "LFE" -#~ msgstr "ЛФЕ" - -#~ msgid "Surround" -#~ msgstr "Окружење" - -#~ msgid "Side" -#~ msgstr "Са Ñтране" - -#~ msgid "AUX Out" -#~ msgstr "ÐУХ излаз" - -#~ msgid "3D Depth" -#~ msgstr "3Д дубина" - -#~ msgid "3D Center" -#~ msgstr "3Д Ñредиште" - -#~ msgid "3D Enhance" -#~ msgstr "3Д побољшање" - -#~ msgid "Telephone" -#~ msgstr "Телефон" - -#~ msgid "Video In" -#~ msgstr "Видео улаз" - -#~ msgid "AUX In" -#~ msgstr "ÐУХ улаз" - -#~ msgid "Record Gain" -#~ msgstr "Појачање Ñнимања" - -#~ msgid "Output Gain" -#~ msgstr "Појачање излаза" - -#~ msgid "Microphone Boost" -#~ msgstr "Појачање микрофона" - -#~ msgid "Diagnostic" -#~ msgstr "ДијагноÑтика" - -#~ msgid "Bass Boost" -#~ msgstr "Појачање баÑа" - -#~ msgid "Playback Ports" -#~ msgstr "Портови пуштања" - -#~ msgid "Input" -#~ msgstr "Улаз" - -#~ msgid "Monitor Source" -#~ msgstr "Извор праћења" - -#~ msgid "Keyboard Beep" -#~ msgstr "Звук таÑтатуре" - -#~ msgid "Simulate Stereo" -#~ msgstr "Лажни Ñтерео" - -#~ msgid "Stereo" -#~ msgstr "Стерео" - -#~ msgid "Surround Sound" -#~ msgstr "Звук окружења" - -#~ msgid "Microphone Gain" -#~ msgstr "Појачање микрофона" - -#~ msgid "Speaker Source" -#~ msgstr "Извор звучника" - -#~ msgid "Microphone Source" -#~ msgstr "Извор микрофона" - -#~ msgid "Jack" -#~ msgstr "Утичница" - -#~ msgid "Center / LFE" -#~ msgstr "Средиште / ЛФЕ" - -#~ msgid "Stereo Mix" -#~ msgstr "Стерео микÑ" - -#~ msgid "Mono Mix" -#~ msgstr "Моно микÑ" - -#~ msgid "Input Mix" -#~ msgstr "Улазни микÑ" - -#~ msgid "Microphone 1" -#~ msgstr "Микрофон 1" - -#~ msgid "Microphone 2" -#~ msgstr "Микрофон 2" - -#~ msgid "Digital Out" -#~ msgstr "Дигитални излаз" - -#~ msgid "Digital In" -#~ msgstr "Дигитални улаз" - -#~ msgid "HDMI" -#~ msgstr "ХДМИ" - -#~ msgid "Modem" -#~ msgstr "Модем" - -#~ msgid "Handset" -#~ msgstr "Слушалица" - -#~ msgid "Other" -#~ msgstr "ОÑтало" - -#~ msgid "None" -#~ msgstr "Ðишта" - -#~ msgid "On" -#~ msgstr "Укљ." - -#~ msgid "Off" -#~ msgstr "ИÑкљ." - -#~ msgid "Mute" -#~ msgstr "Без звука" - -#~ msgid "Fast" -#~ msgstr "Брзо" - -#~ msgid "Very Low" -#~ msgstr "Врло низак" - -#~ msgid "Low" -#~ msgstr "Ðизак" - -#~ msgid "Medium" -#~ msgstr "Средњи" - -#~ msgid "High" -#~ msgstr "ВиÑок" - -#~ msgid "Very High" -#~ msgstr "Врло виÑок" - -#~ msgid "Production" -#~ msgstr "Производни" - -#~ msgid "Front Panel Microphone" -#~ msgstr "Микрофон предње површи" - -#~ msgid "Front Panel Line In" -#~ msgstr "ЛинијÑки улаз предње површи" - -#~ msgid "Front Panel Headphones" -#~ msgstr "Слушалице предње површи" - -#~ msgid "Front Panel Line Out" -#~ msgstr "ЛинијÑки излаз предње површи" - -#~ msgid "Green Connector" -#~ msgstr "Зелени прикључак" - -#~ msgid "Pink Connector" -#~ msgstr "РужичаÑÑ‚ прикључак" - -#~ msgid "Blue Connector" -#~ msgstr "Плави прикључак" - -#~ msgid "White Connector" -#~ msgstr "Бели прикључак" - -#~ msgid "Black Connector" -#~ msgstr "Црни прикључак" - -#~ msgid "Gray Connector" -#~ msgstr "Сиви прикључак" - -#~ msgid "Orange Connector" -#~ msgstr "ÐаранџаÑти прикључак" - -#~ msgid "Red Connector" -#~ msgstr "Црвени прикључак" - -#~ msgid "Yellow Connector" -#~ msgstr "Жути прикључак" - -#~ msgid "Green Front Panel Connector" -#~ msgstr "Зелени прикључак на предњој површи" - -#~ msgid "Pink Front Panel Connector" -#~ msgstr "РужичаÑти прикључак на предњој површи" - -#~ msgid "Blue Front Panel Connector" -#~ msgstr "Плави прикључак на предњој површи" - -#~ msgid "White Front Panel Connector" -#~ msgstr "Бели прикључак на предњој површи" - -#~ msgid "Black Front Panel Connector" -#~ msgstr "Црни прикључак на предњој површи" - -#~ msgid "Gray Front Panel Connector" -#~ msgstr "Сиви прикључак на предњој површи" - -#~ msgid "Orange Front Panel Connector" -#~ msgstr "ÐаранџаÑти прикључак на предњој површи" - -#~ msgid "Red Front Panel Connector" -#~ msgstr "Црвени прикључак на предњој површи" - -#~ msgid "Yellow Front Panel Connector" -#~ msgstr "Жути прикључак на предњој површи" - -#~ msgid "Spread Output" -#~ msgstr "Излаз ширења" - -#~ msgid "Downmix" -#~ msgstr "Сабирни мешач" - -#~ msgid "Virtual Mixer Input" -#~ msgstr "Улаз виртуелног мешача" - -#~ msgid "Virtual Mixer Output" -#~ msgstr "Излаз виртуелног мешача" - -#~ msgid "Virtual Mixer Channels" -#~ msgstr "Канали виртуелног мешача" - -#~ msgid "%s %d Function" -#~ msgstr "%s %d функција" - -#~ msgid "%s Function" -#~ msgstr "%s функција" - -#~ msgid "Could not establish connection to sound server" -#~ msgstr "Ðе могу да уÑпоÑтавим везу Ñа Ñервером звука" - -#~ msgid "Failed to query sound server capabilities" -#~ msgstr "ÐиÑам уÑпео да иÑпитам могућноÑти Ñервера звука" - -#~ msgid "Error reading %d bytes on device '%s'." -#~ msgstr "Грешка приликом читања %d бајтова на уређају „%s“." - -#~ msgid "Could not enqueue buffers in device '%s'." -#~ msgstr "Ðе могу да додам помоћне меморије у уређају „%s“." - -#~ msgid "Could not open file \"%s\" for writing." -#~ msgstr "Ðе могу да отворим датотеку „%s“ ради упиÑа." - -#~ msgid "Error closing file \"%s\"." -#~ msgstr "Грешка при затварању датотеке „%s“." - -#~ msgid "Could not open file \"%s\" for reading." -#~ msgstr "Ðе могу да отворим датотеку „%s“ ради читања." - -#~ msgid "No filename specified." -#~ msgstr "Име датотеке није задато." - -#~ msgid "Could not write to file \"%s\"." -#~ msgstr "Ðе могу да пишем у датотеку „%s“." - -#~ msgid "Could not open control device \"%s\" for writing." -#~ msgstr "Ðе могу да отворим управљачки уређај „%s“ ради упиÑа." - -#~ msgid "Could not configure audio device \"%s\"." -#~ msgstr "Ðе могу да подеÑим звучни уређај „%s“." - -#~ msgid "Could not set audio device \"%s\" to %d Hz." -#~ msgstr "Ðе могу да поÑтавим звучни уређај „%s“ на %d Hz." - -#~ msgid "Could not open video device \"%s\" for writing." -#~ msgstr "Ðе могу да отворим видео уређај „%s“ ради упиÑа." - -#~ msgid "Could not close video device \"%s\"." -#~ msgstr "Ðе могу да затворим видео уређај „%s“." - -#~ msgid "OSS device \"%s\" is already in use by another program." -#~ msgstr "OSS уређај „%s“ већ кориÑти неки програм." - -#~ msgid "Could not access device \"%s\", check its permissions." -#~ msgstr "Ðе могу да приÑтупим уређају „%s“, проверите његова овлашћења." - -#~ msgid "Device \"%s\" does not exist." -#~ msgstr "Ðе поÑтоји уређај „%s“." - -#~ msgid "Could not open device \"%s\" for writing." -#~ msgstr "Ðе могу да отворим уређај „%s“ ради упиÑа." - -#~ msgid "Could not open device \"%s\" for reading." -#~ msgstr "Ðе могу да отворим уређај „%s“ ради читања." - -# Виртуелни СиÑтем Датотека -#~ msgid "Could not open vfs file \"%s\" for reading." -#~ msgstr "Ðе могу да отворим ВСД датотеку „%s“ ради читања." - -#, fuzzy -#~ msgid "No filename given." -#~ msgstr "Име датотеке није задато." - -#, fuzzy -#~ msgid "Could not open vfs file \"%s\" for writing: %s." -#~ msgstr "Ðе могу да отворим ВСД датотеку „%s“ ради упиÑа." - -#, fuzzy -#~ msgid "No filename given" -#~ msgstr "Име датотеке није задато." - -#~ msgid "Could not close vfs file \"%s\"." -#~ msgstr "Ðе могу да затворим ВСД датотеку „%s“." - -#~ msgid "No device specified." -#~ msgstr "Уређај није наведен." - -#~ msgid "Device is not open." -#~ msgstr "Уређај није отворен." - -#~ msgid "Device is open." -#~ msgstr "Уређај је отворен." diff --git a/po/sv.gmo b/po/sv.gmo index 069b9b1c4ec64764fb7a5f9b53182afda938d4f0..9e05c29d1e27920a2f99f8877d147cdf6707b09d 100644 Binary files a/po/sv.gmo and b/po/sv.gmo differ diff --git a/po/sv.po b/po/sv.po index e44ff4f2fabaaffc3b97ae1f1c316916d28f416b..8fd04ad105cb19eeb22d15036d786cc625fac0b4 100644 --- a/po/sv.po +++ b/po/sv.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.26.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2011-01-09 19:36+0100\n" "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" diff --git a/po/tr.gmo b/po/tr.gmo index 4840bb18f878b577bd08d8e8910584512d0f6fdb..eca765e175b25ba1b012b72a4d20aade38756ff8 100644 Binary files a/po/tr.gmo and b/po/tr.gmo differ diff --git a/po/tr.po b/po/tr.po index be995d489db6609bdd016fb3f4da795351ad5e6a..30445ad2586eb69b1ce7809cb12bb8c334a7d330 100644 --- a/po/tr.po +++ b/po/tr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.0.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2013-03-10 13:05+0200\n" "Last-Translator: Server Acim <serveracim@gmail.com>\n" "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n" diff --git a/po/uk.gmo b/po/uk.gmo index 30258be8d3595964b4dfb9a3c68e6382089a896d..c3eb8ed1952e12f2a50a5a548e6f99aaf1e796c1 100644 Binary files a/po/uk.gmo and b/po/uk.gmo differ diff --git a/po/uk.po b/po/uk.po index efb371a4736e5d37422de3c903d014513cb68dda..8d54ac68d02e95fe0f6638fa98413884f79234be 100644 --- a/po/uk.po +++ b/po/uk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.1.4\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2013-09-14 22:23+0300\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n" diff --git a/po/vi.gmo b/po/vi.gmo index 0a954acbb20eef3d372848af4d15948d03d3f6c6..c3b82cc947cd663652e97c723a1d55fc8a809f45 100644 Binary files a/po/vi.gmo and b/po/vi.gmo differ diff --git a/po/vi.po b/po/vi.po index 63a0a936a5bba683b4a11210bd0bc80225307960..3b1ffcf9457324eb0297704d4a14a75fc9432879 100644 --- a/po/vi.po +++ b/po/vi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-1.1.4\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2013-09-16 14:36+0700\n" "Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n" "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo index b1ecb90eb772d9ef28b54fc79291c8bcfffb7bf2..345b8cb11d9ea58ae71522f9d2c3d888d2e5cd6f 100644 Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ diff --git a/po/zh_CN.po b/po/zh_CN.po index 42cb3b8e79de1c5d711b179f966ea8aeb48199f0..e2c2233aa814b1d0ed35d2cacc5382d18335db2f 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.16.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2009-11-13 22:20+0800\n" "Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" diff --git a/po/zh_HK.gmo b/po/zh_HK.gmo index 33450c00240682507b2d971c786a2fc764b4ec29..db62a8902cd0f508cec75f1e83eea9d90c0c6ea8 100644 Binary files a/po/zh_HK.gmo and b/po/zh_HK.gmo differ diff --git a/po/zh_HK.po b/po/zh_HK.po index 601a80d03808464b4c0a0cf805b248dd095a3d5e..8b21d0c391246a86a736d0c7ddea3d772e7dfab4 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2006-08-29 01:08+0800\n" "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n" "Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo index 8daf242ad584cccbec443c617082000d57b33712..e54faddb08b36ac0a54bfe1740d4a6c36c39e0be 100644 Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ diff --git a/po/zh_TW.po b/po/zh_TW.po index 75ed612320cfdfa9ddb209acf87ac338d1efb61f..1d442de387751f6c5cb2cd9c78c1528f2f7d7439 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2013-09-24 14:19+0200\n" +"POT-Creation-Date: 2013-11-09 15:36+0100\n" "PO-Revision-Date: 2006-08-29 01:08+0800\n" "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n" "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n" diff --git a/sys/osxaudio/gstosxcoreaudiohal.c b/sys/osxaudio/gstosxcoreaudiohal.c index b707af9177a343e54394052271fa4e6b45a8d4e7..1c8736135c072e99315f15ad95c74c576f04db6b 100644 --- a/sys/osxaudio/gstosxcoreaudiohal.c +++ b/sys/osxaudio/gstosxcoreaudiohal.c @@ -371,8 +371,9 @@ gst_core_audio_audio_device_get_channel_layout (AudioDeviceID device_id) } } -beach: gst_core_audio_dump_channel_layout (layout); + +beach: return layout; failed: diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c index 00c6086aa01031d8e430d959aa7de1a0f8ca9d46..f5396d93f6b7262f43613bdb1687d1ae8e637778 100644 --- a/sys/v4l2/gstv4l2bufferpool.c +++ b/sys/v4l2/gstv4l2bufferpool.c @@ -26,13 +26,17 @@ # include <config.h> #endif -#include <sys/mman.h> -#include <string.h> -#include <unistd.h> #if HAVE_DECL_V4L2_MEMORY_DMABUF +#ifndef _GNU_SOURCE +# define _GNU_SOURCE /* O_CLOEXEC */ +#endif #include <fcntl.h> #endif +#include <sys/mman.h> +#include <string.h> +#include <unistd.h> + #include "gst/video/video.h" #include "gst/video/gstvideometa.h" #include "gst/video/gstvideopool.h" diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c index 7af3536968a00b1f15ebab80e7a23665d20c1038..a2803a756661c8b1b3cfe1673c26d3f97d03fd86 100644 --- a/sys/v4l2/gstv4l2object.c +++ b/sys/v4l2/gstv4l2object.c @@ -2714,7 +2714,7 @@ gst_v4l2_object_get_caps (GstV4l2Object * v4l2object, GstCaps * filter) ret = gst_caps_ref (v4l2object->probed_caps); } - GST_INFO_OBJECT (v4l2object->element, "probed caps: %p", ret); + GST_INFO_OBJECT (v4l2object->element, "probed caps: %" GST_PTR_FORMAT, ret); LOG_CAPS (v4l2object->element, ret); return ret; diff --git a/win32/common/config.h b/win32/common/config.h index cf4c3761ff049d1ef17b981bd369d2851be5c249..483c33231011c5bb58b84061302d041134ac604e 100644 --- a/win32/common/config.h +++ b/win32/common/config.h @@ -58,7 +58,7 @@ #define GST_PACKAGE_ORIGIN "Unknown package origin" /* GStreamer package release date/time for plugins as YYYY-MM-DD */ -#define GST_PACKAGE_RELEASE_DATETIME "2013-09-24" +#define GST_PACKAGE_RELEASE_DATETIME "2013-11-09" /* Define if static plugins should be built */ #undef GST_PLUGIN_BUILD_STATIC @@ -385,7 +385,7 @@ #define PACKAGE_NAME "GStreamer Good Plug-ins" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GStreamer Good Plug-ins 1.2.0" +#define PACKAGE_STRING "GStreamer Good Plug-ins 1.2.1" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gst-plugins-good" @@ -394,7 +394,7 @@ #undef PACKAGE_URL /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.2.0" +#define PACKAGE_VERSION "1.2.1" /* directory where plugins are located */ #ifdef _DEBUG @@ -428,7 +428,7 @@ #undef TARGET_CPU /* Version number of package */ -#define VERSION "1.2.0" +#define VERSION "1.2.1" /* old wavpack API */ #undef WAVPACK_OLD_API