=== release 1.12.0 === 2017-05-04 Sebastian Dröge * configure.ac: releasing 1.12.0 2017-05-04 13:47:37 +0300 Sebastian Dröge * po/ky.po: * po/sv.po: po: Update translations 2017-05-03 21:13:38 +0800 Ting-Wei Lan * ext/hls/meson.build: meson: hls: libm is required because m3u8.c uses math.h https://bugzilla.gnome.org/show_bug.cgi?id=782119 2017-05-03 13:21:42 +0200 Josep Torra * configure.ac: * sys/applemedia/Makefile.am: * sys/applemedia/plugin.m: * sys/applemedia/qtkitvideosrc.h: * sys/applemedia/qtkitvideosrc.m: qtkit: drop the qtkitvideosrc element The QTKit framework had been deprecated for long in favour of AVFundation framework and we already have avfvideosrc that provides the same functionality. https://bugzilla.gnome.org/show_bug.cgi?id=782078 2017-04-07 17:13:52 +0300 George Kiagiadakis * ext/webrtcdsp/gstwebrtcdsp.cpp: webrtcdsp: fix doc string of echo-cancel property If the echo probe element is not found, initialization actually fails instead of silently working with echo-cancel disabled. https://bugzilla.gnome.org/show_bug.cgi?id=780976 2017-05-02 13:24:30 +0800 Haihua Hu * gst-libs/gst/gl/gstglupload.c: glupload: passthrough composition caps features in directviv upload https://bugzilla.gnome.org/show_bug.cgi?id=782046 2017-04-27 21:21:44 +0100 Tim-Philipp Müller * gst-libs/gst/adaptivedemux/Makefile.am: * tests/check/Makefile.am: tests: fix link problem on centos7 And put LIBS before -lgstfoo in adaptivedemux Makefile.am === release 1.11.91 === 2017-04-27 17:30:38 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiofxbad.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bluez.xml: * docs/plugins/inspect/plugin-bs2b.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-compositor.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dashdemux.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-decklink.xml: * docs/plugins/inspect/plugin-dtls.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faac.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-fbdevsink.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-fluidsynthmidi.xml: * docs/plugins/inspect/plugin-freeverb.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gtk.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-ivfparse.xml: * docs/plugins/inspect/plugin-ivtc.xml: * docs/plugins/inspect/plugin-jp2kdecimator.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-kate.xml: * docs/plugins/inspect/plugin-kms.xml: * docs/plugins/inspect/plugin-ladspa.xml: * docs/plugins/inspect/plugin-midi.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-mxf.xml: * docs/plugins/inspect/plugin-netsim.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-opencv.xml: * docs/plugins/inspect/plugin-openexr.xml: * docs/plugins/inspect/plugin-opengl.xml: * docs/plugins/inspect/plugin-openjpeg.xml: * docs/plugins/inspect/plugin-opusparse.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-qt.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rsvg.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-rtponvif.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdpelem.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-smoothstreaming.xml: * docs/plugins/inspect/plugin-sndfile.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-srtp.xml: * docs/plugins/inspect/plugin-stereo.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-teletext.xml: * docs/plugins/inspect/plugin-ttmlsubs.xml: * docs/plugins/inspect/plugin-uvch264.xml: * docs/plugins/inspect/plugin-vcdsrc.xml: * docs/plugins/inspect/plugin-videofiltersbad.xml: * docs/plugins/inspect/plugin-videoframe_audiolevel.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-videosignal.xml: * docs/plugins/inspect/plugin-vmnc.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-webp.xml: * docs/plugins/inspect/plugin-webrtcdsp.xml: * docs/plugins/inspect/plugin-wildmidi.xml: * docs/plugins/inspect/plugin-x265.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-yadif.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: * meson.build: Release 1.11.91 2017-04-27 16:03:28 +0300 Sebastian Dröge * 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/fur.po: * po/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/ky.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: Update .po files 2017-04-27 15:28:44 +0300 Sebastian Dröge * po/LINGUAS: * po/fur.po: * po/ky.po: * po/sv.po: po: Update translations 2017-04-26 17:46:10 +0800 shakin chou * sys/androidmedia/gstamcvideodec.c: * sys/androidmedia/gstamcvideoenc.c: amcvideodec/enc: Correctly check for no PTS on input buffers MediaCodec gives us a presentation timestamp of 0 if it does not know anything, but GStreamer gives us GST_CLOCK_TIME_NONE. Don't mix up these two. https://bugzilla.gnome.org/show_bug.cgi?id=780190 2017-04-25 15:15:13 +0100 Chris Bass * ext/ttml/ttmlparse.c: ttmlparse: Consolidate adjacent co-styled inline elements A common subtitling use case is live-generated subtitles, in which each new word is contained in its own span, and the spans are displayed sequentially, with the effect that lines of displayed subtitles are built up word-by-word. This can, however, cause problems when the number of words in a block is greater than the number of allowed GstMemorys in a GstBuffer. Since in this use case each span will have the same styling as adjacent spans, we can join adjacent spans (and other inline elements, such as breaks) into a single element containing the concatenated text of each, thus avoiding the limit of GstMemorys in a GstBuffer and also reducing the amount of styling/layout metadata that is attached to each buffer. https://bugzilla.gnome.org/show_bug.cgi?id=781725 2017-04-25 15:33:38 +0100 Chris Bass * ext/ttml/ttmlparse.c: ttmlparse: Don't add GstMemorys to a GstBuffer that is full The parser stores the text from each inline element of a scene in its own GstMemory, which is inserted in the GstBuffer containing the scene data. However, GstBuffers can contain only a limited number of GstMemorys. Therefore, don't add more than the maximum number of GstMemorys to each buffer, and warn if this is attempted. https://bugzilla.gnome.org/show_bug.cgi?id=781725 2017-04-25 15:10:22 +0100 Chris Bass * ext/ttml/ttmlparse.c: ttmlparse: Store newline as text of br element When parsing
elements, store an actual newline in the text field of the created TtmlElement. They then don't need to be treated as a separate case from anon-span elements when being processed. https://bugzilla.gnome.org/show_bug.cgi?id=781725 2017-04-25 10:17:49 +0100 Chris Bass * ext/ttml/ttmlparse.c: ttmlparse: Replace repeated warning code with a function. Encapsulates in a function the code that warns of an illegally positioned element, rather than repeating the same code multiple times. Also frees a string allocated by ttml_get_element_type_string, which was previously being leaked. https://bugzilla.gnome.org/show_bug.cgi?id=781725 2017-04-24 11:34:41 +0100 Chris Bass * ext/ttml/ttmlparse.c: ttmlparse: Remove redundant text_index field of TtmlElement https://bugzilla.gnome.org/show_bug.cgi?id=781725 2017-04-25 10:04:50 +0100 Chris Bass * ext/ttml/ttmlparse.c: ttmlparse: Don't leak TtmlElements when deleting GNodes/trees. https://bugzilla.gnome.org/show_bug.cgi?id=781725 2017-04-25 13:22:33 +0300 Sebastian Dröge * ext/smoothstreaming/gstmssdemux.c: mssdemux: Fix compiler warning ../subprojects/gst-plugins-bad/ext/smoothstreaming/gstmssdemux.c: In function ‘gst_mss_demux_requires_periodical_playlist_update’: ../subprojects/gst-plugins-bad/ext/smoothstreaming/gstmssdemux.c:729:16: error: unused variable ‘mssdemux’ [-Werror=unused-variable] GstMssDemux *mssdemux = GST_MSS_DEMUX_CAST (demux); ^~~~~~~~ cc1: all warnings being treated as errors 2017-04-07 16:33:21 +1000 Matthew Waters * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: separate manifest update task from download tasks Rationale is to allow the manifest update task to continue running while seeks are occurring. Otherwise, if the user reliably performs a seek before the manifest is updated, then as the manifest task is reset on seeks (and thus the time to wait between manifest updates), the manifest would never be updated. This fix makes the manifest update task free-running and continously update even during seeks. 2017-04-07 14:42:24 +1000 Matthew Waters * ext/smoothstreaming/gstmssdemux.c: * ext/smoothstreaming/gstmssmanifest.c: mss: always periodically update the manifest taking the new fragments Without this, for streams where the content is stored indefinitely and can be seeked on, the duration would never increase when in paused or, until we reached near the end of the currently advertised stream (where the internal fragment parser would see descriptions of new fragments). 2017-04-24 20:28:06 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From 60aeef6 to 48a5d85 2017-04-21 21:29:05 -0400 Nicolas Dufresne * sys/kms/gstkmssink.c: kmssink: Add msm to the list of drivers This prevent having to set the driver-name explicitly when running on Qualcomm/MSM boards. 2017-04-20 14:43:45 +0100 Chris Bass * ext/ttml/ttmlparse.c: ttmlparse: Convert tabs to spaces in input The TTML spec has an issue in which tab (U+0009) characters that are first in a sequence of whitespace characters are not suppressed at the start and end of line areas. This issue was reported in [1] and the editor of the TTML specs confirmed that this was not the intention behind the spec. The editor has created an issue to fix this in both the TTML1 and TTML2 specs [2], giving a proposal of what the spec should say. This patch updates ttmlparse to implement the intended behaviour as proposed, in which tabs in the input are converted to spaces before processing. [1] https://github.com/w3c/imsc/issues/224 [2] https://github.com/w3c/ttml1/issues/235 https://bugzilla.gnome.org/show_bug.cgi?id=781539 2017-04-20 10:24:30 +0100 Chris Bass * ext/ttml/ttmlparse.c: ttmlparse: Fix potential resource leak identified by coverity. If multiple styles/regions with the same ID are present in the input (which is not allowed in TTML), use the last and give a warning. Fixes CID #1405134. 2017-04-20 10:22:49 +0100 Chris Bass * ext/ttml/gstttmlrender.c: ttmlrender: Fix potential resource leak identified by coverity Fixes CID #1405133. 2017-04-19 19:08:41 +0100 Sebastian Dröge * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: Revert "decklinkvideo/audiosrc: Add GstReferenceTimestampMeta with the stream time to each buffer" This reverts commit d5684d5b145a3eb0e23476f18669d1ffa552c5de. This shouldn't have been merged before 1.12. 2017-02-25 12:37:46 +0200 Sebastian Dröge * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: decklinkvideo/audiosrc: Add GstReferenceTimestampMeta with the stream time to each buffer This is basically a frame counter provided by the driver and it's advancing at the speed of the HDMI/SDI input. Having this available on each buffer allows to know what constant-framerate-based timestamp each frame is corresponding to and can be used e.g. to write out files accordingly without having the local pipeline clock timestamps used. https://bugzilla.gnome.org/show_bug.cgi?id=779213 2017-04-19 16:06:52 +0100 Chris Bass * ext/ttml/gstttmlrender.c: ttmlrender: Fix potential problem identified by clang Clang's static analyser found potential code paths in which variables were being used in comparisons when uninitialised. Fix by properly handling out-of-range value returned by gst_ttml_get_element_index. 2017-04-19 14:07:06 +0100 Chris Bass * ext/ttml/ttmlparse.c: ttmlparse: Fix potential NULL dereference identified by coverity Hopefully fixes CID #1405131. 2017-04-19 14:00:47 +0100 Chris Bass * ext/ttml/gstttmlrender.c: ttmlrender: Fix integer handling issue identified by coverity Fixes CID #1405132. 2017-04-19 12:36:03 +0100 Sebastian Dröge * ext/hls/gsthlssink.c: * ext/hls/gsthlssink.h: hlssink: Remove some unused struct fields 2017-04-17 19:25:49 +0200 Ole André Vadla Ravnås * sys/nvenc/gstnvbaseenc.c: nvenc: Stop bitstream thread in ::stop() Otherwise we are likely to crash if EOS didn't happen yet. https://bugzilla.gnome.org/show_bug.cgi?id=781410 2017-04-14 13:58:21 +0200 Ole André Vadla Ravnås * sys/nvenc/gstnvbaseenc.c: nvenc: Update to the current gstreamer-gl API https://bugzilla.gnome.org/show_bug.cgi?id=781410 2017-04-14 13:57:19 +0200 Ole André Vadla Ravnås * configure.ac: nvenc: Add support for the Cuda 8.0 SDK https://bugzilla.gnome.org/show_bug.cgi?id=781410 2017-04-12 20:01:40 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: * ext/dash/gstmpdparser.c: dashdemux: Rewrite ISOBMFF & SIDX handling The previous code was handling both as separate steps and then tried to combine the results, but this resulted in all kinds of bugs which showed themselves as failures during seeking and offset tracking getting wrong. This also showed itself with gst-validate on the sample stream. The rewritten code now parses everything in one go and tracks the current offset only once, and as a side effect simplifies the code a lot. Also added is detection of SIDX that point to other SIDX instead of actual media segments, e.g. with this stream: http://dash.akamaized.net/dash264/TestCases/1a/sony/SNE_DASH_SD_CASE1A_REVISED.mpd Support for this will have to be added at some point but that should also be easier with the rewritten code. https://bugzilla.gnome.org/show_bug.cgi?id=781233 2017-04-15 18:17:29 -0700 Thiago Santos * tests/check/elements/dash_mpd.c: tests: dash_mpd: add some inheritance tests Tests regarding inheritance of segment template attributes 2017-04-12 16:58:10 +0900 Seungha Yang * ext/dash/gstmpdparser.c: mpdparser: Do sanity check of Segment Base Information only at Repesentation level Spec 5.3.9.2 is saying about the existence of duration and SegmentTimeline only for Representation level. Other level such as Period or AdaptationSet might not have the attributes. https://bugzilla.gnome.org/show_bug.cgi?id=780570 2017-03-27 10:06:30 +0900 Seungha Yang * ext/dash/gstmpdparser.c: mpdparser: Allow inherit Segment{Base,Template} from Period Similar to SegmentList, Representation can inherit Segment{Base,Template} from Period https://bugzilla.gnome.org/show_bug.cgi?id=780570 2017-04-14 18:16:28 +0200 Edward Hervey * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Don't hold locks when pushing FLUSH_START Some actions (Qos, reconfigure, ...) might take place before we finish pushing out flush_start. One problem would be that: 1) The QOS handling in adaptivedemux takes the MANIFEST LOCK That QOS event comes from basesink with its PREROLL_LOCK taken 2) FLUSH_START is sent from adaptivedemux with the MANIFEST_LOCK taken and the basesink flushing handler needs to take the PREROLL_LOCK => deadlock https://bugzilla.gnome.org/show_bug.cgi?id=781320 2017-04-13 13:27:57 +0200 Edward Hervey * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Fix segment creation/adaptation some more Take into account the segment stop and the negative rates https://bugzilla.gnome.org/show_bug.cgi?id=781267 2017-04-14 01:56:50 +1000 Jan Schmidt * ext/opencv/MotionCells.cpp: motioncells: Fix cell string generation Allow 1 extra char in the tmp buffer where the motion cell snippets are generated, so that it doesn't leave off a comma when dealing with cells that have 2 numerals in both indices 2017-04-13 11:33:41 +0100 Tim-Philipp Müller * configure.ac: * ext/ttml/gstttmlplugin.c: ttml: build, but don't autoplug unless GST_TTML_AUTOPLUG env var is set Don't hide build behind --enable-experimental. Our goal is to not autoplug it for now, so let's just always build it if the dependencies are there and hide autoplugging enablement behind an env var. 2016-10-19 14:56:06 +0200 Philipp Zabel * sys/kms/gstkmssink.c: * sys/kms/gstkmssink.h: kmssink: if the plane can not scale, retry without scaling and remember Retry the drmModeSetPlane call without scaling if the first try fails, and remember not to scale anymore. https://bugzilla.gnome.org/show_bug.cgi?id=781188 2017-04-12 20:09:33 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: Revert "dashdemux: Fix issue when manifest update sets slow start without passing necessary header & caps changes downstream" This reverts commit c9fbf3459a719b2c68ba69ddabd373ea9bf804a2. The representation ID comparision here was wrong and triggering always if the ID did *not* change, causing needless redownloading of the header. The sample stream provided in the bug does not exist anymore. 2017-03-08 15:01:13 -0300 Thibault Saunier * ext/assrender/gstassrender.c: * ext/bs2b/gstbs2b.c: * ext/chromaprint/gstchromaprint.c: * ext/curl/gstcurlbasesink.c: * ext/curl/gstcurlfilesink.c: * ext/curl/gstcurlftpsink.c: * ext/curl/gstcurlhttpsink.c: * ext/curl/gstcurlsftpsink.c: * ext/curl/gstcurlsmtpsink.c: * ext/curl/gstcurlsshsink.c: * ext/curl/gstcurltlssink.c: * ext/daala/gstdaaladec.c: * ext/daala/gstdaalaenc.c: * ext/dash/gstdashdemux.c: * ext/dc1394/gstdc1394src.c: * ext/directfb/dfbvideosink.c: * ext/dts/gstdtsdec.c: * ext/faac/gstfaac.c: * ext/faad/gstfaad.c: * ext/fluidsynth/gstfluiddec.c: * ext/gl/gstglbumper.c: * ext/gl/gstglcolorbalance.c: * ext/gl/gstglcolorscale.c: * ext/gl/gstgldeinterlace.c: * ext/gl/gstgldifferencematte.c: * ext/gl/gstgleffects.c: * ext/gl/gstglfilterapp.c: * ext/gl/gstglfiltercube.c: * ext/gl/gstglfilterglass.c: * ext/gl/gstglfilterreflectedscreen.c: * ext/gl/gstglfiltershader.c: * ext/gl/gstglimagesink.c: * ext/gl/gstglmosaic.c: * ext/gl/gstgloverlay.c: * ext/gl/gstglstereomix.c: * ext/gl/gstglstereosplit.c: * ext/gl/gstgltestsrc.c: * ext/gl/gstgltransformation.c: * ext/gl/gstglvideoflip.c: * ext/gl/gstglvideomixer.c: * ext/gl/gstglviewconvert.c: * ext/gl/gstopengl.c: * ext/gtk/gstgtkbasesink.c: * ext/gtk/gstgtkglsink.c: * ext/gtk/gstgtksink.c: * ext/gtk/gtkgstglwidget.c: * ext/gtk/gtkgstwidget.c: * ext/hls/gsthlsdemux.c: * ext/hls/gsthlssink.c: * ext/iqa/iqa.c: * ext/kate/gstkatedec.c: * ext/kate/gstkateenc.c: * ext/kate/gstkateparse.c: * ext/kate/gstkatetag.c: * ext/kate/gstkatetiger.c: * ext/ladspa/gstladspa.c: * ext/libde265/libde265-dec.c: * ext/lv2/gstlv2.c: * ext/openal/gstopenalsink.c: * ext/openal/gstopenalsrc.c: * ext/opus/gstopusparse.c: * ext/resindvd/rsndec.c: * ext/resindvd/rsninputselector.c: * ext/rsvg/gstrsvgdec.c: * ext/rsvg/gstrsvgoverlay.c: * ext/rtmp/gstrtmpsink.c: * ext/rtmp/gstrtmpsrc.c: * ext/sbc/gstsbcdec.c: * ext/sbc/gstsbcenc.c: * ext/smoothstreaming/gstmssdemux.c: * ext/spandsp/gstdtmfdetect.c: * ext/spandsp/gstspanplc.c: * ext/srtp/gstsrtpdec.c: * ext/srtp/gstsrtpenc.c: * ext/teletextdec/gstteletextdec.c: * ext/ttml/gstttmlparse.c: * ext/ttml/gstttmlrender.c: * ext/ttml/subtitle.c: * ext/ttml/subtitlemeta.c: * ext/voaacenc/gstvoaacenc.c: * ext/voamrwbenc/gstvoamrwbenc.c: * ext/vulkan/gstvulkan.c: * ext/vulkan/vkbuffermemory.c: * ext/vulkan/vkbufferpool.c: * ext/vulkan/vkimagememory.c: * ext/vulkan/vkmemory.c: * ext/vulkan/vksink.c: * ext/vulkan/vkupload.c: * ext/vulkan/vkwindow.c: * ext/wayland/gstwaylandsink.c: * ext/wildmidi/gstwildmidi.c: * ext/x265/gstx265enc.c: * ext/zbar/gstzbar.c: * gst-libs/gst/base/gstaggregator.c: * gst-libs/gst/codecparsers/gsth264parser.c: * gst-libs/gst/codecparsers/gsth265parser.c: * gst-libs/gst/codecparsers/gstjpeg2000sampling.c: * gst-libs/gst/codecparsers/gstjpegparser.c: * gst-libs/gst/codecparsers/gstmpeg4parser.c: * gst-libs/gst/codecparsers/gstmpegvideoparser.c: * gst-libs/gst/codecparsers/gstvc1parser.c: * gst-libs/gst/codecparsers/gstvp8parser.c: * gst-libs/gst/codecparsers/gstvp8parser.h: * gst-libs/gst/codecparsers/gstvp9parser.c: * gst-libs/gst/gl/gstglapi.c: * gst-libs/gst/gl/gstglbasememory.c: * gst-libs/gst/gl/gstglbuffer.c: * gst-libs/gst/gl/gstglbufferpool.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglformat.c: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemorypbo.c: * gst-libs/gst/gl/gstgloverlaycompositor.c: * gst-libs/gst/gl/gstglquery.c: * gst-libs/gst/gl/gstglrenderbuffer.c: * gst-libs/gst/gl/gstglshader.c: * gst-libs/gst/gl/gstglsl.c: * gst-libs/gst/gl/gstglsyncmeta.c: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglviewconvert.c: * gst-libs/gst/mpegts/gst-dvb-descriptor.h: * gst-libs/gst/mpegts/gst-scte-section.h: * gst-libs/gst/player/gstplayer-g-main-context-signal-dispatcher.c: * gst-libs/gst/player/gstplayer-media-info.c: * gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c: * gst-libs/gst/player/gstplayer-visualization.c: * gst-libs/gst/player/gstplayer.c: * gst-libs/gst/video/gstvideoaggregator.c: * gst/accurip/gstaccurip.c: * gst/aiff/aiffmux.c: * gst/aiff/aiffparse.c: * gst/asfmux/gstasfmux.c: * gst/asfmux/gstasfobjects.c: * gst/audiofxbad/gstaudiochannelmix.c: * gst/audiomixer/gstaudiointerleave.c: * gst/audiomixer/gstaudiomixer.c: * gst/audiomixmatrix/gstaudiomixmatrix.c: * gst/audiovisualizers/gstspacescope.c: * gst/audiovisualizers/gstspectrascope.c: * gst/audiovisualizers/gstsynaescope.c: * gst/audiovisualizers/gstwavescope.c: * gst/autoconvert/gstautoconvert.c: * gst/bayer/gstbayer2rgb.c: * gst/camerabin2/camerabingeneral.c: * gst/camerabin2/gstcamerabin2.c: * gst/camerabin2/gstdigitalzoom.c: * gst/camerabin2/gstviewfinderbin.c: * gst/camerabin2/gstwrappercamerabinsrc.c: * gst/coloreffects/gstchromahold.c: * gst/coloreffects/gstcoloreffects.c: * gst/compositor/compositor.c: * gst/debugutils/fpsdisplaysink.c: * gst/debugutils/gstchopmydata.c: * gst/debugutils/gstdebugspy.c: * gst/debugutils/gsterrorignore.c: * gst/debugutils/gstwatchdog.c: * gst/dvbsuboverlay/dvb-sub.c: * gst/dvbsuboverlay/dvb-sub.h: * gst/dvbsuboverlay/gstdvbsuboverlay.c: * gst/dvdspu/gstdvdspu.c: * gst/festival/gstfestival.c: * gst/fieldanalysis/gstfieldanalysis.c: * gst/freeverb/gstfreeverb.c: * gst/gaudieffects/gstburn.c: * gst/gaudieffects/gstchromium.c: * gst/gaudieffects/gstdilate.c: * gst/gaudieffects/gstdodge.c: * gst/gaudieffects/gstexclusion.c: * gst/gaudieffects/gstgaussblur.c: * gst/gaudieffects/gstsolarize.c: * gst/gdp/dataprotocol.c: * gst/gdp/gstgdpdepay.c: * gst/gdp/gstgdppay.c: * gst/geometrictransform/gstbulge.c: * gst/geometrictransform/gstcircle.c: * gst/geometrictransform/gstdiffuse.c: * gst/geometrictransform/gstfisheye.c: * gst/geometrictransform/gstkaleidoscope.c: * gst/geometrictransform/gstmarble.c: * gst/geometrictransform/gstmirror.c: * gst/geometrictransform/gstperspective.c: * gst/geometrictransform/gstpinch.c: * gst/geometrictransform/gstrotate.c: * gst/geometrictransform/gstsphere.c: * gst/geometrictransform/gstsquare.c: * gst/geometrictransform/gststretch.c: * gst/geometrictransform/gsttunnel.c: * gst/geometrictransform/gsttwirl.c: * gst/geometrictransform/gstwaterripple.c: * gst/id3tag/gstid3mux.c: * gst/inter/gstinteraudiosink.c: * gst/inter/gstinteraudiosrc.c: * gst/inter/gstintersubsink.c: * gst/inter/gstintersubsrc.c: * gst/inter/gstintervideosink.c: * gst/inter/gstintervideosrc.c: * gst/interlace/gstinterlace.c: * gst/ivtc/gstcombdetect.c: * gst/ivtc/gstivtc.c: * gst/jp2kdecimator/gstjp2kdecimator.c: * gst/jpegformat/gstjifmux.c: * gst/jpegformat/gstjpegparse.c: * gst/midi/midiparse.c: * gst/mxf/mxfdemux.c: * gst/mxf/mxfmux.c: * gst/pcapparse/gstirtspparse.c: * gst/pcapparse/gstpcapparse.c: * gst/pnm/gstpnmdec.c: * gst/pnm/gstpnmenc.c: * gst/rawparse/gstaudioparse.c: * gst/rawparse/gstvideoparse.c: * gst/removesilence/gstremovesilence.c: * gst/sdp/gstsdpdemux.c: * gst/siren/gstsirendec.c: * gst/siren/gstsirenenc.c: * gst/speed/gstspeed.c: * gst/stereo/gststereo.c: * gst/timecode/gstavwait.c: * gst/timecode/gsttimecodestamper.c: * gst/videofilters/gstscenechange.c: * gst/videofilters/gstvideodiff.c: * gst/videofilters/gstzebrastripe.c: * gst/videoframe_audiolevel/gstvideoframe-audiolevel.c: * gst/videoparsers/gstdiracparse.c: * gst/videosignal/gstsimplevideomark.c: * gst/videosignal/gstsimplevideomarkdetect.c: * gst/videosignal/gstvideoanalyse.c: * gst/y4m/gsty4mdec.c: * gst/yadif/gstyadif.c: * sys/androidmedia/gstahcsrc.c: * sys/androidmedia/gstahssrc.c: * sys/applemedia/atdec.c: * sys/applemedia/vtdec.c: * sys/d3dvideosink/d3dhelpers.c: * sys/d3dvideosink/d3dvideosink.c: * sys/directsound/gstdirectsoundsrc.c: * sys/dvb/gstdvbsrc.c: * sys/kms/gstkmssink.c: * sys/opensles/openslessink.c: * sys/opensles/openslessrc.c: * sys/shm/gstshmsink.c: * sys/shm/gstshmsrc.c: * sys/tinyalsa/tinyalsasink.c: * sys/uvch264/gstuvch264_mjpgdemux.c: * sys/uvch264/gstuvch264_src.c: * sys/vdpau/gstvdpsink.h: * sys/vdpau/gstvdpvideomemory.c: * sys/vdpau/gstvdpvideopostprocess.c: * sys/wasapi/gstwasapisink.c: * sys/wasapi/gstwasapisrc.c: * sys/winks/gstksvideosrc.c: * sys/winscreencap/gstdx9screencapsrc.c: * sys/winscreencap/gstgdiscreencapsrc.c: docs: Port all docstring to gtk-doc markdown 2017-03-27 15:29:16 -0300 Thibault Saunier * gst/rawparse/gstvideoparse.c: rawvideoparse: videoparse now uses GstValueArray and not GValueArray 2017-04-12 09:35:16 -0300 Thibault Saunier * gst-libs/gst/gl/gstglsl.h: docs: Stop linking to inexistant symbols 2017-04-12 12:06:52 -0300 Thibault Saunier * gst-libs/gst/base/gstaggregator.h: aggregator: Make instance var name match between .c and .h Making GI happy 2017-04-12 13:17:24 +0300 Sebastian Dröge * sys/directsound/gstdirectsoundsrc.c: * sys/directsound/gstdirectsoundsrc.h: Revert "directsoundsrc: Correctly calculate segsize and segtotal" This reverts commit 6d256d9908e292f6c593bf45e69354f6b613cc8b. It was configuring the period/buffer size in a way that often causes drop-outs or complete underruns. Needs further investigation. 2017-04-12 10:54:23 +0200 Edward Hervey * ext/dash/gstmpdparser.c: mpdparser: Fix leak The error: location takes care of freeing new_representation CID #1405027 2017-04-12 10:54:05 +0200 Edward Hervey * ext/dash/gstmpdparser.c: mpdparser: Run gst-indent 2017-04-11 15:46:19 +0300 Claudio Saavedra * gst-libs/gst/gl/meson.build: meson: add missing gstglrenderbuffer.h header https://bugzilla.gnome.org/show_bug.cgi?id=781179 2017-04-11 09:42:49 +0100 Tim-Philipp Müller * sys/decklink/meson.build: meson: decklink: fix meson configure error on macOS "meson encountered an error in file sys/decklink/meson.build, line 33, column 2: Invalid use of addition: must be str, not list" Also remove nonsensical linker flags on windows. https://bugzilla.gnome.org/show_bug.cgi?id=781156 2016-12-30 14:05:30 -0500 Fabian Orccon * configure.ac: * gst/faceoverlay/gstfaceoverlay.c: * gst/meson.build: faceoverlay: Port to GStreamer 1.x https://bugzilla.gnome.org/show_bug.cgi?id=764011 2017-04-05 16:03:08 -0500 Fabian Orccon * configure.ac: * gst/faceoverlay/Makefile.am: * gst/faceoverlay/gstfaceoverlay.c: * gst/faceoverlay/gstfaceoverlay.h: * gst/faceoverlay/meson.build: * gst/meson.build: faceoverlay: Revert deletion https://bugzilla.gnome.org/show_bug.cgi?id=764011 2017-03-03 09:08:06 +0100 Jürgen Sachs * ext/dash/gstmpdparser.c: dashdemux/mpdparser: Fix wrong false sanity check for manifests with nested SegmentTemplate nodes https://bugzilla.gnome.org/show_bug.cgi?id=778237 2017-04-10 23:49:16 +0100 Tim-Philipp Müller * autogen.sh: * common: Automatic update of common submodule From 39ac2f5 to 60aeef6 2017-04-10 18:46:01 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Handle current SIDX before current position in normal mode like in keyunit-only trick mode Otherwise we'll get into an infinite loop here. Now this is still not correct and will cause a clean error, but at least it won't hang forever anymore. 2017-04-07 12:19:27 -0700 Scott D Phillips * gst-libs/gst/gl/gstglconfig.h.meson: * gst-libs/gst/gl/meson.build: meson: gl: set default value of 0 for glconf vars meson's configure_file emits only a comment like /* #undef ... */ for values which are unset in the configuration_data. For gstglconfig.h, this differs from the autotools build where the preprocessor definitions are always either 0 or 1. So loop over a list of variables to set to zero as default. Also sync up the gstglconfig.h.meson file with the additional macros defined by the autotools build. https://bugzilla.gnome.org/show_bug.cgi?id=781043 2017-04-07 10:19:43 +0100 Vincent Penquerc'h * gst-libs/gst/base/gstaggregator.c: gstaggregator: fix event use after free https://bugzilla.gnome.org/show_bug.cgi?id=781017 2017-04-07 10:39:31 +0100 Vincent Penquerc'h * gst/mxf/mxfmux.c: mxfmux: fix index entry leak https://bugzilla.gnome.org/show_bug.cgi?id=781023 2017-04-07 10:36:34 +0100 Vincent Penquerc'h * tests/check/elements/videoframe-audiolevel.c: tests: fix leak in videoframe-audiolevel test also add braces for the else case https://bugzilla.gnome.org/show_bug.cgi?id=781022 2017-04-07 10:30:09 +0100 Vincent Penquerc'h * gst-libs/gst/gl/egl/gstglcontext_egl.c: glcontext: fix display leak https://bugzilla.gnome.org/show_bug.cgi?id=781019 2017-04-07 10:24:19 +0100 Vincent Penquerc'h * gst-libs/gst/gl/gstgldisplay.c: gldisplay: fix list leak Windows aren't always removed in time, and it turns out to be very, very hard to remove a window in a way that's not racy and not deadlocky. Since the window itself doesn't leak, freeing the list on object destruction is enough. https://bugzilla.gnome.org/show_bug.cgi?id=781018 2017-04-07 10:43:51 +0100 Vincent Penquerc'h * gst-libs/gst/mpegts/gstmpegtsdescriptor.c: mpegts: fix invalid memory access in language descriptor Also add a couple sanity asserts/returns https://bugzilla.gnome.org/show_bug.cgi?id=781024 2017-03-27 09:56:32 +0900 Seungha Yang * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: mpdparser: Report error if Representation is invalid Spec "5.3.5 Representation" is saying that id and bandwidth attributes are mandatory fields. https://bugzilla.gnome.org/show_bug.cgi?id=780569 2017-03-24 15:04:21 +0900 Seungha Yang * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Retry downloading a fragment immediately if any in live streaming At the moment that demux is waiting manifest update, the target sequence of fragment was advanced already. So, checking stream_has_next_fragment() means looking for the next fragment of target fragment. This might cause unexpected buffering if each fragment has large duration and manifest is listing only limited number of fragments. https://bugzilla.gnome.org/show_bug.cgi?id=780494 2017-03-24 08:16:35 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Fix SEEK of multi-period On-Demand profile For each period, media presentation is the relative to the period-start time. So SIDX seek position should be target seek position minus period-start. Also, if presentationTimeOffset is defined, the value should be compensated https://bugzilla.gnome.org/show_bug.cgi?id=780397 2017-04-04 11:47:55 +0100 Chris Bass * ext/ttml/gstttmlparse.c: ttmlparse: push segment events downstream Without this, subtitles will stop after seeking. https://bugzilla.gnome.org/show_bug.cgi?id=780897 2017-04-07 10:16:46 +0100 Chris Bass * ext/ttml/ttmlparse.c: ttmlparse: don't filter out untimed whitespace Significant whitespace in elements that don't have begin/end values should inherit timing from its parent, or if no its parents have no timing, from the document's Root Temporal Extent. Currently, such whitespace is removed, which is not spec-compliant. Fix this by retaining whitespace in content nodes, and assigning a Root Temporal Extent of 24 hours to any significant whitespace whose parents have no associated timing. https://bugzilla.gnome.org/show_bug.cgi?id=781027 2017-03-22 10:41:44 +0000 Chris Bass * ext/ttml/gstttmlparse.c: ttmlparse: don't leak caps. https://bugzilla.gnome.org/show_bug.cgi?id=780402 2017-03-22 10:35:38 +0000 Chris Bass * ext/ttml/gstttmlrender.c: ttmlrender: improve function comments/descriptions https://bugzilla.gnome.org/show_bug.cgi?id=780402 2017-03-22 10:30:47 +0000 Chris Bass * ext/ttml/gstttmlrender.c: ttmlrender: relocate type definitions to head of file https://bugzilla.gnome.org/show_bug.cgi?id=780402 2017-03-22 10:21:28 +0000 Chris Bass * ext/ttml/gstttmlrender.c: * ext/ttml/subtitle.c: * ext/ttml/ttmlparse.c: ttml: correctly implement lineHeight behaviour The specified behaviour in TTML when lineHeight is "normal" is different from the behaviour when a percentage is given. In the former case, the line height is a percentage (the TTML spec recommends 125%) of the largest font size that is applied to the spans within the block; in the latter case, the line height is the given percentage of the font size that is applied to the block itself. The code doesn't correctly implement this behaviour; this patch fixes that. https://bugzilla.gnome.org/show_bug.cgi?id=780402 2017-03-22 09:21:09 +0000 Chris Bass * ext/ttml/gstttmlrender.c: * ext/ttml/gstttmlrender.h: ttmlrender: apply correct line height to blocks with multiple text sizes In TTML, the height of every line in a block is determined by lineHeight and fontSize style attributes, and should be the same for each line in that block, regardless of whether different sized text appears on different lines. Currently, a single PangoLayout is used to lay out all the text in a block; however, pango will vary the line height in a layout depending on the size of text used in each line, which is not compliant with TTML. This patch makes ttmlrender lay out the lines in a block itself, rather than using a PangoLayout to do the work. The code still uses a PangoLayout to render the text of each element, but the overall layout of the text in a block is now controlled by ttmlrender itself. By doing this, ttmlrender is able to ensure that the height of each line in a block is correct. https://bugzilla.gnome.org/show_bug.cgi?id=780402 2017-03-21 15:05:18 +0000 Chris Bass * ext/ttml/gstttmlrender.c: ttmlrender: add facility to stitch images in both directions https://bugzilla.gnome.org/show_bug.cgi?id=780402 2017-03-21 14:39:39 +0000 Chris Bass * ext/ttml/gstttmlrender.c: ttmlrender: extend UnifiedElement type to include font metrics https://bugzilla.gnome.org/show_bug.cgi?id=780402 2017-03-21 14:11:42 +0000 Chris Bass * ext/ttml/gstttmlrender.c: ttmlrender: extend UnifiedBlock type Include a reference to the GstSubtitleStyleSet of the represented block and a string containing the concatenated text from all elements. https://bugzilla.gnome.org/show_bug.cgi?id=780402 2017-03-21 13:50:12 +0000 Chris Bass * ext/ttml/gstttmlrender.c: * ext/ttml/subtitle.c: * ext/ttml/subtitle.h: ttml: add refcounting to GstSubtitleStlyeSet type https://bugzilla.gnome.org/show_bug.cgi?id=780402 2017-03-21 12:15:50 +0000 Chris Bass * ext/ttml/gstttmlrender.c: ttmlrender: rename TextRange type and its fields. https://bugzilla.gnome.org/show_bug.cgi?id=780402 2017-03-21 12:12:28 +0000 Chris Bass * ext/ttml/gstttmlrender.c: * ext/ttml/gstttmlrender.h: ttmlrender: store PangoLayout in object state https://bugzilla.gnome.org/show_bug.cgi?id=780402 2017-03-21 11:28:31 +0000 Chris Bass * ext/ttml/gstttmlrender.c: ttmlrender: put all functions in gst_ttml_render namespace https://bugzilla.gnome.org/show_bug.cgi?id=780402 2017-04-08 21:28:58 +1000 Jan Schmidt * gst-libs/gst/gl/gstglframebuffer.h: gl: Remove duplicate typedef of GstGLFramebufferClass The GstGLFramebufferClass struct is typedeffed in gstgl_fwd.h, and having a duplicate elsewhere is breaking the cerbero build on my OSX machine, even though it seems to be working in CI. 2017-04-08 10:08:04 +0100 Tim-Philipp Müller * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/dash_demux.c: tests: dash: don't use deprecated g_object_newv() 2017-04-07 18:49:52 +0200 Mathieu Duponchelle * gst-libs/gst/video/gstvideoaggregator.c: videoaggregator: Do not mix the same buffer twice when EOS. When entering this code path, we know that: We received EOS on this pad. We consumed all its buffers. In any case, we want to replace vaggpad->buffer with NULL, otherwise we will end up mixing the same buffer twice. https://bugzilla.gnome.org/show_bug.cgi?id=781037 === release 1.11.90 === 2017-04-07 16:32:24 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiofxbad.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bluez.xml: * docs/plugins/inspect/plugin-bs2b.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-compositor.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dashdemux.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-decklink.xml: * docs/plugins/inspect/plugin-dtls.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faac.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-fbdevsink.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-fluidsynthmidi.xml: * docs/plugins/inspect/plugin-freeverb.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gtk.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-ivfparse.xml: * docs/plugins/inspect/plugin-ivtc.xml: * docs/plugins/inspect/plugin-jp2kdecimator.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-kate.xml: * docs/plugins/inspect/plugin-kms.xml: * docs/plugins/inspect/plugin-ladspa.xml: * docs/plugins/inspect/plugin-midi.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-mxf.xml: * docs/plugins/inspect/plugin-netsim.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-opencv.xml: * docs/plugins/inspect/plugin-openexr.xml: * docs/plugins/inspect/plugin-opengl.xml: * docs/plugins/inspect/plugin-openjpeg.xml: * docs/plugins/inspect/plugin-opusparse.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-qt.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rsvg.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-rtponvif.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdpelem.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-smoothstreaming.xml: * docs/plugins/inspect/plugin-sndfile.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-srtp.xml: * docs/plugins/inspect/plugin-stereo.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-teletext.xml: * docs/plugins/inspect/plugin-uvch264.xml: * docs/plugins/inspect/plugin-vcdsrc.xml: * docs/plugins/inspect/plugin-videofiltersbad.xml: * docs/plugins/inspect/plugin-videoframe_audiolevel.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-videosignal.xml: * docs/plugins/inspect/plugin-vmnc.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-webp.xml: * docs/plugins/inspect/plugin-webrtcdsp.xml: * docs/plugins/inspect/plugin-wildmidi.xml: * docs/plugins/inspect/plugin-x265.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-yadif.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: * meson.build: Release 1.11.90 2017-04-07 15:31:12 +0300 Sebastian Dröge * 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/ky.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: Update .po files 2017-04-07 15:06:50 +0300 Sebastian Dröge * po/hu.po: * po/ky.po: * po/sv.po: po: Update translations 2017-04-07 14:44:54 +0300 Sebastian Dröge * win32/common/libgsturidownloader.def: win32: Update libgsturidownloader.def 2017-04-07 16:32:40 +1000 Matthew Waters * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: add some reasons on warning reporting 2017-04-06 16:13:41 +0300 Sebastian Dröge * sys/directsound/gstdirectsoundsrc.c: * sys/directsound/gstdirectsoundsrc.h: directsoundsrc: Correctly calculate segsize and segtotal segsize should be based on latency-time, and must be a multiple of the frame size. segtotal should be based on buffer-time and segsize. This prevents errors caused by outputting buffers that are not a multiple of the frame size, and actually makes the buffer-time and latency-time properties do what they're supposed to do. 2017-03-17 12:58:06 +0200 Sebastian Dröge * gst-libs/gst/uridownloader/gsturidownloader.c: uridownloader: Use a GWeakRef to the parent to prevent a reference cycle https://bugzilla.gnome.org/show_bug.cgi?id=780140 2015-12-09 13:19:11 -0300 Thiago Santos * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: set uridownloader's parent Allows internal http source to request contexts and share cookies with the pipeline in case the server imposes any restriction based on cookies. 2015-12-09 13:12:42 -0300 Thiago Santos * gst-libs/gst/uridownloader/gsturidownloader.c: * gst-libs/gst/uridownloader/gsturidownloader.h: uridownloader: add new gst_uri_downloader_set_parent If set, the parent is used to proxy need-context messages from uridownloader's http source in order to get cookies/headers from the pipeline. Based on a patch from Philippe Normand https://bugzilla.gnome.org/show_bug.cgi?id=726314 2017-04-01 17:00:47 +0200 Josep Torra * .gitignore: examples: add audiomixmatrix test to .gitignore 2017-04-01 16:49:15 +0200 Josep Torra * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: glwindow/cocoa: fix warnings reported by XCode 8.1.0 gstglwindow_cocoa.m:345:16: error: unused variable 'window' [-Werror,-Wunused-variable] GstGLWindow *window = GST_GL_WINDOW (window_cocoa); ^ gstglwindow_cocoa.m:445:11: error: unused variable 'external_view' [-Werror,-Wunused-variable] NSView *external_view = (__bridge NSView *)priv->external_view; ^ 2017-03-31 23:40:05 +1300 Douglas Bagnall * gst/audiomixer/gstaudiointerleave.c: audiointerleave: don't overflow channel map with >64 channels When there are more than 64 channels, we don't want to exceed the bounds of the ordering_map buffer, and in these cases we don't want to remap at all. Here we avoid doing that. Based on a patch originally for plugins-good/interleave in https://bugzilla.gnome.org/show_bug.cgi?id=780331 2017-03-29 23:45:21 -0400 Nicolas Dufresne * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c: gldisplay: Fix assert caused by missing debug category 2017-03-29 23:36:50 -0400 Nicolas Dufresne * ext/mplex/meson.build: meson: Fix mplex plugin file name Meson was creating libgstmplex2.so which didn't match the plugin name 'mplex'. 2017-03-27 18:14:54 +0300 George Kiagiadakis * ext/webrtcdsp/gstwebrtcechoprobe.cpp: webrtcechoprobe: return from _read() early if the probe is not configured yet https://bugzilla.gnome.org/show_bug.cgi?id=780642 2017-03-28 16:04:15 +0100 Luis de Bethencourt * ext/dash/gstdashdemux.c: dashdemux: fix typo in implementation notes s/enveloppe/envelope 2017-03-27 21:15:32 -0400 Nicolas Dufresne * ext/meson.build: * ext/webrtcdsp/meson.build: webrtcdsp: Add support to build with meson 2017-02-23 16:12:38 +0100 Mathieu Duponchelle * ext/webrtcdsp/gstwebrtcdsp.cpp: webrtcdsp: expose voice activity detection. The element now exposes properties to enable and configure voice activity detection, and posts "voice-activity" messages when the return value of stream_has_voice () changes. https://bugzilla.gnome.org/show_bug.cgi?id=779138 2017-03-27 15:10:45 -0400 Nicolas Dufresne * gst/audiomixmatrix/gstaudiomixmatrix.c: audiomixmatrix: Don't crash if matrix is unset Fix a crash ff one set in_channels/out_channels to non-zero, and then get the matrix property. 2017-03-27 13:34:19 -0400 Nicolas Dufresne * gst/audiomixmatrix/gstaudiomixmatrix.c: audiomixmatrix: Remove property matrix-value-array This duplicated property is no longer needed as there is now API to allow bindings access GST_TYPE_ARRAY (see gst_util_get/set/object_array). Additionnally, Python has proper overrides which will make this looks like Python. A 2x2 matrix would be set this way: element = matrix = Gst.ValueArray(Gst.ValueArray([1.0, -1.0]), Gst.ValueArray([1.0, -1.0)) Notice that you need to "cast" each arrays to Gst.ValueArray, otherwise there is an ambiguity between Gst.ValueArray and Gst.ValueList list type. Fortunatly, Gst.ValueArray implements the Sequence interface, so it can be indexed like normal python matrix. 2017-03-01 20:51:43 +1100 Matthew Waters * ext/smoothstreaming/gstmssmanifest.c: mssdemux: only add live fragments after manifest fragments A live manifest may have a set (> LookAheadFragmentCount) of fragments that have already been served and are stored on the server, maybe indefinitely. Adding the parsed live fragments after the manifest fragments breaks duration reporting and the seekable range. Fix by only adding parsed fragments outside the list of fragments which assumes that the fragment list in the manifest is accurate enough to not stray too far off what's in the retrieved data. https://bugzilla.gnome.org/show_bug.cgi?id=779447 2017-03-24 15:43:07 -0400 Nicolas Dufresne * ext/kate/meson.build: * ext/mpeg2enc/meson.build: * ext/mplex/meson.build: Add missing include path for gst/glib-compat-prive.h This fixes build failure in mplex and mpeg2enc plugins and most likely in kate plugin (untested). 2017-03-24 14:25:48 +0200 Sebastian Dröge * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkaudiosrc.h: * sys/decklink/gstdecklinkvideosrc.cpp: * sys/decklink/gstdecklinkvideosrc.h: decklink: Use GstQueueArray instead of GQueue Let's save two allocations and frees per frame. 2017-03-23 02:48:10 +0530 Nirbheek Chauhan * ext/meson.build: * ext/mpeg2enc/meson.build: * ext/mplex/meson.build: * meson.build: meson: Build mpeg2enc and mplex when available 2017-03-22 17:38:20 +0200 Sebastian Dröge * sys/kms/gstkmssink.c: kmssink: Fix compiler warning with gcc 7 gstkmssink.c: In function ‘gst_kms_sink_get_input_buffer’: gstkmssink.c:1102:29: error: ‘mems[0]’ may be used uninitialized in this function [-Werror=maybe-uninitialized] kmsmem = (GstKMSMemory *) get_cached_kmsmem (mems[0]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors 2017-03-23 00:49:43 +1100 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Don't send EOS on pads when there's a pending switch When there are new pads pending for a bitrate switch, don't allow EOS through from the old streams. It will be sent when the new pads are ready, just before the old streams are removed. This fixes racy bitrate switching with hlsdemux in urisourcebin where old pads EOS before new pads appear and the entire pipeline can EOS if those propagate fast enough 2017-03-22 20:10:57 +0900 Seungha Yang * gst-libs/gst/player/gstplayer-media-info-private.h: * gst-libs/gst/player/gstplayer-media-info.c: * gst-libs/gst/player/gstplayer.c: player: Make use of GstStreams API with playbin3 Allow use of playbin3 and GstStreams API by setting the environment variable "GST_PLAYER_USE_PLAYBIN3" https://bugzilla.gnome.org/show_bug.cgi?id=775487 2017-03-21 18:16:52 +0100 Georg Lippitsch * sys/decklink/gstdecklinkvideosrc.cpp: decklinkvideosrc: Add read-only "signal" property https://bugzilla.gnome.org/show_bug.cgi?id=780367 2017-03-22 13:22:40 +0200 Sebastian Dröge * gst/audiobuffersplit/gstaudiobuffersplit.c: audiobuffersplit: Install srcpad query function on the srcpad, not the sinkpad 2017-03-22 12:04:35 +0200 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstmpdparser.c: dashdemux: In reverse playback mode, if seeking to the beginning of a fragment, start with the previous one instead There's no point to start downloading a fragment just to output 1ns. 2017-03-21 20:37:17 +0200 Sebastian Dröge * ext/dash/gstmpdparser.c: dashdemux: Implement SNAP_NEAREST seeks 2017-03-21 20:36:02 +0200 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Don't use ABS() for calculating differences We know which number is bigger. 2017-03-21 20:27:10 +0200 Sebastian Dröge * ext/dash/gstmpdparser.c: dashdemux: Only snap seeks forwards if the seek position does not happen to be the exact segment position 2017-03-21 20:14:53 +0200 Sebastian Dröge * ext/dash/gstmpdparser.c: dashdemux: Use gst_mpdparser_get_segment_end_time() directly instead of calculating it again It does the exact same calculations. 2017-03-06 19:44:02 +0200 Sebastian Dröge * ext/dash/gstmpdparser.c: mpdparser: Refactor to get rid of one level of indentation in seeking code Also go out of the segment searching loop once segment->start > ts. We're not going to find any earlier segment anymore. 2017-03-21 16:18:15 +0200 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Fix snap SIDX seeking and report if we're going outside the index Instead of just going to the first or last fragment, report if we're going outside the index. This should never happen unless there's a bug or the stream is broken. Allow some possibility for inaccuracies here though. 2017-03-21 10:20:49 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/camutils.c: dvb: camutils: drop macro disabling glib deprecation warnings No longer needed. 2017-03-20 15:19:08 -0700 Scott D Phillips * gst-libs/gst/Makefile.am: build: declare dependency from gl on allocators libgstgl has a dependency on libgstallocators starting with: ed1e4c1 glupload: Add support for Vivante DirectTexture uploads The dependency wasn't stated in the Makefile, so the build could occasionally fail if you got unlucky with the ordering of build steps. https://bugzilla.gnome.org/show_bug.cgi?id=780330 2017-03-20 19:57:32 +0000 Tim-Philipp Müller * sys/dvb/Makefile.am: dvb: fix distcheck Apparently automake automatically dists README files, but can't handle when they disappear. 2017-03-20 17:15:54 +0000 Tim-Philipp Müller * ext/assrender/gstassrender.c: * gst/dvbsuboverlay/gstdvbsuboverlay.c: * gst/speed/Makefile.am: * gst/speed/demo-mp3.c: * scripts/autoplugins.sh: * sys/dvb/README: * sys/dvb/gstdvbsrc.c: Update for 'mad' mp3 decoder removal https://bugzilla.gnome.org/show_bug.cgi?id=776140 2017-03-17 15:34:33 +0900 Seungha Yang * ext/hls/m3u8.c: m3u8: Fix parsing EXT-X-DISCONTINUITY EXT-X-DISCONTINUITY tag should have no trailing ":" character https://bugzilla.gnome.org/show_bug.cgi?id=780179 2017-03-17 16:47:07 +0900 Seungha Yang * ext/hls/m3u8.c: m3u8: Release m3u8 lock if consistent checking failed To fix deadlock during live m3u8 update https://bugzilla.gnome.org/show_bug.cgi?id=780180 2017-03-16 12:35:40 +0200 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Just reset SIDX parser if the index is invalid for the current segment https://bugzilla.gnome.org/show_bug.cgi?id=780108 2016-12-23 11:07:00 +0000 Chris Bass * ext/ttml/gstttmlrender.c: * ext/ttml/ttmlparse.c: ttml: Replace assertions Remove assertions and replace, where necessary, with code that handles the error cases. https://bugzilla.gnome.org/show_bug.cgi?id=776436 2017-03-15 13:24:57 +0200 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: If a SIDX seek failed although we're in the correct segment, disable the SIDX usage for this segment The SIDX apparently does not contain information about the current segment, so better stop using it instead of using incorrect values. 2017-03-15 13:24:04 +0200 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: dashdemux: Keep track of the PTS, not the SIDX index position between representations There is no guarantee that the index positions are the same between representations, and assuming this easily causes us to get into invalid index positions. 2017-03-15 13:21:38 +0200 Sebastian Dröge * ext/dash/gstisoff.c: dashdemux: When clearing the sidx parser, reset all state And especially don't keep entry count and index around, we have no entries anymore after clearing. 2017-03-15 10:17:59 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Drain buffer at the end of subfragment Some of streams such as below have tailing boxes at the end of subfragment. http://dash.akamaized.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd https://bugzilla.gnome.org/show_bug.cgi?id=776200 2017-03-15 09:24:39 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Do not advace subfragment after pending SIDX seek done If a MPD is On-Demand profile and no index described, demux will terminate download loop after parsing inband SIDX with flow return custom-success. At this moment, SIDX index is excat target position, but finish_fragment() might cause re-advancing subfragment depending on MPD structure. https://bugzilla.gnome.org/show_bug.cgi?id=776200 2017-03-14 19:47:17 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Reset SIDX related variables per fragment SIDX's base offset (i.e., byte offset of SIDX + sidx.first_offset) mostly vary as per fragment. Also, target SIDX index must be zero for the new fragment. https://bugzilla.gnome.org/show_bug.cgi?id=776200 2017-03-14 20:15:31 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Two depth seeking for On-Demand profile Try to find fragment using MPD first, then do refinement to find target subframgnet using SIDX if possible. Note that, if target fragment was moved from the previously activated one, we should assume that the last SIDX is invalid for new fragment. https://bugzilla.gnome.org/show_bug.cgi?id=776200 2017-03-14 19:41:56 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Exception handle in _sidx_seek() If target seek position is outside of the range of sidx entries, binary search returns NULL pointer. https://bugzilla.gnome.org/show_bug.cgi?id=776200 2017-03-14 19:27:45 +0200 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Add assertion for preventing of access after the end of the sidx entries array Better crash cleanly here than reading some random numbers from memory. 2017-03-14 14:18:17 -0700 Scott D Phillips * gst-libs/gst/gl/gstglformat.c: gl/format: correct return enums in gst_gl_format_from_video_info In commit > 956c4d0 gl/format: use our own GL format enum's instead of gstvideo's the name and return type of gst_gl_format_from_video_info changed, but some returns of the old type were missed. Here they are updated to the correct type. https://bugzilla.gnome.org/show_bug.cgi?id=780064 2017-03-14 16:46:14 -0400 Olivier Crête * tests/check/elements/srtp.c: srtp test: Remove deprecation disabling No deprecated APIs are used. 2017-03-07 21:56:03 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Advance subfragment only if any exist SIDX based playback is not restricted to SegmentBase, but it possible with SegmentList/SegmentTemplate. In the latter case, each fragment has its own SIDX box and might be subdivided into subfragment. So, demux should not assume that the end of subfragment is the end of stream. Moreover, should try advance subfragment only if there are remaining subfragments. With additional fixes by Sebastian Dröge https://bugzilla.gnome.org/show_bug.cgi?id=776200 2017-03-13 16:06:53 +0200 George Kiagiadakis * sys/kms/gstkmssink.c: kmssink: adjust memory offset calculation for dmabuf buffers The data in the dmabuf fd may not start from byte 0, therefore we need to inform DRM about this additional offset. https://bugzilla.gnome.org/show_bug.cgi?id=779790 2017-03-13 15:48:33 +0200 George Kiagiadakis * gst-libs/gst/gl/gstglupload.c: glupload: adjust memory offset calculation for dmabuf buffers The data in the dmabuf fd may not start from byte 0, therefore we need to inform EGL about this additional offset. https://bugzilla.gnome.org/show_bug.cgi?id=779790 2017-03-13 12:46:47 +0200 George Kiagiadakis * ext/wayland/wllinuxdmabuf.c: waylandsink: fix memory offset calculation for dmabuf buffers https://bugzilla.gnome.org/show_bug.cgi?id=779790 2017-03-14 16:49:25 +1100 Matthew Waters * ext/dash/gstmpdparser.c: * ext/hls/m3u8.c: * ext/smoothstreaming/gstmssmanifest.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: * tests/check/elements/hlsdemux_m3u8.c: Revert "adaptivedemux: answer duration queries for live streams" Completely disabling duration reporting with live streams is not cool. This reverts commit e1b68d9a65ba512a52c3a2b298fa830a445eb451. https://bugzilla.gnome.org/show_bug.cgi?id=753879 2017-03-14 14:15:00 +1100 Matthew Waters * ext/gl/caopengllayersink.m: * ext/gl/gltestsrc.c: * ext/gl/gstglfiltercube.c: * ext/gl/gstglimagesink.c: * ext/gl/gstgloverlay.c: * ext/gl/gstgltransformation.c: * ext/gtk/gtkgstglwidget.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglviewconvert.c: * tests/check/libs/gstglcontext.c: * tests/check/libs/gstglupload.c: gl: GL_ARRAY_BUFFER is not a part of VAO state As a result we need to bind it on every draw in order to have the correct state in the GL state machine. 2017-03-14 11:39:23 +1100 Matthew Waters * sys/applemedia/iosurfacememory.c: applemedia/iosurfacememory: Fix missing variable name change 956c4d0bde4d6707ccae2b4ae6dfba8500e55217 missed a variable name change. Fix that. 2017-03-13 14:28:47 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * ext/gl/gstgldifferencematte.c: * ext/gl/gstgleffects.c: * ext/gl/gstgloverlay.c: * ext/qt/gstqtsrc.cc: * gst-libs/gst/gl/egl/gsteglimage.c: * gst-libs/gst/gl/egl/gsteglimage.h: * gst-libs/gst/gl/egl/gstglmemoryegl.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglformat.c: * gst-libs/gst/gl/gstglformat.h: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstglmemorypbo.c: * gst-libs/gst/gl/gstglmemorypbo.h: * gst-libs/gst/gl/gstgloverlaycompositor.c: * gst-libs/gst/gl/gstglrenderbuffer.c: * gst-libs/gst/gl/gstglrenderbuffer.h: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglviewconvert.c: * sys/androidmedia/gstamcvideodec.c: * sys/applemedia/corevideobuffer.c: * sys/applemedia/iosglmemory.c: * sys/applemedia/iosglmemory.h: * sys/applemedia/iosurfacememory.c: * sys/applemedia/iosurfacememory.h: * sys/applemedia/videotexturecache.m: * tests/check/libs/gstglcolorconvert.c: * tests/check/libs/gstglcontext.c: * tests/check/libs/gstglmemory.c: * tests/check/libs/gstglupload.c: gl/format: use our own GL format enum's instead of gstvideo's They can describe in more detail (such as component sizes) the requested format. 2017-03-10 16:57:51 +0000 Vincent Penquerc'h * gst-libs/gst/gl/gstglupload.c: glupload: fix GValue leak https://bugzilla.gnome.org/show_bug.cgi?id=779869 2017-03-12 11:50:50 -0400 Nicolas Dufresne * Makefile.am: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-kms.xml: * docs/plugins/inspect/plugin-teletext.xml: Add old plugins names to cruft list This helps fixing uninstalled setup. Also fixes some path in plugin xml files. https://bugzilla.gnome.org/show_bug.cgi?id=779344 2015-09-23 17:12:34 +0200 Samuel Maroy * sys/shm/gstshmsink.c: shmsink: continue polling after EINTR https://bugzilla.gnome.org/show_bug.cgi?id=779856 2017-03-02 14:36:56 +0800 Haihua Hu * gst-libs/gst/player/gstplayer.c: player: Fix setting of external subtitle URI gst_player_set_uri_internal shouldn't free suburi which maybe set by user to load external subtitle before start play. It just need reset playbin's subutri property to NULL no matter if there was a previous one or not. https://bugzilla.gnome.org/show_bug.cgi?id=779453 2017-03-09 10:09:40 +0200 Sebastian Dröge * sys/applemedia/avfvideosrc.m: avfvideosrc: Use AVCaptureDeviceTypeBuiltInDuoCamera instead of DualCamera for now The former is deprecated in 10.2 but we don't require that SDK yet. 2017-03-08 22:28:15 -0500 Nicolas Dufresne * Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: Fix doc generation This regression was caused by the renaming of plugin-sdp into plugin-sdpelem. The doc reference needed an update. Also, add the old xml to the cruft file list. https://bugzilla.gnome.org/show_bug.cgi?id=779344 2017-03-05 15:27:11 -0500 Nicolas Dufresne * ext/dash/Makefile.am: * ext/smoothstreaming/Makefile.am: dash/smoothstreaming: Use GST_PLUGIN_LIBTOOLFLAGS Use the flags defined by configure script instead of always disabling static plugins. 2017-03-04 11:03:53 -0500 Nicolas Dufresne * docs/plugins/inspect/plugin-gtk.xml: * docs/plugins/inspect/plugin-sdpelem.xml: * ext/fluidsynth/meson.build: * ext/gtk/Makefile.am: * ext/gtk/gstplugin.c: * ext/teletextdec/Makefile.am: * gst/camerabin2/Makefile.am: * gst/camerabin2/meson.build: * gst/onvif/meson.build: * gst/sdp/gstsdpelem.c: * gst/siren/gstsiren.c: * sys/kms/Makefile.am: * sys/kms/meson.build: Rename plugin filesnames to match plugin names - libgstgtksink.so -> libgstgtk.so - libgstteletextdec.so -> libgstteletex.so - libgstcamerabin2.so -> libgstcamerabin.so - libgstonvif.so -> libgstrtponvif.so (meson only) - sdp -> sdpelem (avoid clash with libgstsdp) - gstsiren -> siren - libgstkmssink.so -> libgstkms.so https://bugzilla.gnome.org/show_bug.cgi?id=779344 2017-03-08 15:52:43 +0200 Sebastian Dröge * gst/timecode/gsttimecodestamper.c: timecodestamper: Only unref daily jam if not NULL 2017-03-08 15:48:19 +0200 Sebastian Dröge * gst/timecode/gsttimecodestamper.c: timecodestamper: Unref daily jam after usage 2017-03-08 14:16:43 +0100 Nick Kallen * ext/gl/Makefile.am: * sys/applemedia/avfvideosrc.m: applemedia/gl: Fix compile issues for OSX https://bugzilla.gnome.org/show_bug.cgi?id=778333 2017-03-08 15:13:45 +0200 Sebastian Dröge * gst-libs/gst/gl/eagl/Makefile.am: gl/eagl: It's -fobjc-arc not -fobj-arc 2017-03-08 14:22:52 +0200 Sebastian Dröge * gst/videoparsers/gsth264parse.c: h264parse: frame->buffer can't be NULL in pre_push_frame() CID 1402118 2017-03-08 17:11:17 +0900 Hyunjun Ko * tests/check/elements/h264parse.c: * tests/check/elements/parser.c: * tests/check/elements/parser.h: tests: h264parse: fix failures due to insertion of au delimiter Since insertion of aud landed, we need to change some testcases accroding to the change. Note that counting frames are changed in parser.c, due to generated frames, AUD. https://bugzilla.gnome.org/show_bug.cgi?id=736213 2017-03-08 17:09:28 +0900 Hyunjun Ko * gst/videoparsers/gsth264parse.c: h264parse: fix some failures in testcases Move logic of judgement whether or not to insert AU Delimiter before draining. Besides, aud_needed flag is reset to TRUE when skip. https://bugzilla.gnome.org/show_bug.cgi?id=736213 2017-02-08 12:23:09 +0100 Nick Kallen * sys/applemedia/avfvideosrc.h: * sys/applemedia/avfvideosrc.m: applemedia: avfvideosrc supports position, device-type, and orientation Avfvideosrc represents an iphone camera or, on mac, a screencapture session. The old API allowed you to select an input device by device index only. The new API adds the ability to select the position (front or back facing) and device-type (wide angle, telephoto, etc.). Furthermore, you can now specify the orientation (portrait, landscape, etc.) of the videostream. https://bugzilla.gnome.org/show_bug.cgi?id=778333 2017-02-03 14:46:39 +0100 Nick Kallen * ext/gl/caopengllayersink.h: * ext/gl/caopengllayersink.m: * gst-libs/gst/gl/cocoa/Makefile.am: * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: * gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m: * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: * gst-libs/gst/gl/eagl/Makefile.am: * gst-libs/gst/gl/eagl/gstglcontext_eagl.h: * gst-libs/gst/gl/eagl/gstglcontext_eagl.m: * gst-libs/gst/gl/eagl/gstglwindow_eagl.h: * gst-libs/gst/gl/eagl/gstglwindow_eagl.m: * sys/applemedia/Makefile.am: * sys/applemedia/avfassetsrc.h: * sys/applemedia/avfassetsrc.m: * sys/applemedia/avfvideosrc.h: * sys/applemedia/avfvideosrc.m: * sys/applemedia/avsamplevideosink.h: * sys/applemedia/avsamplevideosink.m: * sys/applemedia/iosassetsrc.h: * sys/applemedia/iosassetsrc.m: * sys/applemedia/plugin.m: * sys/applemedia/videotexturecache.m: * tests/examples/gl/cocoa/Makefile.am: * tests/examples/gl/cocoa/cocoa-videooverlay.m: applemedia/gl: Update code to use ARC All code interacting with Objective-C objects should now use Automated Reference Counting rather than manual memory management or Garbage Collection. Because ARC prohibits C-structs from containing references to Objective-C objects, all such fields are now typed 'gpointer'. Setting and gettings Objective-C fields on such a struct now uses explicit __bridge_* calls to tell ARC about object lifetimes. https://bugzilla.gnome.org/show_bug.cgi?id=777847 2017-03-07 18:33:12 +0900 Hyunjun Ko * gst/videoparsers/gsth264parse.c: * gst/videoparsers/gsth264parse.h: h264parse: insert AU delimiter only in case of byte-stream Inserts AU delimeter by default if missing au delimeter from upstream. This should be done only in case of byte-stream format. Note that: We have to compensate for the new bytes added for the AU, otherwise insertion of PPS/SPS will use wrong offsets and overwrite wrong data. Also mark the AU delimiter blob const, and use frame->out_buffer for storing the output to keep baseparse assumptions valid. Original-Patch-By: Michal Lazo Helped by Sebastian Dröge https://bugzilla.gnome.org/show_bug.cgi?id=736213 2017-03-03 16:20:15 +0200 George Kiagiadakis * gst-libs/gst/video/gstvideoaggregator.c: videoaggregator: redo src caps negotiation if a sink pad's caps have changed in the meantime https://bugzilla.gnome.org/show_bug.cgi?id=755782 2017-03-06 17:51:32 +0530 Arun Raghavan * gst-libs/gst/gl/gstglcontext.h: gl: Missed one backwards compat define in GST_GL_TYPE_CONTEXT Continued from 296b4251e3042fe95a9cce1ad7674b708ba92599 2017-02-21 20:08:21 +0900 Seungha Yang * ext/hls/gsthlsdemux.c: hlsdemux: Try to find type at the end of a fragment hlsdemux tries to find type if given buffer size is large enought to find type (currently the threshold is 2KB), or EOS in some cases. However, since there can be small byte fragments such as WebVTT, demux should try to find type at the end of a fragment https://bugzilla.gnome.org/show_bug.cgi?id=779011 2017-03-06 00:30:41 +0000 Tim-Philipp Müller * ext/voaacenc/gstvoaacenc.c: voaacenc: limit bitrate property to 320 kbps This appears to be the internal limit of voaacenc, higher bitrates will be ignored and 128 kbps output will be produced instead. Therefore, we might just as well limit the allowed property values, so that people who try to set higher bitrates get a big fat warning instead of silently a much lower bitrate. 2017-03-04 12:12:52 +0100 Nick Kallen * sys/applemedia/videotexturecache.m: applemedia: Fix video texture cache build issue on MacOS https://bugzilla.gnome.org/show_bug.cgi?id=779247 2017-02-26 10:24:46 +0100 Nick Kallen * sys/applemedia/videotexturecache.m: applemedia: ensure all textures are released before texturecache is released It was previously possible for videotexturecache to be finalized before all of its textures. Finalizing outstanding textures in this circumstance leads to a crash. This patch ensure resources are freed in the proper order. https://bugzilla.gnome.org/show_bug.cgi?id=779247 2017-03-04 11:47:04 +0200 Sebastian Dröge * gst-libs/gst/gl/gstglshader.h: * gst-libs/gst/gl/gstglwindow.h: * gst-libs/gst/gl/x11/gstglcontext_glx.h: gl: Fixup for last commit 2017-03-04 11:15:58 +0200 Sebastian Dröge * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h: * gst-libs/gst/gl/egl/gstglcontext_egl.h: * gst-libs/gst/gl/gstglcontext.h: * gst-libs/gst/gl/gstglshader.h: * gst-libs/gst/gl/gstglwindow.h: * gst-libs/gst/gl/x11/gstglcontext_glx.h: gl: Fix backwards compat GST_GL_TYPE_* functions/macros These have to be macros instead of inline function as they must behave more or less like an integer literal, i.e. include the function call. 2017-03-04 11:09:39 +0200 Sebastian Dröge * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c: * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.h: gl/viv-fb: Don't use deprecated symbols and make macros more consistent https://bugzilla.gnome.org/show_bug.cgi?id=778825 2017-03-03 15:17:15 +0200 Sebastian Dröge * gst/audiomixmatrix/gstaudiomixmatrix.c: audiomixmatrix: Fix negotiation in first-channels mode if downstream does not allow the same number of channels 2017-02-16 10:51:44 +0900 Dongil Park * ext/hls/gsthlsdemux-util.c: hlsdemux: Fix checking adaptation_field_control field to parse pcr The PCR_flag and PCR value is in adaptation_field, not in payload. The MSB of adaptation_field_control is used as whether adaptation_ field is exist or not. For the case(PCR in only adaptation_field without payload), we modify checking condition about adaptation_field_control field. https://bugzilla.gnome.org/show_bug.cgi?id=778731 2017-02-02 21:06:20 +0900 Seungha Yang * ext/hls/gsthlsdemux.c: * ext/hls/m3u8.c: hls: Fix various leak on hlsdemux and m3u8 * default_variant should be freed, it holds ref. * GstHLSMedia holds GstM3U8 ref. * gst_m3u8_get_next_fragment() increases ref count. https://bugzilla.gnome.org/show_bug.cgi?id=778073 2017-02-02 21:04:36 +0900 Seungha Yang * tests/check/elements/hlsdemux_m3u8.c: tests: hls: Fix leak on test code https://bugzilla.gnome.org/show_bug.cgi?id=778073 2016-04-01 17:42:32 +0100 Wojciech Przybyl * ext/dash/gstdashdemux.c: dashdemux: fix default suggestedPresentationDelay When MPD@suggestedPresentationDelay is not present in the MPD, dashdemux can provide default suggestedPresentationDelay. However when applying default value of suggestedPresentationDelay, the value should be subtracted from current time, not added to it. When streams setup is performed and live point is calculated, we have to go to the wall clock (current time) minus suggestedPresentationDelay, if we tried to start with current time plus suggestedPresentationDelay, we would be asking for future stream, which has not yet been recorded. Also the value needs to be converted from ms to us. https://bugzilla.gnome.org/show_bug.cgi?id=764726 2016-02-05 12:44:23 +0000 Alex Ashley * ext/dash/gstmpdparser.c: * ext/hls/m3u8.c: * ext/smoothstreaming/gstmssmanifest.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: * tests/check/elements/hlsdemux_m3u8.c: adaptivedemux: answer duration queries for live streams For duration queries on live streams, adaptivedemux ignores the query. The problem then is that the query is answered by the downstream qtdemux element, with the duration of the currently passing fragment. This commit changes the behaviour of adaptivedemux to answer the duration queries for live streams, returning GST_CLOCK_TIME_NONE. https://bugzilla.gnome.org/show_bug.cgi?id=753879 2017-02-01 19:55:22 +0900 Seungha Yang * ext/hls/gsthlsdemux.c: hlsdemux: Implement adaptivedemux's _stream_seek() _stream_seek() can be called by adaptivedemux when "restart download" condition. It's mostly caused by track switching. https://bugzilla.gnome.org/show_bug.cgi?id=776997 2017-02-01 19:15:31 +0900 Seungha Yang * ext/hls/gsthlsdemux.c: hlsdemux: Simplify seeking code by using macro Import an adaptivedemux's macro to minimize code. Also, this patch considers KEY_UNIT and TRICKMODE_KEY_UNITS as snap seek. https://bugzilla.gnome.org/show_bug.cgi?id=776997 2017-02-01 17:44:25 +0900 Seungha Yang * ext/hls/gsthlsdemux.c: hlsdemux: Early terminate seeking if we don't need to do Some codes are imported from dashdemux https://bugzilla.gnome.org/show_bug.cgi?id=776997 2016-10-10 16:41:15 -0600 Thomas Bluemel * ext/hls/m3u8.c: * ext/hls/m3u8.h: hlsdemux: Add support for EXT-X-DISCONTINUITY-SEQUENCE https://bugzilla.gnome.org/show_bug.cgi?id=772811 2017-02-27 14:54:43 -0700 Thomas Bluemel * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivemutex: Fix double mutex unlock https://bugzilla.gnome.org/show_bug.cgi?id=779480 2017-03-01 15:29:42 +0200 Sebastian Dröge * ext/openexr/gstopenexrdec.cpp: openexrdec: Also catch other exceptions by reference instead of by value It would have to be copied otherwise, and is quite big. CID 1373419 2017-03-01 12:08:58 +0200 Sebastian Dröge * sys/decklink/gstdecklinkvideosink.cpp: decklinkvideosink: Don't error out if displaying the preroll frame fails This seems to happen sometimes on some hardware, and is not really critical as long as the scheduling of the normal frames works fine. Only post a warning message for this case. 2017-02-28 15:56:02 +0200 Sebastian Dröge * ext/openexr/gstopenexrdec.cpp: openexrdec: Catch exception by reference instead of by value It would have to be copied otherwise, and is quite big. CID 1373419 2017-02-28 15:53:10 +0200 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Fix potential NULL pointer dereference CID 1399700 2017-02-28 15:31:53 +0200 Sebastian Dröge * ext/hls/m3u8.c: hlsdemux: Compare media type of the correct variable that is actually set CID 1364752 2017-02-28 15:22:43 +0200 Sebastian Dröge * ext/gl/gstgltestsrc.c: gltestsrc: Fix potential NULL pointer dereference if we fail without GError Which can happen here if we just propagate an error that happened elsewhere, e.g. FBO failed. CID 1364604 2017-02-28 13:06:41 +0200 Sebastian Dröge * ext/gl/gstglvideomixer.c: * gst/compositor/compositor.c: glvideomixer/compositor: Correctly error out if calculating DAR fails CID 1320700 2017-02-28 12:53:11 +0200 Sebastian Dröge * ext/opencv/MotionCells.cpp: motioncells: Initialize m_changed_datafile class field CID 1197704 2017-02-28 12:46:42 +0200 Sebastian Dröge * ext/gme/gstgme.c: gme: Remove useless comparison of unsigned integer with < 0 CID 206187 2017-02-28 12:34:30 +0200 Sebastian Dröge * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: Check return value of gst_gl_context_check_framebuffer_status() CID 1401588 2017-02-28 12:31:54 +0200 Sebastian Dröge * gst-libs/gst/gl/Makefile.am: gl: Add viv-fb to DIST_SUBDIRS to fix "make distcheck" 2017-02-28 10:53:04 +0200 Sebastian Dröge * ext/gl/gstglimagesink.c: * ext/gl/gstglutils.c: * ext/gl/gstglutils.h: * ext/gl/gstglvideomixer.c: gl: Rename gst_gl_get_affine_transformation_meta_as_ndc_ext() to prevent symbol conflict The same symbol also exists in libgstgl, although marked as private and internal. This has no effect when doing static linking and there's a symbol conflict. 2017-02-28 10:50:23 +0200 Sebastian Dröge * gst-libs/gst/gl/gstglutils_private.h: glutils: Mark private functions as G_GNUC_INTERNAL 2017-02-28 09:26:25 +0100 Edward Hervey * gst/mpegtsdemux/pesparse.c: mpegtsdemux: Fix wrong usage of '<<' operator Detected by GCC 7. Add comments for clarity https://bugzilla.gnome.org/show_bug.cgi?id=779333 2017-02-27 21:22:30 -0500 Nicolas Dufresne * gst/audiomixmatrix/meson.build: audiomixmatric: Add missing libm deps for meson 2017-02-27 10:32:45 -0300 Thibault Saunier * gst/videoparsers/gsth264parse.c: h264parse: Include `interlace-mode` in caps Those are the rules: In the SPS: * if frame_mbs_only_flag=1 => all frame progressive * if frame_mbs_only_flag=0 => field_pic_flag defines if each frame is progressive or interlaced, thus the mode is 'mixed' in GStreamer terms. https://bugzilla.gnome.org/show_bug.cgi?id=779309 2017-02-14 11:09:46 -0300 Thibault Saunier * ext/iqa/iqa.c: iqa: Plug a leak allocating twice the same data 2017-02-27 19:13:11 +0200 Sebastian Dröge * pkgconfig/gstreamer-insertbin-uninstalled.pc.in: * pkgconfig/gstreamer-player-uninstalled.pc.in: * pkgconfig/gstreamer-wayland-uninstalled.pc.in: pkg-config: Add both srcdir and builddir to the include path Just the build dir is not going to work for srcdir!=builddir. 2017-02-27 23:47:25 +1100 Jan Schmidt * gst/mpegtsdemux/mpegtsparse.c: tsparse: Convert PCR values immediately Doing lazy conversion of PCR values doesn't work right when a PCR discont is encountered. Instead, convert PCR values to the continuous timestamp domain as soon as we encounter them and store that instead. 2017-02-22 14:55:58 +0200 Sebastian Dröge * configure.ac: * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gstglupload.c: glupload: Add support for Vivante DirectTexture uploads Together with the upcoming gstreamer-imx patch, this allows zerocopy between imxvpudec and other elements and glimagesink. This is losely based on a patch by Haihua Hu from https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ https://bugzilla.gnome.org/show_bug.cgi?id=779067 2017-02-17 19:26:41 +0200 Sebastian Dröge * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/allocators/Makefile.am: * gst-libs/gst/allocators/badallocators.h: * gst-libs/gst/allocators/gstphysmemory.c: * gst-libs/gst/allocators/gstphysmemory.h: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-bad-allocators-uninstalled.pc.in: * pkgconfig/gstreamer-bad-allocators.pc.in: allocators: Add GstPhysMemoryAllocator abstraction This can be used in a generic way as common interface by all platforms that, in one way or another, pass around physical memory addresses. https://bugzilla.gnome.org/show_bug.cgi?id=779067 2017-02-17 14:37:08 +0200 Sebastian Dröge * configure.ac: * ext/qt/gstqtglutility.cc: qml: Add support for Vivante EGL FS windowing system https://bugzilla.gnome.org/show_bug.cgi?id=778825 2017-02-17 12:24:58 +0200 Sebastian Dröge * configure.ac: * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstgldisplay.h: * gst-libs/gst/gl/gstglwindow.c: * gst-libs/gst/gl/viv-fb/Makefile.am: * gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.c: * gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.h: * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c: * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.h: gl: Add support for Vivante EGL FB windowing system This is very similar to how dispmanx on the Raspberry Pi works. Based on a patch by Haihua Hu from https://github.com/Freescale/meta-freescale/tree/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad https://bugzilla.gnome.org/show_bug.cgi?id=778825 2017-02-25 21:47:47 -0300 Edgard Lima * docs/plugins/inspect/plugin-neon.xml: * ext/neon/gstneonhttpsrc.c: * ext/neon/gstneonhttpsrc.h: * ext/voamrwbenc/gstvoamrwb.c: * ext/voamrwbenc/gstvoamrwbenc.c: * ext/voamrwbenc/gstvoamrwbenc.h: * tests/examples/camerabin2/gst-camera2.c: * tests/examples/camerabin2/gst-camera2.h: * tests/icles/metadata_editor.c: * tests/icles/metadata_editor.h: Update Edgard Lima's email https://bugzilla.gnome.org/show_bug.cgi?id=779230 2017-02-25 14:43:55 +0200 Sebastian Dröge * Makefile.am: * gst/rawparse/Makefile.am: * gst/rawparse/gstaudioparse.c: * gst/rawparse/gstrawaudioparse.c: * gst/rawparse/gstrawaudioparse.h: * gst/rawparse/gstrawbaseparse.c: * gst/rawparse/gstrawbaseparse.h: * gst/rawparse/gstrawvideoparse.c: * gst/rawparse/gstrawvideoparse.h: * gst/rawparse/gstunalignedaudioparse.c: * gst/rawparse/gstunalignedaudioparse.h: * gst/rawparse/gstunalignedvideoparse.c: * gst/rawparse/gstunalignedvideoparse.h: * gst/rawparse/gstvideoparse.c: * gst/rawparse/meson.build: * gst/rawparse/plugin.c: * gst/rawparse/unalignedaudio.h: * gst/rawparse/unalignedvideo.h: * tests/check/Makefile.am: * tests/check/elements/rawaudioparse.c: * tests/check/elements/rawvideoparse.c: rawparse: Move to gst-plugins-base and keep legacy audioparse/videoparse here https://bugzilla.gnome.org/show_bug.cgi?id=774544 2017-02-24 15:59:44 +0200 Sebastian Dröge * meson.build: meson: Update version 2017-02-24 15:37:40 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.11.2 === 2017-02-24 15:07:38 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiofxbad.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bluez.xml: * docs/plugins/inspect/plugin-bs2b.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-compositor.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dashdemux.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-decklink.xml: * docs/plugins/inspect/plugin-dtls.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faac.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-fbdevsink.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-fluidsynthmidi.xml: * docs/plugins/inspect/plugin-freeverb.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstgtk.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-ivfparse.xml: * docs/plugins/inspect/plugin-ivtc.xml: * docs/plugins/inspect/plugin-jp2kdecimator.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-kate.xml: * docs/plugins/inspect/plugin-kms.xml: * docs/plugins/inspect/plugin-ladspa.xml: * docs/plugins/inspect/plugin-midi.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-mxf.xml: * docs/plugins/inspect/plugin-netsim.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-opencv.xml: * docs/plugins/inspect/plugin-openexr.xml: * docs/plugins/inspect/plugin-opengl.xml: * docs/plugins/inspect/plugin-openjpeg.xml: * docs/plugins/inspect/plugin-opusparse.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-qt.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rsvg.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-rtponvif.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-smoothstreaming.xml: * docs/plugins/inspect/plugin-sndfile.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-srtp.xml: * docs/plugins/inspect/plugin-stereo.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-teletext.xml: * docs/plugins/inspect/plugin-uvch264.xml: * docs/plugins/inspect/plugin-vcdsrc.xml: * docs/plugins/inspect/plugin-videofiltersbad.xml: * docs/plugins/inspect/plugin-videoframe_audiolevel.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-videosignal.xml: * docs/plugins/inspect/plugin-vmnc.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-webp.xml: * docs/plugins/inspect/plugin-webrtcdsp.xml: * docs/plugins/inspect/plugin-wildmidi.xml: * docs/plugins/inspect/plugin-x265.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-yadif.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: Release 1.11.2 2017-02-24 12:53:00 +0200 Sebastian Dröge * 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/ky.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: Update .po files 2017-02-24 12:46:06 +0200 Sebastian Dröge * po/ky.po: * po/sv.po: po: Update translations 2017-02-24 01:28:35 +0200 Vivia Nikolaidou * gst/audiomixmatrix/meson.build: * gst/meson.build: * gst/timecode/meson.build: meson: Added meson.build for audiomixmatrix and timecode https://bugzilla.gnome.org/show_bug.cgi?id=779154 2017-02-22 14:09:45 +0200 Sebastian Dröge * gst-libs/gst/gl/glprototypes/fbo.h: * gst-libs/gst/gl/gstglmemory.c: glmemory: Use glBlitFramebuffer() instead of glCopyTexImage2D() if available glBlitFramebuffer() is new GLES3/GL3 API. They are probably often implemented in terms of each other, and glBlitFramebuffer() can potentially be implemented more flexible. Let's use it if available. Also it actually works on imx6 with DirectVIV textures. Based on a patch by Haihua Hu from https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ https://bugzilla.gnome.org/show_bug.cgi?id=779070 2017-01-16 19:36:07 +0200 Vivia Nikolaidou * configure.ac: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * gst/audiomixmatrix/Makefile.am: * gst/audiomixmatrix/gstaudiomixmatrix.c: * gst/audiomixmatrix/gstaudiomixmatrix.h: * tests/examples/Makefile.am: * tests/examples/audiomixmatrix/Makefile.am: * tests/examples/audiomixmatrix/test-audiomixmatrix.c: audiomixmatrix: New element that mixes audio channels This element transforms a given number of input channels into a given number of output channels according to a given transformation matrix. The matrix coefficients must be between -1 and 1. In the auto mode, input/output channels are automatically negotiated and the transformation matrix is a truncated or zero-padded identity matrix. https://bugzilla.gnome.org/show_bug.cgi?id=777376 2017-02-22 22:31:17 +0100 Georg Lippitsch * gst/timecode/gsttimecodestamper.c: * gst/timecode/gsttimecodestamper.h: timecodestamper: Remove clock-source property Remove clock-source property, because the GST clock usually starts at some random value and is thus uselsess for creating a timecode from it. https://bugzilla.gnome.org/show_bug.cgi?id=778703 2017-02-22 22:30:17 +0100 Georg Lippitsch * gst/timecode/gsttimecodestamper.c: * gst/timecode/gsttimecodestamper.h: timecodestamper: First timecode from current system time Add a new flag which automatically sets this first timecode to the current system time in local time zone. https://bugzilla.gnome.org/show_bug.cgi?id=778703 2017-02-22 22:26:57 +0100 Georg Lippitsch * gst/timecode/gsttimecodestamper.c: * gst/timecode/gsttimecodestamper.h: timecodestamper: First timecode property Add an new property to start from a given timecode instead of zero. https://bugzilla.gnome.org/show_bug.cgi?id=778703 2017-02-22 02:17:35 +0100 Mathieu Duponchelle * ext/webrtcdsp/gstwebrtcdsp.cpp: webrtcdsp: expose new properties. This gives the user more control over the gain control and experimental gain control behaviour. https://bugzilla.gnome.org/show_bug.cgi?id=779103 2017-02-17 16:09:53 +0530 Arun Raghavan * sys/bluez/gstavdtpsrc.c: bluez: Chain up to basesrc query instead of override pad query function Overriding the pad query function completely overrides all the default query handling implemented in basesrc, including caps etc. The correct thing to do is just override the basesrc query vfunc and then chain up for the queries we don't handle. 2017-02-20 18:58:11 +0200 Vivia Nikolaidou * gst/audiobuffersplit/gstaudiobuffersplit.c: * gst/audiobuffersplit/gstaudiobuffersplit.h: audiobuffersplit: Add strict-buffer-size property If set to TRUE, any last audio samples too small to fill a buffer will be discarded. https://bugzilla.gnome.org/show_bug.cgi?id=779064 2017-01-30 11:04:32 +0100 Fabien Dessenne * ext/wayland/gstwaylandsink.c: waylandsink: consider buffer size when copying to wl shm pool When the sink receives a buffer that is neither a wl_shm one nor a dmabuf one, this buffer is copied to an internal wl_shm buffer before being sent to the display. In that case, the actual size of the received buffer (which may differ from the one negotiated in the caps) must be used. https://bugzilla.gnome.org/show_bug.cgi?id=777841 2017-02-17 21:25:21 +0900 Seungha Yang * ext/hls/gsthlsdemux.c: hlsdemux: Fix GHashTable leak https://bugzilla.gnome.org/show_bug.cgi?id=778828 2017-02-18 20:18:50 +0200 Sebastian Dröge * gst/rawparse/gstrawbaseparse.c: * tests/check/elements/rawvideoparse.c: rawbaseparse: Drop incomplete frames at EOS See https://bugzilla.gnome.org/show_bug.cgi?id=773666 This would ideally be solved in baseparse but that requires further thought at this point, and in the meantime it would be good to have rawbaseparse not assert on this but handle it gracefully instead. 2017-02-16 20:08:35 +0200 Sebastian Dröge * configure.ac: * gst-libs/gst/gl/meson.build: configure: Remove unused Mali EGL/fbdev_window support This existed a long time ago but there's no actual code for this anymore. 2017-02-15 19:07:32 +0000 Tim-Philipp Müller * pkgconfig/gstreamer-codecparsers-uninstalled.pc.in: * pkgconfig/gstreamer-mpegts-uninstalled.pc.in: pkgconfig: fix uninstalled .pc files for codecparsers + mpegts Really need to include the srcdir for codecparsers, and build dir for mpegts. 2017-02-14 23:00:06 +0000 Tim-Philipp Müller * Makefile.am: * win32/MANIFEST: Fix distcheck Don't use wildcards in Makefile.am, buildbot doesn't seem to like them. 2017-02-14 20:23:12 +0000 Tim-Philipp Müller * win32/common/photography-enumtypes.c: * win32/common/photography-enumtypes.h: win32: remove disted enumtypes files which are no longer used 2017-02-14 20:19:44 +0000 Tim-Philipp Müller * Makefile.am: * gst/mxf/meson.build: meson: dist meson build files Ship meson build files in tarballs, so people who use tarballs in their builds can start playing with meson already. 2017-02-14 13:04:01 +0100 Nick Kallen * sys/applemedia/iosglmemory.c: * sys/applemedia/iosglmemory.h: * sys/applemedia/videotexturecache.m: Builds for MacOS https://bugzilla.gnome.org/show_bug.cgi?id=778434 2017-02-10 11:32:23 +0100 Nick Kallen * sys/applemedia/iosglmemory.c: * sys/applemedia/iosglmemory.h: * sys/applemedia/videotexturecache.m: applemedia: free videotexturecache texture in gl thread The cached texture was treated as user_data passed to GstGLBaseMemory and freed with a GDestroyNotify function. However, this data must be treated specially: it must be destroyed in the GL thread. https://bugzilla.gnome.org/show_bug.cgi?id=778434 2017-02-10 10:29:49 -0300 Juan Pablo Ugarte * ext/gl/gstglsinkbin.c: GstGLSinkBin: fixed sink property leak No need to keep an extra reference to sink since an indirect one is added by gst_bin_add() https://bugzilla.gnome.org/show_bug.cgi?id=778452 2017-02-13 13:32:14 +0200 Sebastian Dröge * sys/shm/gstshmsink.c: * sys/shm/gstshmsrc.c: shm: Change example pipelines to something that actually works Enforce exactly the same raw video format on both sides, include a videoconvert and queue before the video sink and make the shm area a little bit bigger so that things don't get stuck. 2017-02-09 01:12:56 +1100 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Convert premature EOS on non-exposed pads to ERROR If we need to send EOS on a pad that hasn't prerolled, generate an error on the bus instead, otherwise the app will have no idea. Fixes the HLS testFragmentNotFound test, which is waiting for either EOS or an error. 2017-02-09 00:54:07 +1100 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Handle errors from prepared_streams too Check both active and prepared_streams when we receive an error on the bus, so we post errors for streams that are still pre-rolling 2017-02-09 00:16:33 +1100 Jan Schmidt * tests/check/elements/adaptive_demux_engine.c: adaptivedemux: Allow that 2017-02-08 22:59:49 +1100 Jan Schmidt * tests/check/elements/adaptive_demux_engine.c: * tests/check/elements/adaptive_demux_engine.h: adaptivedemux: Fix tests for delayed pad exposure. Make the unit tests handle the fact that pads don't appear immediately. Before, the test assumed pads are exposed before the internal source element is created, which is no longer true. 2017-02-07 19:44:54 +0200 Sebastian Dröge * sys/androidmedia/gstamcvideoenc.c: amcvideoenc: Encoder output is generally not properly parsed Don't claim it is and let h264parse and other parsers do their job. https://bugzilla.gnome.org/show_bug.cgi?id=774772 2017-02-07 19:42:47 +0200 Sebastian Dröge * sys/androidmedia/gstamcvideoenc.c: amcvideoenc: Set timestamps on header buffers too https://bugzilla.gnome.org/show_bug.cgi?id=774772 2017-02-07 19:42:00 +0200 Sebastian Dröge * sys/androidmedia/gstamcvideoenc.c: amcvideoenc: Encoded H264 is generally not AU aligned Claiming that it is, can cause h264parse to skip some parsing steps and the output stays unaligned. https://bugzilla.gnome.org/show_bug.cgi?id=774772 2017-01-13 23:10:52 +1100 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Fix bitrate printed in debug The download bitrate is already in bits per second, no need to multiply it by 8 again when printing it for debug. 2017-01-11 12:34:58 +1100 Jan Schmidt * ext/hls/gsthlsdemux.c: hlsdemux: Redo typefind after stripping tags When stripping the ID3 header, redo typefinding so we set audio caps instead of still setting id3 caps and plugging a useless id3demux 2017-01-07 12:12:05 +0900 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: Preroll streams before exposing them To ensure that pads have caps when they are exposed, do the exposing when all pending streams have prerolled an output buffer, and only then EOS and remove any old pads. Improves the switching sequence by making caps available as soon as a pad appears. With fixes from Seungha Yang https://bugzilla.gnome.org/show_bug.cgi?id=758257 2017-02-03 15:35:15 +0100 Nicola Murino * configure.ac: opencv: allow compilation against 3.2.0 https://bugzilla.gnome.org/show_bug.cgi?id=778142 2017-02-02 16:47:52 +0100 Fabien Dessenne * ext/wayland/wlwindow.c: waylandsink: set video surface opaque Unless the video format has an alpha component (ARGB, ...), set the video_surface opaque. In the usual case where the black area_surface has the same size as the video_surface (eg: run gst-play-1.0 video.mp4), this makes the black surface totally occluded which makes weston compositor's life easier since it can ignore that surface. Also unconditionally set the black area_surface opaque. https://bugzilla.gnome.org/show_bug.cgi?id=778078 2017-02-02 15:25:09 +0200 Vivia Nikolaidou * gst/timecode/gstavwait.c: avwait: Fix potential deadlock when flushing / shutting down audio The mutex must be unlocked in the error case https://bugzilla.gnome.org/show_bug.cgi?id=778076 2017-02-01 17:11:37 +0200 Sebastian Dröge * sys/decklink/gstdecklinkvideosink.cpp: decklinkvideosink: Show video frames synchronously in PAUSED Otherwise we will only show the preroll frame once PLAYING is reached, which is rather suboptimal for e.g. seeking in PAUSED. 2017-02-01 16:45:53 +0200 Sebastian Dröge * sys/decklink/gstdecklinkvideosink.cpp: decklinkvideosink: Do nothing if set_caps() is called with basically the same caps again and error out here already otherwise. We currently don't support reconfiguration here and it can't happen really either unless the auto mode is selected. 2017-02-01 15:13:32 +0200 Vivia Nikolaidou * sys/decklink/gstdecklinkaudiosrc.cpp: decklinkaudiosrc: Fix get_caps returning EMPTY If get_caps is called before negotiation, channels_found will be 0 and therefore won't intersect with the template caps. https://bugzilla.gnome.org/show_bug.cgi?id=778028 2017-02-01 13:44:37 +0200 Sebastian Dröge * ext/opencv/gstdewarp.cpp: * ext/opencv/gstdewarp.h: dewarp: Store C++ types as pointers in C structs Otherwise the destructor will never be called, and we would have to call the constructors manually at some point... which we never did, so calling release() on it before it got otherwise initialized caused a crash. For example when running gst-inspect-1.0. 2017-02-01 16:05:23 +1100 Matthew Waters * ext/vulkan/vkwindow.c: vkwindow: fix build error on i386 Vulkan handles are either pointers (64-bit) or 64-bit integer handles (32-bit). Cast the type in failure cases. vkwindow.c:229:561: error: return makes integer from pointer without a cast [-Werror=int-conversion] vkwindow.c:231:194: error: return makes integer from pointer without a cast [-Werror=int-conversion] https://bugzilla.gnome.org/show_bug.cgi?id=777979 2017-02-01 14:44:32 +1100 Jan Schmidt * gst/mpegdemux/gstmpegdemux.c: mpegdemux: Add stream-format to the H.264 caps. H.264 in MPEG-PS is always byte-stream 2017-02-01 14:37:29 +1100 Jan Schmidt * gst/mpegdemux/gstmpegdemux.c: mpegdemux: Add extra length checks to TS scanning. Add some missing size checks to the timestamp scanning fast path. 2017-02-01 14:25:32 +1100 Jan Schmidt * gst/mpegdemux/Makefile.am: * gst/mpegdemux/gstmpegdemux.c: psdemux: Rewrite PSM parsing using GstByteReader Avoid possible buffer overflows and ignore invalid PSM packets better by using GstByteReader. https://bugzilla.gnome.org/show_bug.cgi?id=777957 2017-01-27 19:26:06 +0200 Sebastian Dröge * sys/decklink/meson.build: decklink: Add to the meson Windows build 2017-01-27 19:24:03 +0200 Sebastian Dröge * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkvideosrc.cpp: decklink: Fix indentation 2017-01-27 19:23:48 +0200 Sebastian Dröge * sys/decklink/gstdecklink.cpp: decklink: Fix compilation on Windows by properly using COM strings there 2017-01-27 19:15:28 +0200 Axel Menzel * sys/decklink/gstdecklink.cpp: decklink: Fix compilation with MSVC 2017-01-27 19:11:02 +0200 Sebastian Dröge * sys/decklink/gstdecklink.h: decklink: Include stdint.h for int32_t, etc as needed by the Decklink headers 2017-01-27 19:09:13 +0200 Sebastian Dröge * sys/decklink/win/DeckLinkAPI.h: decklink: Add "extern C" forward declaration for CreateDeckLinkIteratorInstance() 2017-01-27 19:03:33 +0200 Axel Menzel * sys/decklink/win/DeckLinkAPI.h: * sys/decklink/win/DeckLinkAPIDispatch.cpp: * sys/decklink/win/DeckLinkAPI_i.c: decklink: Update Windows SDK to a newer version 2017-01-01 14:06:28 +0900 Seungha Yang * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Handle SEEK event only once send_event() of parent class (i.e., GstBinClass) iterates srcpads to send SEEK event. And performing it per srcpad is inefficient. So, let's drop duplicated SEEK event by checking seqnum https://bugzilla.gnome.org/show_bug.cgi?id=776612 2017-01-27 08:38:28 +0900 Seungha Yang * tests/check/elements/hlsdemux_m3u8.c: tests: hlsdemux: Fix live startup sequence and seek range To satisfy follwing restriction of HLS spec 6.3.3, select startup fragment sequence to 4th from end of playlist. Also, seek range should exclude last three fragment in playlist. "the client SHOULD NOT choose a segment which starts less than three target durations from the end of the Playlist file." https://bugzilla.gnome.org/show_bug.cgi?id=777682 2017-01-27 08:50:10 +0900 Seungha Yang * ext/hls/m3u8.c: hls: m3u8: Set sequence position for live hls live starts playback from the allowed latest fragment, but its "sequence position" is set to zero, and so stream time is also set to zero. This does not make sense, because hls live allows seeking to past position, and it's negative stream time from downstream element's point of view. Note that, allowed seekable range (and seeking query) is from the first fragment of playlist to the allowed latest fragment. https://bugzilla.gnome.org/show_bug.cgi?id=777682 2017-01-24 21:32:13 +0900 Seungha Yang * ext/hls/gsthlsdemux.c: * ext/hls/m3u8.c: hls: Exclusion of last three fragment in case of live playback HLS spec 6.3.3 is saying that "the client SHOULD NOT choose a segment which starts less than three target durations from the end of the Playlist file." To ensure above statement, the third fragment from the end of playlist should be excluded from seekable range and also from available starting fragment. (i.e., the fourth fragment from end of playlist is the starting fragment). https://bugzilla.gnome.org/show_bug.cgi?id=777682 2017-01-24 20:21:19 +0900 Seungha Yang * ext/hls/gsthlsdemux.c: hlsdemux: Consider timestamp of the first fragment in playlist when live seeking During live playback, the first fragment in a updated playlist can be advanced from that of startup playlist. Meanwhile, since hlsdemux finds target seek position by just accumulating fragment's duration, the base should be adjusted to the updated first fragment's timestamp. https://bugzilla.gnome.org/show_bug.cgi?id=777682 2017-01-30 11:17:53 +0100 Nicola Murino * ext/opencv/gstmotioncells.cpp: motioncells: fix mingw build https://bugzilla.gnome.org/show_bug.cgi?id=777930 2017-01-27 18:11:15 +0200 Sebastian Dröge * sys/applemedia/plugin.m: * sys/applemedia/vtenc.c: applemedia: Fix some compiler warnings on iOS 2017-01-27 17:24:20 +0200 Sebastian Dröge * sys/decklink/gstdecklinkaudiosrc.cpp: decklinkaudiosrc: Fix compilation on OSX 15:18:47 gstdecklinkaudiosrc.cpp:745:45: error: cannot initialize a parameter of type 'int64_t *' (aka 'long long *') with an rvalue of type 'gint64 *' (aka 'long *') 15:18:47 (BMDDeckLinkMaximumAudioChannels, &self->channels_found); 15:18:47 ^~~~~~~~~~~~~~~~~~~~~ 15:18:47 ./linux/DeckLinkAPI.h:970:87: note: passing argument to parameter 'value' here 15:18:47 virtual HRESULT GetInt (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ int64_t *value) = 0; 15:18:47 ^ 2017-01-25 13:06:28 +0200 Vivia Nikolaidou * gst/timecode/Makefile.am: * gst/timecode/gstavwait.c: * gst/timecode/gstavwait.h: * gst/timecode/plugin.c: avwait: Rename timecodewait to avwait, add modes Renamed timecodewait to avwait. Added running-time and video-first modes. Default mode is timecode (the previous behaviour). https://bugzilla.gnome.org/show_bug.cgi?id=777741 2017-01-18 17:53:00 +0200 Vivia Nikolaidou * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkaudiosrc.h: decklinkaudiosrc: Option to use max channels supported by device Query the device for the maximum number of channels supported and have an option to use that. Default is still 2. https://bugzilla.gnome.org/show_bug.cgi?id=777458 2017-01-26 15:35:11 +0200 Sebastian Dröge * sys/applemedia/glcontexthelper.c: applemedia: Fail cleanly instead of crashing if obtaining a GL display failed https://bugzilla.gnome.org/show_bug.cgi?id=777742 2017-01-26 19:52:07 +1100 Matthew Waters * ext/vulkan/vkimagememory.c: vkimagememory: use the correct enum for RGB16/BGR16 formats vkimagememory.c:64:14: warning: implicit conversion from enumeration type 'GstVideoGLTextureType' to different enumeration type 'VkFormat' (aka 'enum VkFormat') [-Wenum-conversion] return GST_VIDEO_GL_TEXTURE_TYPE_RGB16; https://bugzilla.gnome.org/show_bug.cgi?id=777760 2017-01-25 20:54:35 +0200 Sebastian Dröge * ext/mpeg2enc/gstmpeg2enc.cc: mpeg2enc: Fix compiler warning with clang gstmpeg2enc.cc:224:5: warning: variable 'n' is incremented both in the loop header and in the loop body [-Wfor-loop-analysis] n++; ^ gstmpeg2enc.cc:221:29: note: incremented here for (n = 0; fpss[n] != 0; n++) { ^ 2017-01-25 20:48:58 +0200 Sebastian Dröge * sys/decklink/gstdecklink.cpp: decklink: Fix compiler warning with clang gstdecklink.cpp:821:11: warning: variable 'dtc' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (m_input->videosrc) { ^~~~~~~~~~~~~~~~~ gstdecklink.cpp:837:41: note: uninitialized use occurs here stream_time, stream_duration, dtc, no_signal); ^~~ gstdecklink.cpp:821:7: note: remove the 'if' if its condition is always true if (m_input->videosrc) { ^~~~~~~~~~~~~~~~~~~~~~~ gstdecklink.cpp:810:29: note: initialize the variable 'dtc' to silence this warning IDeckLinkTimecode *dtc; ^ = NULL 2017-01-25 19:21:03 +0200 Sebastian Dröge * ext/qt/Makefile.am: qt: The code requires at least C++11 ... and clang requires this to be specified on the commandline while gcc nowadays defaults to C++11 or even newer. 2017-01-24 23:10:19 +0200 Sebastian Dröge * gst/mpegtsdemux/tsdemux.c: tsdemux: Set caps/tags in the GstStream object before pushing the stream-start event Otherwise downstream will get a more or less empty GstStream although we already know a lot about it at this point. 2017-01-24 14:39:35 +0000 Tim-Philipp Müller * ext/openh264/gstopenh264enc.cpp: * ext/openh264/gstopenh264enc.h: openh264: add "qp-min" and "qp-max" properties 2017-01-20 07:45:43 +0100 Lars Wendler * configure.ac: iqa: Move AM_CONDITIONAL(HAVE_DSSIM) outside of the iqa check block or else configure fails with error: conditional "HAVE_DSSIM" was never defined. when iqa is not installed. https://bugzilla.gnome.org/show_bug.cgi?id=777652 2017-01-23 12:12:06 -0300 Thibault Saunier * gst-libs/gst/gl/meson.build: * gst-libs/gst/insertbin/meson.build: * gst-libs/gst/mpegts/meson.build: * gst-libs/gst/player/meson.build: * meson.build: * meson_options.txt: meson: Build GIR files 2017-01-23 15:10:40 +0200 Sebastian Dröge * pkgconfig/gstreamer-bad-audio.pc.in: * pkgconfig/gstreamer-bad-base.pc.in: * pkgconfig/gstreamer-bad-video.pc.in: pkg-config: Directly link the library with -l instead of the .la file Which might not exist, like on most modern Linux distributions. 2017-01-20 11:11:50 -0800 Scott D Phillips * sys/msdk/gstmsdkdec.c: msdk: Propagate GstFlowReturn values In some places a GST_FLOW_FLUSHING result was return as a FALSE gboolean and then returned from a parent function as GST_FLOW_ERROR. This prevented seeking from working. https://bugzilla.gnome.org/show_bug.cgi?id=776360 2017-01-20 16:44:42 +0100 Stefan Sauer * configure.ac: * docs/plugins/scanobj-build.stamp: * ext/fdkaac/gstfdkaacenc.c: fdk-aac: fix version number As pointed out on irc, the version was menat to be 0.1.4. 2017-01-20 14:34:10 +0200 Sebastian Dröge * gst/mpegtsdemux/tsdemux.c: tsdemux: Don't leak pad name and template for Opus It's set again (the same way) further below, overwriting the previously allocated memory without freeing. https://bugzilla.gnome.org/show_bug.cgi?id=777533 2017-01-20 07:51:09 +0200 Sebastian Dröge * gst/mxf/mxfdemux.c: mxfdemux: Set stream tags to NULL after unreffing Otherwise we might try to unref them a second time a little bit later. https://bugzilla.gnome.org/show_bug.cgi?id=777503 2017-01-05 19:10:52 +0200 Sebastian Dröge * ext/hls/m3u8.c: hlsdemux: Detect media sequence number inconsistencies and fail Without failing, we would play back random parts of the stream which is arguably a worse user experience, and failing is also recommended by the spec here. And also handle live streams without any media sequence numbers at all properly, that is, make sure the sequence numbers are increasing instead of starting again at 0 every time. https://bugzilla.gnome.org/show_bug.cgi?id=775665 2017-01-17 22:27:46 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Do pending seek when SIDX is found Parsing SIDX box was allowed even if "indexRange" attribute does not appear for On-Demand profile. However, actual seeking using SIDX index did not happen since download loop keep working on. To use SIDX index in that case, demux should try it in the next download loop. https://bugzilla.gnome.org/show_bug.cgi?id=777394 2017-01-17 10:33:03 +0800 WeiChungChang * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: dashdemux: Fix issue when manifest update sets slow start without passing necessary header & caps changes downstream https://bugzilla.gnome.org/show_bug.cgi?id=777206 2017-01-18 15:03:48 +1100 Matthew Waters * ext/gl/gstglmixer.c: glmixer: ensure caps are writable after intersection gst_caps_intersect () may return an increased reference of one of the input caps. Fixes critical in the simple-launch-lines test: Unexpected critical/warning: gst_caps_set_features: assertion 'IS_WRITABLE (caps)' failed 2017-01-18 11:05:21 +1100 Jan Schmidt * gst/dvdspu/gstspu-vobsub-render.c: dvdspu: Handle vob display rect starting on an odd line DVDs always have subpictures that start on an even Y coordinate, but gstspu does more generic vobsubs these days, so handle ones that start on an odd vertical position. https://bugzilla.gnome.org/show_bug.cgi?id=777400 2016-12-27 17:13:58 +0800 Lyon Wang * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c: * gst-libs/gst/player/gstplayer-video-overlay-video-renderer.h: * win32/common/libgstplayer.def: player: Add support for selecting a specific video sink - Add overlay video renderer "video-sink" property, so that can be set - In create_video_sink, it returns video sink instead of always NULL - Add new renderer_new_with_sink() API to set video sink https://bugzilla.gnome.org/show_bug.cgi?id=776490 2017-01-17 13:07:57 +0200 Sebastian Dröge * gst-libs/gst/player/gstplayer-media-info.c: player: Add missing documentation for deprecated functions 2017-01-10 16:38:21 +0800 Lyon Wang * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/player/gstplayer.c: * gst-libs/gst/player/gstplayer.h: * win32/common/libgstplayer.def: player: Add get video snapshot API Add get video snapshot API: gst_player_get_video_snapshot() https://bugzilla.gnome.org/show_bug.cgi?id=773709 2017-01-12 16:14:57 +0100 Edward Hervey * ext/dash/gstmpdparser.c: mpdparser: Fix compilation with GST_DISABLE_GST_DEBUG 2017-01-13 14:46:12 +0100 Edward Hervey * sys/androidmedia/gstamcvideodec.c: androidmedia: Use proper instance name 2017-01-13 12:39:21 +0000 Tim-Philipp Müller * meson.build: meson: bump version 2017-01-13 21:17:33 +1100 Matthew Waters * sys/androidmedia/gstamcvideodec.c: amcvideodec: fix build error from change in libgstgl gstamcvideodec.c: In function 'gst_amc_video_dec_src_query': gstamcvideodec.c:2412:55: error: 'self' undeclared (first use in this function) if (gst_gl_handle_context_query ((GstElement *) self, query, 2017-01-13 12:49:37 +1100 Matthew Waters * ext/gl/caopengllayersink.m: * gst-libs/gst/gl/Makefile.am: * sys/androidmedia/gstamcvideodec.c: * sys/applemedia/glcontexthelper.c: gl: update sys dependants for function removals 4315a4b54d9 forgot to change the androidmedia/videotoolbox/caopengllayer sources as required. 2017-01-11 10:37:34 -0300 Juan Pablo Ugarte * gst-libs/gst/gl/gstglslstage.c: glslstage: define GL constants if needed instead of using #ifdef https://bugzilla.gnome.org/show_bug.cgi?id=777144 2017-01-11 10:32:23 -0300 Juan Pablo Ugarte * tests/examples/gtk/glliveshader.c: gl/examples/gtk: fixed compilation on systems without GL_GEOMETRY_SHADER https://bugzilla.gnome.org/show_bug.cgi?id=777143 2017-01-13 11:08:10 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * ext/gl/gstglimagesink.c: * gst-libs/gst/gl/gstglfeature.c: * gst-libs/gst/gl/gstglutils.c: glutils: document functions 2017-01-13 11:06:39 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * ext/gl/gstglutils.c: * ext/gl/gstglutils.h: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: * gst-libs/gst/gl/gstglutils_private.h: * gst-libs/gst/gl/gstglviewconvert.c: glutils: privatise matrix multiplication/videoaffinetransformation retrieval 2017-01-12 21:35:25 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * ext/gl/gstglbasemixer.c: * ext/gl/gstglimagesink.c: * ext/gl/gstglstereosplit.c: * ext/gl/gstgltestsrc.c: * ext/gl/gstglutils.h: * ext/gtk/gstgtkglsink.c: * ext/qt/gstqtsink.cc: * ext/qt/gstqtsrc.cc: * gst-libs/gst/gl/gstglbasefilter.c: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: * gst-libs/gst/gl/gstglutils_private.h: gl/utils: also take care of the local GL context in query functions Simplifies a deduplicates a lot of code in elements retrieving/setting the local OpenGL context. 2017-01-12 01:57:29 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * ext/gl/gstglmixer.c: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: glutils: remove trivial helper function gst_gl_caps_replace_all_caps_features() is only used in two places and can be trivially reproduced. 2017-01-11 16:09:31 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/gl/egl/gstegl.c: * gst-libs/gst/gl/egl/gstglcontext_egl.h: gl/docs: add symbols from -unused.txt 2017-01-11 16:09:03 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstglformat.h: * gst-libs/gst/gl/gstglmemory.c: gl/docs: some type fixes of type names 2017-01-12 16:32:49 +0200 Sebastian Dröge * configure.ac: Back to development 2017-01-12 15:55:52 +0200 Sebastian Dröge * configure.ac: * ext/opencv/meson.build: opencv: Fix build with OpenCV < 3 We only need the opencv2/bgsegm.hpp header for OpenCV >= 3 and have compat code for older versions. 2017-01-12 15:38:18 +0200 Sebastian Dröge * ext/ttml/Makefile.am: ttml: Link with -lm for round() === release 1.11.1 === 2017-01-12 15:39:06 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiofxbad.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bluez.xml: * docs/plugins/inspect/plugin-bs2b.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-compositor.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dashdemux.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-decklink.xml: * docs/plugins/inspect/plugin-dtls.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faac.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-fbdevsink.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-fluidsynthmidi.xml: * docs/plugins/inspect/plugin-freeverb.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstgtk.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-ivfparse.xml: * docs/plugins/inspect/plugin-ivtc.xml: * docs/plugins/inspect/plugin-jp2kdecimator.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-kate.xml: * docs/plugins/inspect/plugin-kms.xml: * docs/plugins/inspect/plugin-ladspa.xml: * docs/plugins/inspect/plugin-midi.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-mxf.xml: * docs/plugins/inspect/plugin-netsim.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-openexr.xml: * docs/plugins/inspect/plugin-opengl.xml: * docs/plugins/inspect/plugin-openjpeg.xml: * docs/plugins/inspect/plugin-opusparse.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-qt.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rsvg.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-rtponvif.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-smoothstreaming.xml: * docs/plugins/inspect/plugin-sndfile.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-srtp.xml: * docs/plugins/inspect/plugin-stereo.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-teletext.xml: * docs/plugins/inspect/plugin-uvch264.xml: * docs/plugins/inspect/plugin-vcdsrc.xml: * docs/plugins/inspect/plugin-videofiltersbad.xml: * docs/plugins/inspect/plugin-videoframe_audiolevel.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-videosignal.xml: * docs/plugins/inspect/plugin-vmnc.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-webp.xml: * docs/plugins/inspect/plugin-webrtcdsp.xml: * docs/plugins/inspect/plugin-wildmidi.xml: * docs/plugins/inspect/plugin-x265.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-yadif.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: Release 1.11.1 2017-01-12 14:42:29 +0200 Sebastian Dröge * 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/ky.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: Update .po files 2017-01-12 14:36:46 +0200 Sebastian Dröge * po/da.po: * po/de.po: * po/fr.po: * po/hr.po: * po/id.po: * po/ky.po: * po/nb.po: * po/pl.po: * po/ru.po: * po/sr.po: * po/sv.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: po: Update translations 2017-01-10 15:45:26 +0000 Tim-Philipp Müller * gst-libs/gst/codecparsers/nalutils.c: codecparsers: remove problematic 'extern inline' 'extern inline' was added in 2fb76c89 for MSVC (it was just 'inline' before), but all of this doesn't really make sense, the functions are not going to be inlined anyway, and what 'extern inline' means exactly also appears to depend on the Cxx standard targetted. Let's just remove the 'extern inline' entirely. At least gcc6 still emits the exact same code as before anyway. Fixes compilation/linking with gcc 4.8 as used on L4T on the TK1. 2017-01-10 08:26:04 -0700 Matt Staples * gst/jpegformat/gstjpegparse.c: jpegparse: Chain up to parent class' sink event handler Call base class's sink_event handler after handling GST_EVENT_FLUSH_STOP event, so that base class doesn't get stuck in a 'flushing' state https://bugzilla.gnome.org/show_bug.cgi?id=777097 2017-01-10 16:27:28 +0100 Edward Hervey * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Use a simple queue instead of queue2 The reason we previously used queue2 was to calculate the download rate, but that wasn't entirely correct and we therefore calculate it before queue2. We therefore now just need a simple queue. 2016-11-11 08:44:59 +0100 Edward Hervey * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: Remove unneeded variables We now have properly non-blocking download time calculation 2017-01-10 16:54:48 +0800 Haihua Hu * ext/qt/qtwindow.cc: * ext/qt/qtwindow.h: qmlglsrc: use glBlitFramebuffer to copy texture for GLES3.0 If support glBlitFrameBuffer, use it for texture copy instead of glCopyTexImage2D https://bugzilla.gnome.org/show_bug.cgi?id=777078 2017-01-10 20:07:09 +1100 Matthew Waters * gst-libs/gst/gl/gstglwindow.h: glwindow: use the same parameter names between vfuncs and functions of the same name Silences GI warnings about symbol's not being used from source code comment block 2017-01-10 20:06:07 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasememory.h: glbasememory: type fix for GstGLBaseMemoryAllocatorAllocFunction 2017-01-10 20:05:42 +1100 Matthew Waters * gst-libs/gst/gl/gstgldisplay.c: gldisplay: add missing transfer annotations 2017-01-10 20:04:30 +1100 Matthew Waters * gst-libs/gst/gl/gstgldebug.c: * gst-libs/gst/gl/gstglquery.c: gl: add skip annotations to non-GI possible struct constructors 2017-01-10 20:03:09 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasememory.h: glbasememory: remove unused and #if 0'ed function definitions 2017-01-10 19:58:48 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs.types: * gst-libs/gst/gl/gstglbasememory.c: * gst-libs/gst/gl/gstglbasememory.h: * gst-libs/gst/gl/gstglbuffer.c: * gst-libs/gst/gl/gstglbuffer.h: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstglrenderbuffer.c: * gst-libs/gst/gl/gstglrenderbuffer.h: gl: add necessary get_type() functions for allocation params structures All using the existing GstGLAllocationParams infrastructure 2017-01-10 19:55:43 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: gl/docs/sections.txt: remove non-existant symbols 2017-01-10 15:35:52 +1100 Matthew Waters * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstgldisplay.h: gldisplay: some annotation updates/typo fixes 2017-01-10 14:29:46 +1100 Matthew Waters * gst-libs/gst/gl/gl.h: gl: remove reference to non-existant header ../../../../gst-libs/gst/gl/gl.h:57:45: fatal error: gst/gl/gstglcontrolbindingproxy.h: No such file or directory #include ^ 2017-01-10 12:51:51 +1100 Matthew Waters * ext/gl/Makefile.am: * ext/gl/gstglsinkbin.c: * ext/gl/gstglvideomixer.c: * ext/gl/meson.build: * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gstglcontrolbindingproxy.c: * gst-libs/gst/gl/gstglcontrolbindingproxy.h: * gst-libs/gst/gl/meson.build: gl: remove custom control binding proxy Use the existing GstProxyControlBinding instead. 2016-11-17 17:15:55 +1100 Matthew Waters * configure.ac: * pkgconfig/gstreamer-gl-uninstalled.pc.in: * pkgconfig/gstreamer-gl.pc.in: * pkgconfig/meson.build: gl/pkg-config: add the configured platform/api/winsys Allows users to query this from pkg-config instead of requiring them to compile mini programs checking defines in gstglconfig.h 2016-11-18 01:06:51 +1100 Matthew Waters * gst-libs/gst/gl/gstglbuffer.h: gl: remove unneeded gst_gl_buffer_alloc from header file There's no implementation anymore! 2016-11-17 18:00:39 +1100 Matthew Waters * gst-libs/gst/gl/egl/gsteglimage.c: * gst-libs/gst/gl/egl/gsteglimage.h: * gst-libs/gst/gl/egl/gstglmemoryegl.c: * gst-libs/gst/gl/egl/gstglmemoryegl.h: gl/egl: remove use of texture orientation 2016-11-17 17:51:54 +1100 Matthew Waters * pkgconfig/gstreamer-gl-uninstalled.pc.in: * pkgconfig/gstreamer-gl.pc.in: gl/pkg-config: don't advertise all our dependent libraries as deps If an application/library explicitly needs a library, it needs to link against it itself. 2017-01-09 17:53:38 +0200 Vivia Nikolaidou * gst/timecode/gsttimecodestamper.c: * gst/timecode/gsttimecodestamper.h: timecodestamper: Post element message with current timecode timecodestamper will post an element message which contains the current timecode it just stamped. If a timecode was already found and not replaced, it will still post it in a message. https://bugzilla.gnome.org/show_bug.cgi?id=777048 2017-01-05 15:41:06 +0200 Vivia Nikolaidou * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkvideosrc.cpp: decklinkvideosrc: Do not append a zero timecode if none is found on the source If the source doesn't give us timecode information, do not append a zero timecode to the frames. https://bugzilla.gnome.org/show_bug.cgi?id=776900 2017-01-10 01:00:12 +1100 Matthew Waters * gst-libs/gst/gl/egl/gstglcontext_egl.c: glcontext/egl: don't overwrite set GError Doing so is an error and will cause a glib warning to be printed. https://bugzilla.gnome.org/show_bug.cgi?id=776722 2017-01-05 20:45:15 +0000 Tim-Philipp Müller * sys/decklink/meson.build: meson: decklink: fix plugin filename 2017-01-05 20:34:14 +0000 Tim-Philipp Müller * meson.build: * sys/decklink/meson.build: * sys/meson.build: meson: build decklink plugin 2017-01-05 12:34:39 -0300 Thibault Saunier * pkgconfig/meson.build: meson: Do not use gstwayland variable when not set 2017-01-05 12:31:14 -0300 Thibault Saunier * pkgconfig/meson.build: meson: Generate the wayland pc file when needed 2017-01-05 11:25:13 -0300 Thibault Saunier * pkgconfig/meson.build: meson: Do not try to use unset gstgl if gstgl is not built 2017-01-05 15:05:07 +0200 Sebastian Dröge * sys/androidmedia/gstamc.c: * sys/androidmedia/gstamcaudiodec.c: androidmedia: Add support for Opus in the decoder 2017-01-05 15:00:21 +0200 Sebastian Dröge * sys/androidmedia/gstamc.c: androidmedia: Silently skip COLOR_FormatAndroidOpaque when converting to caps This is special and handled in the decoder when doing rendering to a surface. Printing a warning for this is just unnecessary noise 2017-01-04 16:51:10 +0100 Guillaume Desmottes * pkgconfig/Makefile.am: * pkgconfig/gstreamer-bad-audio-uninstalled.pc.in: * pkgconfig/gstreamer-bad-base-uninstalled.pc.in: * pkgconfig/gstreamer-bad-video-uninstalled.pc.in: * pkgconfig/gstreamer-codecparsers-uninstalled.pc.in: * pkgconfig/gstreamer-gl-uninstalled.pc.in: * pkgconfig/gstreamer-insertbin-uninstalled.pc.in: * pkgconfig/gstreamer-mpegts-uninstalled.pc.in: * pkgconfig/gstreamer-player-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-bad-uninstalled.pc.in: * pkgconfig/gstreamer-wayland-uninstalled.pc.in: * pkgconfig/meson.build: meson: generate pkg-config -uninstalled pc files Generating those files is useful for users building the GStreamer stack using meson and having to link it to another project which is still using the autotools. While doing so, fix some -uninstalled pc files which were using a suspicious 'pcfiledir' which was never replaced or defined. https://bugzilla.gnome.org/show_bug.cgi?id=776810 2016-12-09 17:48:52 -0300 Thibault Saunier * meson.build: meson: Support building without Gst debug 2017-01-04 20:59:39 +0200 Sebastian Dröge * sys/androidmedia/gstamc.c: * sys/androidmedia/gstamcvideodec.c: * sys/androidmedia/gstamcvideoenc.c: androidmedia: Add support for VP9 2017-01-03 18:53:39 +0200 Sebastian Dröge * sys/androidmedia/gstjniutils.c: androidmedia: Actively request the Java VM from the application This is more consistent with how we already request the application class loader and other application resources elsewhere. 2017-01-03 17:31:03 +0200 Sebastian Dröge * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: decklink: Fix indentation 2017-01-03 17:30:07 +0200 Sebastian Dröge * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkaudiosrc.h: decklinkaudiosrc: Add support for 8/16 channels via property These are unpositioned channel layouts. 2017-01-03 09:02:36 +0530 Garima Gaur * ext/opencv/gstcvdilateerode.cpp: * ext/opencv/gstcvsmooth.cpp: * gst/frei0r/gstfrei0rfilter.c: * gst/frei0r/gstfrei0rsrc.c: * sys/applemedia/vtenc.c: * sys/vdpau/gstvdpvideopostprocess.c: Fix some caps leaks in pad template creation code gst_pad_template_new() does not take ownership of the caps passed to it, so we need to unref the caps. https://bugzilla.gnome.org/show_bug.cgi?id=776790 https://bugzilla.gnome.org/show_bug.cgi?id=776787 2016-12-08 10:22:23 +0100 Fabien Dessenne * ext/wayland/gstwaylandsink.c: waylandsink: fix display re-connection (redraw pending) Reset redraw_pending at display disconnection, so we can re-connect later from a clean state (avoid endless buffer drops). Add a log to inform of dropped buffers. https://bugzilla.gnome.org/show_bug.cgi?id=775791 2016-12-14 10:37:14 +0100 Nicola Murino * ext/opencv/Makefile.am: * ext/opencv/gstdewarp.cpp: * ext/opencv/gstdewarp.h: * ext/opencv/gstopencv.cpp: * ext/opencv/meson.build: opencv: add dewarp plugin new plugin that dewarp fisheye images https://bugzilla.gnome.org/show_bug.cgi?id=776047 2017-01-02 21:05:55 +0100 Fabrice Bellet * ext/x265/gstx265enc.c: x265: fix a minor string leak https://bugzilla.gnome.org/show_bug.cgi?id=776727 2016-12-31 20:57:54 +0100 Fabrice Bellet * gst/autoconvert/gstautoconvert.c: autoconvert: fix a reconfigure event leak https://bugzilla.gnome.org/show_bug.cgi?id=776726 2017-01-02 19:56:40 +0530 Arun Raghavan * config.h.meson: * sys/meson.build: * sys/uvch264/meson.build: uvch264src: Add meson build support 2017-01-02 19:55:34 +0530 Arun Raghavan * sys/uvch264/gstuvch264_src.c: uvch264src: Fix wrong argument order to force-key-unit event CID 1373421 2017-01-02 14:52:29 +0100 Edward Hervey * tests/check/elements/h264parse.c: * tests/check/elements/rtponvifparse.c: * tests/check/libs/player.c: check: Use gst_check_run_suite Ensures that xunit reports get generated when requested 2017-01-02 17:50:02 +0530 Arun Raghavan * ext/smoothstreaming/gstmssmanifest.c: smoothstreaming: Fix minor use after free reference Just a matter of reordering a g_free() /after/ cleaning out all the members. CID 1396746 2015-03-11 21:54:01 +0100 Nicola Murino * gst/videosignal/gstvideoanalyse.c: videoanalyse: update docs https://bugzilla.gnome.org/show_bug.cgi?id=746018 2016-12-29 18:56:43 +0000 Ursula Maplehurst * sys/androidmedia/Makefile.am: androidmedia: some files are missing in the release tarball https://bugzilla.gnome.org/show_bug.cgi?id=776591 2016-12-28 13:52:50 +0100 Mark Nauwelaerts * gst/videoparsers/gstmpeg4videoparse.c: * gst/videoparsers/gstmpeg4videoparse.h: mpeg4videoparse: determine intra of frame at frame parse time ... rather than when determining when to end the frame. The opportunity to do so might not come when forced to drain, and it seems nicer anyway to do so at parse wrapup time. 2016-12-24 08:42:51 +0200 Sebastian Dröge * tests/check/elements/dash_isoff.c: dash: Define debug category used in the isoff code for the test too now 2016-12-24 14:31:12 +0900 Seungha Yang * ext/dash/gstisoff.c: dash: Include debug of gstisoff on dashdemux category Move debug category of gstisoff from default to dashdemux https://bugzilla.gnome.org/show_bug.cgi?id=776461 2016-12-23 13:27:42 +0200 Sebastian Dröge * gst/audiobuffersplit/gstaudiobuffersplit.c: audiobuffersplit: Don't try to output anything if samples_per_buffer == 0 This happens if we had no CAPS event yet but e.g. got an EOS event. We would then try to output a 0-sized buffer, but getting that from the adapter will give an assertion, return NULL and then crash. 2016-12-23 15:41:57 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Add first_offset of sidx box to base offset sidx has "first_offset" syntax which represents the distance in bytes from anchor point to media fragment. If present, we should adjust sidx_base_offset. https://bugzilla.gnome.org/show_bug.cgi?id=776431 2016-12-23 15:31:34 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Ensure sidx parsing when updating fragment info Fix seek fail with On-Demand profile mpd which has no indexRange attribute https://bugzilla.gnome.org/show_bug.cgi?id=776431 2016-12-22 11:48:05 -0500 Stepan Salenikovich * configure.ac: configure: improve QPA check for cross compilation Prefix the $QPA_INCLUDE_PATH with $PKG_CONFIG_SYSROOT_DIR just like when checking for opencv dir. https://bugzilla.gnome.org/show_bug.cgi?id=776399 2016-12-22 16:08:30 -0800 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: * sys/dvb/parsechannels.c: dvb: move adapter number set-up by way of environment to dvbsrc This logic did not belong to the channel configuration parser (only used by dvbbasebin) but to dvbsrc, which is the element directly using this value and honoring the "adapter" property. Allows previously non-working cases like this to work: GST_DVB_ADAPTER=1 gst-launch-1.0 dvbsrc delsys=11 modulation=7 frequency=689000000 ! fakesink 2016-12-22 13:42:59 -0800 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb: parsechannels: replace missleadign error message Possible failure cases also include not finding the requested channel. 2016-12-12 17:05:53 -0800 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: add DTV_STREAM_ID to the >= v8 (minor) group Drop redundant comment while at it. 2016-12-21 23:24:48 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Drain remaining buffer in adapter Previous patch allows sidx box parsing from incoming buffers. Since the incoming buffer boundary might be over sidx box, there can be remaining buffer in isobmff parser adapter. https://bugzilla.gnome.org/show_bug.cgi?id=776352 2016-12-21 13:31:18 +0200 Sebastian Dröge * configure.ac: configure: Remove left-over file 2016-12-21 12:05:35 +0100 Edward Hervey * tests/check/libs/player.c: check: Use non-deprecated API 2016-12-21 11:38:11 +0200 Sebastian Dröge * gst-libs/gst/player/gstplayer-media-info.c: * gst-libs/gst/player/gstplayer-media-info.h: * win32/common/libgstplayer.def: player: Add deprecated compatibility functions for the audio/video/subtitle stream getters 2016-12-21 11:32:52 +0200 Sebastian Dröge * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/player/gstplayer-media-info.c: * gst-libs/gst/player/gstplayer-media-info.h: * gst-libs/gst/player/gstplayer.c: * win32/common/libgstplayer.def: player: Move audio/video/subtitle stream list getters into the correct namespace 2016-12-20 18:20:02 +0800 Lyon Wang * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/player/gstplayer-media-info.c: * gst-libs/gst/player/gstplayer-media-info.h: * win32/common/libgstplayer.def: player: Add get track number media info API https://bugzilla.gnome.org/show_bug.cgi?id=773570 2016-12-21 11:00:47 +0200 Sebastian Dröge * config.h.meson: * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/gst-plugins-bad-plugins.signals: * ext/Makefile.am: * ext/apexsink/LGPL-3.0.txt: * ext/apexsink/Makefile.am: * ext/apexsink/gstapexplugin.c: * ext/apexsink/gstapexraop.c: * ext/apexsink/gstapexraop.h: * ext/apexsink/gstapexsink.c: * ext/apexsink/gstapexsink.h: * ext/libvisual/Makefile.am: * ext/libvisual/visual-gl.c: * ext/meson.build: * ext/nas/Makefile.am: * ext/nas/nassink.c: * ext/nas/nassink.h: * ext/sdl/Makefile.am: * ext/sdl/gstsdl.c: * ext/sdl/sdlaudiosink.c: * ext/sdl/sdlaudiosink.h: * ext/sdl/sdlvideosink.c: * ext/sdl/sdlvideosink.h: * ext/sndio/Makefile.am: * ext/sndio/gstsndio.c: * ext/sndio/sndiosink.c: * ext/sndio/sndiosink.h: * ext/sndio/sndiosrc.c: * ext/sndio/sndiosrc.h: * ext/timidity/gsttimidity.c: * ext/timidity/gsttimidity.h: * ext/wildmidi/Makefile.am: * ext/wildmidi/README: * ext/wildmidi/gstwildmidi.c: * ext/wildmidi/gstwildmidi.h: * ext/xvid/Makefile.am: * ext/xvid/gstxvid.c: * ext/xvid/gstxvid.h: * ext/xvid/gstxviddec.c: * ext/xvid/gstxviddec.h: * ext/xvid/gstxvidenc.c: * ext/xvid/gstxvidenc.h: * gst/audiobuffer/Makefile.am: * gst/audiobuffer/gstaudioringbuffer.c: * gst/audiobuffer/meson.build: * gst/cdxaparse/Makefile.am: * gst/cdxaparse/gstcdxaparse.c: * gst/cdxaparse/gstcdxaparse.h: * gst/cdxaparse/gstvcdparse.c: * gst/cdxaparse/gstvcdparse.h: * gst/cdxaparse/meson.build: * gst/dccp/Makefile.am: * gst/dccp/gstdccp.c: * gst/dccp/gstdccp.h: * gst/dccp/gstdccp_common.h: * gst/dccp/gstdccpclientsink.c: * gst/dccp/gstdccpclientsink.h: * gst/dccp/gstdccpclientsrc.c: * gst/dccp/gstdccpclientsrc.h: * gst/dccp/gstdccpplugin.c: * gst/dccp/gstdccpserversink.c: * gst/dccp/gstdccpserversink.h: * gst/dccp/gstdccpserversrc.c: * gst/dccp/gstdccpserversrc.h: * gst/dccp/meson.build: * gst/faceoverlay/Makefile.am: * gst/faceoverlay/gstfaceoverlay.c: * gst/faceoverlay/gstfaceoverlay.h: * gst/faceoverlay/meson.build: * gst/games/Makefile.am: * gst/games/gstpuzzle.c: * gst/games/gstvideoimage.c: * gst/games/gstvideoimage.h: * gst/games/meson.build: * gst/hdvparse/Makefile.am: * gst/hdvparse/gsthdvparse.c: * gst/hdvparse/gsthdvparse.h: * gst/hdvparse/meson.build: * gst/meson.build: * gst/mixmatrix/Makefile.am: * gst/mixmatrix/meson.build: * gst/mixmatrix/mixmatrix.c: * gst/mve/Makefile.am: * gst/mve/TODO: * gst/mve/gstmve.c: * gst/mve/gstmvedemux.c: * gst/mve/gstmvedemux.h: * gst/mve/gstmvemux.c: * gst/mve/gstmvemux.h: * gst/mve/meson.build: * gst/mve/mve.h: * gst/mve/mveaudiodec.c: * gst/mve/mveaudioenc.c: * gst/mve/mvevideodec16.c: * gst/mve/mvevideodec8.c: * gst/mve/mvevideoenc16.c: * gst/mve/mvevideoenc8.c: * gst/nuvdemux/Makefile.am: * gst/nuvdemux/gstnuvdemux.c: * gst/nuvdemux/gstnuvdemux.h: * gst/nuvdemux/meson.build: * gst/overlay/Makefile.am: * gst/overlay/gstoverlay.c: * gst/overlay/gstoverlay.h: * gst/overlay/meson.build: * gst/patchdetect/Makefile.am: * gst/patchdetect/gstpatchdetect.c: * gst/patchdetect/gstpatchdetect.h: * gst/patchdetect/meson.build: * gst/rtjpeg/.gitignore: * gst/rtjpeg/Makefile.am: * gst/rtjpeg/README: * gst/rtjpeg/RTjpeg.c: * gst/rtjpeg/RTjpeg.h: * gst/rtjpeg/gstrtjpeg.c: * gst/rtjpeg/gstrtjpegdec.c: * gst/rtjpeg/gstrtjpegdec.h: * gst/rtjpeg/gstrtjpegenc.c: * gst/rtjpeg/gstrtjpegenc.h: * gst/rtjpeg/meson.build: * gst/sdi/Makefile.am: * gst/sdi/gstsdi.c: * gst/sdi/gstsdidemux.c: * gst/sdi/gstsdidemux.h: * gst/sdi/gstsdimux.c: * gst/sdi/gstsdimux.h: * gst/sdi/meson.build: * gst/tta/Makefile.am: * gst/tta/crc32.h: * gst/tta/filters.h: * gst/tta/gsttta.c: * gst/tta/gstttadec.c: * gst/tta/gstttadec.h: * gst/tta/gstttaparse.c: * gst/tta/gstttaparse.h: * gst/tta/meson.build: * gst/tta/ttadec.h: * gst/vbidec/Makefile.am: * gst/vbidec/gstvbidec.c: * gst/vbidec/gstvbidec.h: * gst/vbidec/meson.build: * gst/vbidec/vbidata.c: * gst/vbidec/vbidata.h: * gst/vbidec/vbiscreen.c: * gst/vbidec/vbiscreen.h: * meson.build: * po/POTFILES.in: * po/POTFILES.skip: * sys/Makefile.am: * sys/avc/Makefile.am: * sys/avc/gstavcplugin.cpp: * sys/avc/gstavcsrc.cpp: * sys/avc/gstavcsrc.h: * sys/dxr3/.gitignore: * sys/dxr3/Makefile.am: * sys/dxr3/ac3_padder.c: * sys/dxr3/ac3_padder.h: * sys/dxr3/dxr3audiosink.c: * sys/dxr3/dxr3audiosink.h: * sys/dxr3/dxr3common.h: * sys/dxr3/dxr3init.c: * sys/dxr3/dxr3marshal.list: * sys/dxr3/dxr3spusink.c: * sys/dxr3/dxr3spusink.h: * sys/dxr3/dxr3videosink.c: * sys/dxr3/dxr3videosink.h: * sys/linsys/Makefile.am: * sys/linsys/gstlinsys.c: * sys/linsys/gstlinsyssdisink.c: * sys/linsys/gstlinsyssdisink.h: * sys/linsys/gstlinsyssdisrc.c: * sys/linsys/gstlinsyssdisrc.h: * sys/linsys/include/asi.h: * sys/linsys/include/master.h: * sys/linsys/include/sdi.h: * sys/linsys/include/sdiaudio.h: * sys/linsys/include/sdivideo.h: * sys/meson.build: * sys/pvr2d/Makefile.am: * sys/pvr2d/gstpvr.c: * sys/pvr2d/gstpvr.h: * sys/pvr2d/gstpvrbufferpool.c: * sys/pvr2d/gstpvrbufferpool.h: * sys/pvr2d/gstpvrvideosink.c: * sys/pvr2d/gstpvrvideosink.h: * sys/pvr2d/pvr_includes/dri2_ws.h: * sys/pvr2d/pvr_includes/img_defs.h: * sys/pvr2d/pvr_includes/img_types.h: * sys/pvr2d/pvr_includes/pvr2d.h: * sys/pvr2d/pvr_includes/services.h: * sys/pvr2d/pvr_includes/servicesext.h: * sys/pvr2d/pvr_includes/wsegl.h: * sys/qcam/Makefile.am: * sys/qcam/dark.c: * sys/qcam/exposure.c: * sys/qcam/gstqcamsrc.c: * sys/qcam/gstqcamsrc.h: * sys/qcam/qcam-Linux.c: * sys/qcam/qcam-Linux.h: * sys/qcam/qcam-lib.c: * sys/qcam/qcam-os.c: * sys/qcam/qcam-os.h: * sys/qcam/qcam.h: * sys/qcam/qcamip.h: * sys/wininet/Makefile.am: * sys/wininet/gstwininetsrc.c: * sys/wininet/gstwininetsrc.h: * tests/check/Makefile.am: * tests/check/elements/timidity.c: * tests/icles/dccp/README: * tests/icles/dccp/call/DCCPClient.c: * tests/icles/dccp/call/DCCPServer.c: * tests/icles/dccp/call/README: * tests/icles/dccp/file/DCCPClientSaveFile.c: * tests/icles/dccp/file/DCCPServerSendFile.c: * tests/icles/dccp/mic/DCCPClientPlayMic.c: * tests/icles/dccp/mic/DCCPServerMic.c: * tests/icles/dccp/mp3/DCCPClientPlayMP3.c: * tests/icles/dccp/mp3/DCCPServerSendMP3.c: * tests/icles/dccp/mp3Speex/DCCPClientPlaySpeexMP3.c: * tests/icles/dccp/mp3Speex/DCCPServerSendSpeexMP3.c: * tests/icles/dccp/mp3Stream/DCCPClientPlayMP3Stream.c: * tests/icles/dccp/mp3Stream/DCCPServerSendMP3Stream.c: Remove various unported plugins If they were not ported after 4+ years it seems unlikely that anybody is ever going to need them again. They're still in the GIT history if needed. https://bugzilla.gnome.org/show_bug.cgi?id=774530 2016-12-21 13:41:16 +0530 Garima Gaur * gst/sdp/gstsdpdemux.c: * sys/dvb/dvbbasebin.c: gst: Fix memory leaks in usage of gst_element_get_request_pad() API The return value has to be unreffed at some point. https://bugzilla.gnome.org/show_bug.cgi?id=776334 2016-12-20 15:45:12 -0600 Daniel Garbanzo * tools/Makefile.am: tools: dist gst-project-maker script https://bugzilla.gnome.org/show_bug.cgi?id=776317 2016-12-20 11:16:11 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Always parsing sidx for On-Demand profile The indexRange attribute is optional and if it's not present, we should extract the sidx box from incoming buffers. https://bugzilla.gnome.org/show_bug.cgi?id=776200 2016-12-17 15:56:07 +0900 Seungha Yang * ext/dash/gstisoff.c: * ext/dash/gstisoff.h: dash: Split gst_isoff_sidx_parser_add_buffer() function To parsing sidx box itself with isobmff parser, split gst_isoff_sidx_parser_add_buffer() into two parts. https://bugzilla.gnome.org/show_bug.cgi?id=776200 2016-12-19 11:40:28 +0200 Sebastian Dröge * ext/hls/gsthlsdemux-util.c: * ext/hls/gsthlsdemux.c: * ext/hls/gsthlsdemux.h: hlsdemux: Extract ID3 tags, strip them from the output and provide them as tags They often don't only contain the PCR information but also other metadata, like title. Give this information to the pipeline. Also strip the tags from the stream as we a) already parsed them now and b) decoders don't like these tags to happen in the middle of the stream (i.e. the start of each fragment) and tagdemux only can strip them off the beginning and end. 2016-12-18 19:18:23 +0000 Graham Leggett * gst/mpegtsdemux/mpegtsbase.c: tsdemux: Don't leak a taglist if a taglist has already been created https://bugzilla.gnome.org/show_bug.cgi?id=776244 2016-12-17 13:42:34 +0000 Tim-Philipp Müller * ext/qt/gstqtsink.cc: * ext/qt/gstqtsrc.cc: qt: improve element and property descriptions a bit 2016-12-16 22:45:06 +0000 Tim-Philipp Müller * win32/MANIFEST: win32: fix distcheck 2016-12-16 19:15:36 +0000 Tim-Philipp Müller * .gitignore: * Makefile.am: * configure.ac: * win32/common/config.h: win32: remove generation of pre-made config.h for msvc builds This is no longer needed with the Meson build. 2016-12-16 17:22:29 +0000 Tim-Philipp Müller * .gitignore: * Makefile.am: * configure.ac: * gst-plugins-bad.spec.in: Remove generated .spec file Likely extremely bitrotten, and we should not ship this anyway. 2016-12-17 01:00:00 +1100 Matthew Waters * gst-libs/gst/gl/gstglformat.c: gl/format: use the unsized format for RGB on GLES2 In GLES2 GL_RGB8 doesn't exist so we cannot use it, use GL_RGB instead. https://bugzilla.gnome.org/show_bug.cgi?id=776141 2016-12-16 13:25:58 +0200 Daniel Shahaf * gst/geometrictransform/gstmirror.h: mirror: Fix documentation for the mirror mode Using the wrong enum there causes it to be randomly mixed with the docs of the other enums. https://bugs.debian.org/848297 2016-12-16 00:22:41 +1100 Matthew Waters * gst-libs/gst/gl/gstglwindow.c: gl/window: remove unused priv variable https://ci.gstreamer.net/job/GStreamer-master/7989/console 2016-12-15 00:59:45 +1100 Matthew Waters * gst-libs/gst/gl/gstglwindow.c: * gst-libs/gst/gl/gstglwindow.h: * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c: * gst-libs/gst/gl/win32/gstglwindow_win32.c: gl/window: remove use of main_context_push/pop_thread_default() No-one's using/depending on it (it would have criticalled and not worked) and it's causing more problems than it's solving. Store the GMainContext in the public struct instead for subclasses to optionally use instead of relying on the push/pop state to be correct. https://bugzilla.gnome.org/show_bug.cgi?id=775970 2016-12-07 16:51:27 +0800 Haihua Hu * ext/gl/gstgleffects.c: gl/effects: use non-PBO GLMemory for internal textures middle textures in gleffects do not need to use GstGLMemoryPBO as they aren't transfering data to/from the GPU. This will cost too much DMA memory and cause performance issue. Change the allocator to use non-PBO GstGLMemory. https://bugzilla.gnome.org/show_bug.cgi?id=776072 2016-12-15 14:05:09 +0200 Sebastian Dröge * sys/androidmedia/gstamcaudiodec.c: amcaudiodec: Set "is-adts" to 1 for ADTS AAC Otherwise it fails to decode. https://bugzilla.gnome.org/show_bug.cgi?id=740101 2016-12-14 15:53:41 +0200 Sebastian Dröge * ext/gl/gstglvideomixer.c: glvideomixer: Reject multiview video glvideomixer does not support it currently and it needs special support for handling this correctly, and is rather non-trivial to implement for all formats. 2016-12-14 15:36:14 +0200 Sebastian Dröge * gst/compositor/compositor.c: compositor: Reject multiview video Compositor does not support it currently and it needs special support for handling this correctly, and is rather non-trivial to implement for all formats. 2016-12-14 15:35:42 +0200 Sebastian Dröge * gst-libs/gst/video/gstvideoaggregator.c: videoaggregator: Remove unlock() if set_info() fails There is not mutex locked here that needs to be unlocked. 2016-12-14 13:10:18 +0530 Garima Gaur * sys/dshowdecwrapper/gstdshowaudiodec.cpp: * sys/dshowdecwrapper/gstdshowvideodec.cpp: * sys/vdpau/gstvdpdecoder.c: sys: Fix caps memory leak from pad template creation https://bugzilla.gnome.org/show_bug.cgi?id=776076 2016-12-14 13:10:46 +1100 Jan Schmidt * ext/gme/gstgme.c: gme: Forward other non-EOS events downstream Allow most events through as-is so at least we don't warn about missing stream-start. Drop segment and caps, as those are sent internally. 2016-12-13 22:39:01 +0200 Sebastian Dröge * ext/gl/gltestsrc.c: * ext/libde265/libde265-dec.c: * ext/opencv/MotionCells.h: * ext/vulkan/vkdevice.c: * ext/vulkan/vkinstance.c: * gst-libs/gst/gl/egl/gsteglimage.c: * gst-libs/gst/gl/gstglupload.c: * sys/msdk/msdk.c: * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/adaptive_demux_engine.c: * tests/check/elements/compositor.c: * tests/check/elements/dash_demux.c: * tests/check/elements/dash_mpd.c: * tests/check/elements/hls_demux.c: * tests/check/elements/mssdemux.c: * tests/check/elements/test_http_src.c: gst: Don't declare variables inside the for loop header This is a C99 feature. 2016-12-13 22:21:25 +0200 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstmpdparser.c: dashdemux: Don't declare variables inside the for loop header This is a C99 feature. 2016-12-13 20:42:44 +0200 Sebastian Dröge * ext/gme/gstgme.c: gme: Free decoder instance when going from PAUSED to READY We only ever cleaned it up before on errors. 2016-11-22 13:55:00 -0800 Scott D Phillips * sys/msdk/Makefile.am: * sys/msdk/gstmsdk.c: * sys/msdk/gstmsdkmjpegdec.c: * sys/msdk/gstmsdkmjpegdec.h: * sys/msdk/meson.build: msdk: add mjpeg decoder https://bugzilla.gnome.org/show_bug.cgi?id=774793 2016-10-05 15:32:43 -0700 Scott D Phillips * sys/msdk/Makefile.am: * sys/msdk/gstmsdk.c: * sys/msdk/gstmsdkmjpegenc.c: * sys/msdk/gstmsdkmjpegenc.h: * sys/msdk/meson.build: msdk: add mjpeg encoder https://bugzilla.gnome.org/show_bug.cgi?id=774793 2016-11-28 19:14:20 -0800 Scott D Phillips * sys/msdk/Makefile.am: * sys/msdk/gstmsdk.c: * sys/msdk/gstmsdkh265dec.c: * sys/msdk/gstmsdkh265dec.h: * sys/msdk/meson.build: msdk: Add H.265 decoder https://bugzilla.gnome.org/show_bug.cgi?id=775726 2016-11-07 12:32:38 -0800 Scott D Phillips * sys/msdk/Makefile.am: * sys/msdk/gstmsdk.c: * sys/msdk/gstmsdkdec.c: * sys/msdk/gstmsdkdec.h: * sys/msdk/gstmsdkh264dec.c: * sys/msdk/gstmsdkh264dec.h: * sys/msdk/meson.build: msdk: Add H.264 decoder The decoder only supports system memory output presently. https://bugzilla.gnome.org/show_bug.cgi?id=774587 2016-12-12 15:09:36 +0100 Edward Hervey * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Avoid using unset GError gst_uri_handler_set_uri() doesn't guarantee the GError will be set if it returns FALSE. 2016-12-12 10:43:43 +0900 Seungha Yang * ext/ttml/gstttmlrender.c: ttmlrender: Fix segfault on _render_text_region() Fix invalid memory access https://bugzilla.gnome.org/show_bug.cgi?id=775965 2016-12-12 14:42:39 +0900 Seungha Yang * ext/ttml/gstttmlparse.c: ttmlparse: Transform caps event For autoplugging, decodebin/parsebin refers to the caps event. https://bugzilla.gnome.org/show_bug.cgi?id=775967 2016-12-08 12:37:25 +0300 Sergey Borovkov * ext/qt/gstqtglutility.cc: qml: Fix egl being deinitialized on display cleanup Use the with_egl_display() variant in order to not destroy the EGLDisplay on destruction. https://bugzilla.gnome.org/show_bug.cgi?id=775793 2016-12-08 12:07:31 -0800 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: fix unconditional use of FEC 2/5 It is not defined for < v5 minor 7 2016-12-06 15:40:38 -0800 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: add delivery system to missing modulation check message A tuning operation can spawn multiple checks. Being able to differentiate between them makes debugging easier. 2016-12-05 16:51:10 -0800 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: * sys/dvb/parsechannels.h: dvb/parsechannels: drop trailing whitespace 2016-12-08 11:22:38 +0530 Arun Raghavan * gst-libs/gst/player/gstplayer.c: player: Don't try to cache the GQuark for GST_PLAYER_ERROR This is potentially racy (in the unlikely scenario that we get two first-time calls to gst_player_error_quark() at the same time). This should not impact anything in terms of performance since it's only on the error path. The call itself could just be inlined by making GST_PLAYER_ERROR be defined to the g_quark_from_static_string() call, but this feels ugly from an API perspective. 2016-12-07 16:06:48 +0100 Stefan Sauer * configure.ac: * ext/fdkaac/gstfdkaacenc.c: fdkaac: fix the build for older fdkaac versions Support for 7.1 was added in 0.1.14. 2016-12-07 22:55:46 +1100 Matthew Waters * ext/qt/qtitem.cc: qml/item: also unref the display on destruction Leaking objects (and a thread!) is never a good idea. https://bugzilla.gnome.org/show_bug.cgi?id=775746 2016-12-07 22:58:29 +1100 Matthew Waters * tests/examples/qt/qmlsink/main.cpp: tests/examples/qmlsink: scope QApplication/Engine So they are destroyed before gst_deinit() is run and the leaks tracer doesn't show false-positives. https://bugzilla.gnome.org/show_bug.cgi?id=775746 2016-12-07 10:26:59 +0200 Sebastian Dröge * ext/chromaprint/gstchromaprint.c: chromaprint: Fix compilation with chromaprint 1.4 It takes const int16_t * as argument now, while before it was void *. To make this work with both versions without #ifdef, we omit the const. 2016-12-05 23:38:53 -0800 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: drop needless wrapper around DVB API's dvb_diseqc_master_cmd Its only purpose was to hold a wait time that was always 0 2016-12-05 23:18:38 -0800 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: drop supperfluous wait in diseqc_send_msg() It is always zero. 2016-12-06 07:58:25 +0200 Sebastian Dröge * gst/vmnc/vmncdec.c: vmncdec: Sanity-check rectangle sizes a bit more thorough The x/y coordinates could already be bigger than the configured width/height, and adding the rectangle width/height could cause an overflow. 2016-12-05 15:56:36 -0800 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: fix unconditional use of SYS_DVBC_ANNEX_C It is not defined for < v5 minor 6 2016-12-05 15:53:10 -0800 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: fix value for DVB-C annex B field in adapter structure 2016-12-05 18:17:30 +0000 Tim-Philipp Müller * gst/rawparse/gstrawvideoparse.c: rawvideoparse: fix typos in property description 2016-11-28 15:57:33 -0800 Scott D Phillips * ext/dtls/gstdtlsagent.c: dtls: Set openssl's threadid the 1.0.x way For pre-1.1.x openssl, a callback to set the thread id needs to be provided to openssl. In 0.9.x the thread id was an unsigned long. In 1.0.x it was expanded to be able to hold a void*. Here we change to use the 1.0.x API so that the thread id can always hold a GThread*, even on platforms like msvc x64 where unsigned long is only 32 bits. All of this is still #ifdef'd out of existence when building with openssl 1.1.x or later which changed the thread API again, and does not need a thread id callback. https://bugzilla.gnome.org/show_bug.cgi?id=775292 2016-12-04 14:42:47 -0500 Nicolas Dufresne * ext/opencv/gstsegmentation.cpp: * ext/opencv/gstsegmentation.h: segmentation: Port to GstOpencvVideoFilter base class 2016-12-03 22:40:11 -0500 Nicolas Dufresne * ext/opencv/gstgrabcut.cpp: * ext/opencv/gstgrabcut.h: grabcut: Port to GstOpencvVideoFilter base class 2016-12-03 22:02:23 -0500 Nicolas Dufresne * ext/opencv/gstretinex.cpp: * ext/opencv/gstretinex.h: retinex: Port to GstOpencvVideoFilter base class This allow reducing slightly the code. It also fixes a bug caused by in-place buffer being mapped and never unmapped. 2016-12-03 08:19:37 +0100 Edward Hervey * README: * common: Automatic update of common submodule From d015674 to 39ac2f5 2016-12-01 22:02:51 -0500 Nicolas Dufresne * ext/opencv/meson.build: opencv/meson: check presence of required opencv_contrib headers https://bugzilla.gnome.org/show_bug.cgi?id=772822 2016-12-01 21:55:04 -0500 Nicolas Dufresne * ext/opencv/gstedgedetect.cpp: * ext/opencv/gstedgedetect.h: edgedetect: Avoid extra copy of the output image Simply produce the result into the output image provided by the base class. This avoid useless copy. This also removes unchecked buffer map and ensure that GstVideoMeta is respected (for stride mostly). https://bugzilla.gnome.org/show_bug.cgi?id=775377 2016-12-01 21:51:31 -0500 Nicolas Dufresne * ext/opencv/gstedgedetect.cpp: edgedetect: Remove redundant CAPS event handler There is already a cv_set_caps() implemented, so just do the entire work there. https://bugzilla.gnome.org/show_bug.cgi?id=775377 2016-12-01 21:45:53 -0500 Nicolas Dufresne * ext/opencv/gstcvlaplace.cpp: * ext/opencv/gstcvlaplace.h: cvlaplace: Avoid extra copy of the output image Simply produce the result into the output image provided by the base class. This avoid useless copy. This also removes unchecked buffer map and ensure that GstVideoMeta is respected (for stride mostly). https://bugzilla.gnome.org/show_bug.cgi?id=775377 2016-12-01 21:43:04 -0500 Nicolas Dufresne * ext/opencv/gstcvlaplace.cpp: cvlaplace: Remove redundant CAPS event handler There is already a cv_set_caps() implemented, so just do the entire work there. https://bugzilla.gnome.org/show_bug.cgi?id=775377 2016-12-01 21:36:13 -0500 Nicolas Dufresne * ext/opencv/gstcvsobel.cpp: * ext/opencv/gstcvsobel.h: cvsobel: Avoid extra copy of the output image Simply produce the result into the output image provided by the base class. This avoid useless copy. This also removes unchecked buffer map and ensure that GstVideoMeta is respected (for stride mostly). https://bugzilla.gnome.org/show_bug.cgi?id=775377 2016-12-01 21:28:31 -0500 Nicolas Dufresne * ext/opencv/gstcvsobel.cpp: cvsobel: Remove redundant CAPS event handler There is already a cv_set_caps() implemented, so just do the entire work there. https://bugzilla.gnome.org/show_bug.cgi?id=775377 2016-12-01 21:13:23 -0500 Nicolas Dufresne * ext/opencv/gstfacedetect.cpp: * ext/opencv/gstmotioncells.cpp: opencv: Remove uneeded buffer writability check When set to in_place, the BaseTransform class will guaranty that buffers passed to transform_ip() function are writable. https://bugzilla.gnome.org/show_bug.cgi?id=775378 2016-12-01 09:24:18 +0000 Julien Isorce * gst-libs/gst/gl/gstglupload.c: gstglupload: relax EGL context check Check for GST_GL_PLATFORM_EGL enum instead of type GstGLContextEGL. https://bugzilla.gnome.org/show_bug.cgi?id=774518 2016-11-30 09:22:17 +0000 Julien Isorce * gst-libs/gst/gl/gstglcontext.c: gstglcontext: is_shared should return FALSE if no group If a sub class of GstGLContext does not create a group then it currently crashes: 0 g_atomic_int_get (&share->refcount) 1 _context_share_group_is_shared (context->priv->sharegroup) 2 gst_gl_context_is_shared 3 _default_set_sync_gl https://bugzilla.gnome.org/show_bug.cgi?id=774518 2016-11-30 22:40:45 -0500 Nicolas Dufresne * ext/ttml/meson.build: meson/ttml: Add missing math library dependency This code call 'round' which may require linking against the math library on some compilers. 2016-11-30 19:53:30 +0100 Víctor Manuel Jáquez Leal * sys/kms/gstkmssink.c: kmssink: post error message if start() fails It is expected to post an error message in the bus if the device cannot be started. 2016-10-20 12:37:48 +0200 Michael Tretter * sys/kms/gstkmssink.c: * sys/kms/gstkmssink.h: kmssink: configure display mode during set_caps Configure the display mode when setting the negotiated caps instead of during showing the first frame. A framebuffer is required to set the mode. Allocate a buffer object according to the negotiated caps and use it to set the mode. This buffer object cannot be freed until another page flip happened on the crtc (i.e., until the first frame is rendered). https://bugzilla.gnome.org/show_bug.cgi?id=773473 Signed-off-by: Víctor Manuel Jáquez Leal 2016-10-18 14:57:25 +0200 Michael Tretter * sys/kms/gstkmssink.c: kmssink: add parameter force-modesetting The force-modesetting parameter forces the kmssink to ignore already configured display modes, to configure the display mode itself and use the base plane for output. https://bugzilla.gnome.org/show_bug.cgi?id=773473 2016-11-08 15:27:51 +0100 Michael Tretter * sys/kms/gstkmssink.c: kmssink: allow only supported resolutions If the input buffers have a different size than the display, the frames would have to be scaled or positioned on the display. The kmssink cannot decide which behaviour would be appropriate for which use case. In order to avoid scaling or positioning of the input stream, allow only the supported connector resolutions in the sink caps. https://bugzilla.gnome.org/show_bug.cgi?id=773473 Signed-off-by: Víctor Manuel Jáquez Leal 2016-11-08 15:26:40 +0100 Michael Tretter * sys/kms/gstkmssink.c: kmssink: set mode based on framebuffer configuration Displays usually support multiple modes. Therefore, the kmssink should not only support the preferred mode, but any mode that is supported by the display. https://bugzilla.gnome.org/show_bug.cgi?id=773473 2016-10-14 16:03:08 +0200 Michael Tretter * sys/kms/gstkmssink.c: * sys/kms/gstkmssink.h: kmssink: add mode setting and base plane rendering The kmssink assumed that the mode was already set by another application and used an overlay plane for displaying the frames. Use the preferred mode of the monitor and render to the base plane if the crtc does not have a valid mode. https://bugzilla.gnome.org/show_bug.cgi?id=773473 Signed-off-by: Víctor Manuel Jáquez Leal 2016-11-30 17:22:21 +0200 Vivia Nikolaidou * gst/interlace/gstinterlace.c: interlace: Writing field-order into the src caps Writing top-field-first vs bottom-field-first into the src caps https://bugzilla.gnome.org/show_bug.cgi?id=775409 2016-11-30 09:35:27 +0000 Tim-Philipp Müller * docs/libs/Makefile.am: * docs/libs/gst-plugins-bad-libs.types: docs: add aggregator _get_type functions for signals + properties https://bugzilla.gnome.org/show_bug.cgi?id=775379 2016-11-30 19:26:51 +1100 Matthew Waters * gst-libs/gst/gl/egl/gsteglimage.c: glmemoryegl: remove spurious #if GST_GL_HAVE_DMABUF conditions 8c2118823b3d42840cc6f48cbdc0e1b342f90b80 had some incorrect preprocessor conditions that aren't actually needed. Remove them. https://bugzilla.gnome.org/show_bug.cgi?id=775248 2016-11-30 10:40:42 +0530 Garima Gaur * gst/mpegpsmux/mpegpsmux.c: * tests/examples/directfb/gstdfb.c: gst: Fix caps leak https://bugzilla.gnome.org/show_bug.cgi?id=775072 2016-11-23 18:30:40 +0100 Philippe Renon * configure.ac: opencv: check presence of required opencv_contrib headers https://bugzilla.gnome.org/show_bug.cgi?id=772822 2016-11-26 16:53:24 +0100 Philippe Renon * gst-libs/gst/opencv/gstopencvutils.cpp: opencv: add opencv image format documentation https://bugzilla.gnome.org/show_bug.cgi?id=774576 2016-11-26 13:34:26 +0100 Philippe Renon * gst-libs/gst/opencv/gstopencvutils.cpp: * gst-libs/gst/opencv/gstopencvutils.h: opencv: account for sparse/padded formats when converting caps to cv image type https://bugzilla.gnome.org/show_bug.cgi?id=774576 2016-11-29 21:09:14 -0500 Nicolas Dufresne * gst-libs/gst/opencv/gstopencvutils.cpp: * gst-libs/gst/opencv/gstopencvutils.h: * gst-libs/gst/opencv/gstopencvvideofilter.cpp: opencvvideofilter: Don't parse the caps twice The GstVideoFilter already provide caps parsed into GstVideoInfo. Avoid doing that twice by splitting the helper. https://bugzilla.gnome.org/show_bug.cgi?id=775288 2016-11-28 21:54:57 -0500 Nicolas Dufresne * gst-libs/gst/opencv/gstopencvvideofilter.cpp: opencvfilter: Properly port to GstVideoFilter This is a subblass of VideoFilter but yet does not use any of it's features. This also fixes issue in case the incoming images have custom strides as the VideoMeta is no longer ignored. https://bugzilla.gnome.org/show_bug.cgi?id=775288 2016-11-29 15:18:43 +0100 Philippe Normand * ext/smoothstreaming/meson.build: mssdemux: fix meson build Follow-up of 73721ad4e9e2d32e1c8b6a3b4aaa98401530e58a. Forgot to add the fragment parser in the meson build file. 2016-11-29 14:43:41 +0100 Philippe Normand * ext/smoothstreaming/Makefile.am: * ext/smoothstreaming/gstmssdemux.c: * ext/smoothstreaming/gstmssfragmentparser.c: * ext/smoothstreaming/gstmssfragmentparser.h: * ext/smoothstreaming/gstmssmanifest.c: * ext/smoothstreaming/gstmssmanifest.h: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: mssdemux: improved live playback support When a MSS server hosts a live stream the fragments listed in the manifest usually don't have accurate timestamps and duration, except for the first fragment, which additionally stores timing information for the few upcoming fragments. In this scenario it is useless to periodically fetch and update the manifest and the fragments list can be incrementally built by parsing the first/current fragment. https://bugzilla.gnome.org/show_bug.cgi?id=755036 2016-11-29 15:35:09 +0200 Sebastian Dröge * sys/decklink/gstdecklink.cpp: decklink: Fix compiler warning gstdecklink.cpp: In member function ‘virtual HRESULT GStreamerDecklinkInputCallback::VideoInputFrameArrived(IDeckLinkVideoInputFrame*, IDeckLinkAudioInputPacket*)’: gstdecklink.cpp:766:34: error: ‘base_time’ may be used uninitialized in this function [-Werror=maybe-uninitialized] capture_time -= base_time; ^ 2016-11-29 11:08:14 +0100 Anton Eliasson * gst-libs/gst/codecparsers/gsth264parser.c: codecparsers: h264parse: improve documentation commentary https://bugzilla.gnome.org/show_bug.cgi?id=775306 2016-11-29 11:06:43 +0100 Anton Eliasson * gst-libs/gst/codecparsers/gsth264parser.h: codecparsers: h264parse: docs spellcheck Spell checks, correct capitalization and some rewording to better fit the terms used in the H.264 spec. https://bugzilla.gnome.org/show_bug.cgi?id=775306 2016-11-28 16:02:03 -0800 Scott D Phillips * ext/schroedinger/gstschrodec.c: * ext/schroedinger/gstschroenc.c: * ext/schroedinger/gstschroutils.c: schro: #include math.h before schroedinger headers The schroedinger headers unconditionally #define over C99's rint when compiling with msvc which messes up the later inclusion of math.h. Including math.h before schroedinger headers avoids getting syntax errors in math.h https://bugzilla.gnome.org/show_bug.cgi?id=775293 2016-11-29 01:41:28 +0530 Nirbheek Chauhan * ext/opencv/meson.build: * meson.build: meson: Rework opencv plugin checks a) Use get_pkgconfig_variable() to get the opencv prefix b) Place an upper limit on the opencv version c) Ensure that headers are available (b) and (c) just copy what the configure.ac checks do. 2016-11-28 20:05:02 +0200 Sebastian Dröge * gst-libs/gst/mpegts/gstmpegtssection.c: mpegtssection: Fix off-by-one in PMT parsing 2016-11-28 19:52:24 +0200 Sebastian Dröge * gst-libs/gst/mpegts/gstmpegtssection.c: mpegtssection: Don't assert if the given section length is longer than the PMT actually is Instead error out cleanly and just assert that we didn't read more than the available data. 2016-11-28 17:17:43 +0200 Sebastian Dröge * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkvideosink.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: decklink: Correctly set top-field-first/bottom-field-first First of all, all the HD and UHD modes should be top-field-first, as also returned by the Decklink mode iterator API. Then we should include the caps field "field-order" in the caps of the source (not the sink due to negotiation problems with optional fields). And finally we should set the TFF flag on interlaced buffers that are top-field-first. 2016-11-25 15:03:08 +0200 Sebastian Dröge * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: * sys/decklink/gstdecklinkvideosrc.h: decklinksrc: Add property to drop frames that are marked as having no input signal https://bugzilla.gnome.org/show_bug.cgi?id=774850 2016-11-25 14:57:15 +0200 Sebastian Dröge * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: * sys/decklink/gstdecklinkvideosrc.h: decklinksrc: Add property to skip the first N seconds of capture On some hardware the first few frames are bogus and not very useful. Their timestamps are off, they have no timecodes, or there are spurious black frames / no-signal frames. After a few frames this stabilizes though. https://bugzilla.gnome.org/show_bug.cgi?id=774850 2016-11-25 14:36:37 +0200 Sebastian Dröge * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: decklinksrc: Set GAP flag on buffers that are captured without signal https://bugzilla.gnome.org/show_bug.cgi?id=774850 2016-11-24 19:19:36 +0200 Sebastian Dröge * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: * sys/decklink/gstdecklinkvideosrc.h: decklinksrc: Keep track of a window of capture/stream time mappings and calculate relationship Based on this we calculate the actual capture time, which should get us rid of any capturing jitter by averaging it out. Also add a output-stream-time property which forces the elements to output the stream time directly instead of doing any conversion to the pipeline clock. Use with care. https://bugzilla.gnome.org/show_bug.cgi?id=774850 2016-11-22 19:30:27 +0200 Sebastian Dröge * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkvideosink.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: * sys/decklink/gstdecklinkvideosrc.h: decklinksrc: Stop using the "hardware" timestamps and directly use the pipeline clock The hardware timestamps have no relation to when frames were produced, only when frames arrived somewhere in the hardware. Especially there is no guarantee that audio and video will have the same hardware timestamps although they belong together, and even more important: the rate with which the hardware timestamps increase is completely unrelated to the rate with which the frames are captured! As such we can as well use the pipeline clock directly and stop doing complicated calculations. Also as a side effect this allows now running without any pipeline clock, by directly making use of the stream times as reported by the driver. https://bugzilla.gnome.org/show_bug.cgi?id=774850 2016-11-28 14:25:49 +0200 Sebastian Dröge * gst/rawparse/gstaudioparse.c: * gst/rawparse/gstaudioparse.h: * gst/rawparse/gstrawaudioparse.c: * gst/rawparse/gstrawaudioparse.h: * gst/rawparse/gstrawbaseparse.c: * gst/rawparse/gstrawbaseparse.h: * gst/rawparse/gstrawvideoparse.c: * gst/rawparse/gstrawvideoparse.h: * gst/rawparse/gstunalignedaudioparse.c: * gst/rawparse/gstunalignedvideoparse.c: * gst/rawparse/gstvideoparse.c: * gst/rawparse/gstvideoparse.h: rawparse: Whitespace cleanup 2016-11-28 11:26:50 +0000 Tim-Philipp Müller * Makefile.am: * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/inspect/plugin-dataurisrc.xml: * gst-plugins-bad.spec.in: * gst/dataurisrc/Makefile.am: * gst/dataurisrc/gstdataurisrc.c: * gst/dataurisrc/gstdataurisrc.h: * gst/dataurisrc/meson.build: * gst/meson.build: * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/dataurisrc.c: dataurisrc: remove plugin, moved to core https://bugzilla.gnome.org/show_bug.cgi?id=774527 2016-11-28 10:49:23 +0200 Sebastian Dröge * ext/hls/m3u8.c: m3u8: Mark uri_join() function as static We don't really want to export this, especially not without any namespacing. This can cause problems for static builds. 2016-11-28 10:27:56 +0200 Sebastian Dröge * gst/mpegtsdemux/tsdemux.c: tsdemux: Post an error message on the bus if we activated a program without pads Otherwise decodebin and applications are going to wait forever for pads to appear, which is never going to happen. Happens on this stream, which probably just need support for it added: https://samples.mplayerhq.hu/3D/AVC_codec_in_m2ts_not_recognized/AVC_codec_not_recognized_right_video_sample.m2ts 2016-11-28 14:22:05 +1100 Matthew Waters * gst-libs/gst/gl/gstglwindow.c: glwindow: move g_main_context_push/pop_thread_default() to run() Calling g_main_context_push_thread and then g_main_context_invoke() (used by gst_gl_window_send_message_async()) in the same thread will cause the invoked function to run immediately instead of being delayed. This had implications for the creation of the OpenGL context not waiting until the main loop had completely started up and as a result would sometimes deadlock in short create/destroy scenarios. https://bugzilla.gnome.org/show_bug.cgi?id=775171 2016-11-28 14:19:18 +1100 Matthew Waters * gst-libs/gst/gl/gstglcontext.c: glcontext: fix race between creation/shutdown 626bcccff96f624f59c5212b3e21e472240171fd removed some locks that allowed the main loop quit to occur before the context was fully created. 2776cef25d2a98668b73272aecfe77e684e6627e attempted to readd them but missed the scop of the quit() call. Also remove the use of g_thread_join() as that's not safe to use when it's possible to lose the last reference from the GL thread. https://bugzilla.gnome.org/show_bug.cgi?id=775171 2016-11-27 12:40:53 +0200 Sebastian Dröge * gst/rawparse/gstrawbaseparse.c: rawbaseparse: Fix output buffer size trimming For frame->buffer, baseparse is doing that automatically for us. For frame->output_buffer it doesn't and assumes that the subclass is already doing that. Consistency! 2016-11-27 12:20:11 +0200 Sebastian Dröge * ext/dash/gstmpdparser.c: dash: Fix stripping of space at the beginning/end of durations The way how strchr() was called here, it could easily read after the end of the string. Use g_ascii_isspace() instead. Detected by asan in the unit test. 2016-11-27 11:56:18 +0200 Sebastian Dröge * ext/opencv/meson.build: opencv: Make the OpenCV plugin optional in the meson build 2016-11-27 11:44:14 +0200 Sebastian Dröge * gst/rawparse/gstrawaudioparse.c: * gst/rawparse/gstrawbaseparse.c: * gst/rawparse/gstrawbaseparse.h: * gst/rawparse/gstrawvideoparse.c: rawparse: Properly align raw audio/video output buffers That is, aligned to the basic type for audio and to 32 bytes for video. Fixes crashes if the raw buffers are passed to SIMD processing functions. https://bugzilla.gnome.org/show_bug.cgi?id=774428 2016-11-15 16:57:20 +0000 Luis de Bethencourt * ext/meson.build: * ext/opencv/meson.build: * gst-libs/gst/meson.build: * gst-libs/gst/opencv/meson.build: opencv: Enable in meson build https://bugzilla.gnome.org/show_bug.cgi?id=774223 2016-11-26 11:20:51 +0000 Tim-Philipp Müller * .gitmodules: common: use https protocol for common submodule https://bugzilla.gnome.org/show_bug.cgi?id=775110 2016-11-26 12:28:57 +0200 Sebastian Dröge * gst/mxf/mxfdemux.c: mxfdemux: Post an error message if we got EOS before having any source pads Otherwise, sending an EOS event has no effect and the application waits forever for something to happen. 2016-11-26 12:16:39 +0200 Sebastian Dröge * gst/videoparsers/gsth264parse.c: h264parse: Fix indentation 2016-11-26 12:16:18 +0200 Sebastian Dröge * gst/videoparsers/gsth265parse.c: h265parse: Fix assertion when encountering an invalid NALU Error out properly instead. https://bugzilla.gnome.org/show_bug.cgi?id=775130 2016-11-26 12:15:50 +0200 Sebastian Dröge * gst/videoparsers/gsth264parse.c: h264parse: Fix assertion when encountering an invalid NALU Error out properly instead. https://bugzilla.gnome.org/show_bug.cgi?id=775130 2016-11-26 10:44:43 +0100 Edward Hervey * gst-libs/gst/mpegts/gstmpegtssection.c: mpegtssection: Add more section size checks The smallest section ever needs to be at least 3 bytes (i.e. just the short header). Non-short headers need to be at least 11 bytes long (3 for the minimum header, 5 for the non-short header, and 4 for the CRC). https://bugzilla.gnome.org/show_bug.cgi?id=775048 2016-11-26 10:23:01 +0100 Edward Hervey * gst-libs/gst/mpegts/gstmpegtssection.c: mpegtssection: Fix PAT parsing Use the estimated number of programs for parsing. Avoids over-reading. https://bugzilla.gnome.org/show_bug.cgi?id=775120 2016-11-26 09:26:36 +0100 Edward Hervey * ext/hls/gsthlsdemux.c: hlsdemux: Handle GST_SEEK_TYPE_NONE seek When one is only updating the "stop" position (i.e. non-flushing seek, with GST_SEEK_TYPE_NONE on the "start" (or stop in reverse) position), we only need to store those values instead of moving the current position. https://bugzilla.gnome.org/show_bug.cgi?id=775127 2016-11-25 23:47:15 +0200 Sebastian Dröge * ext/opencv/gstsegmentation.cpp: * ext/wayland/wldisplay.c: ext: Fix various compiler warnings with clang wldisplay.c:179:15: error: comparison of unsigned enum expression < 0 is always false [-Werror,-Wtautological-compare] if (shm_fmt < 0) ~~~~~~~ ^ ~ gstsegmentation.cpp:419:40: error: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Werror,-Wconstant-conversion] filter->cvFG->imageData[j] = 255; ~ ^~~ https://bugzilla.gnome.org/show_bug.cgi?id=775112 2016-11-25 23:44:25 +0200 Sebastian Dröge * gst-libs/gst/gl/x11/gstglwindow_x11.c: gl/x11: Remove unused static function 2016-11-25 16:46:45 +0200 Sebastian Dröge * gst/mxf/mxfdemux.c: * gst/mxf/mxftypes.c: mxfdemux: Fix up another size check and prevent allocating too much memory 2016-11-25 15:59:44 +0200 Sebastian Dröge * gst/mxf/mxfmetadata.c: * gst/mxf/mxftypes.c: * gst/mxf/mxful.c: mxfdemux: Handle zero-sized KLV items better and don't assert on them 2016-11-25 15:53:50 +0200 Sebastian Dröge * gst/mxf/mxfdemux.c: mxfdemux: Fix various logic errors in error handling of footer partition parsing 2016-11-25 15:53:36 +0200 Sebastian Dröge * gst/mxf/mxfdemux.c: mxfdemux: Don't try parsing empty metadata items 2016-11-25 01:06:45 +0200 Sebastian Dröge * gst/mxf/mxfmetadata.c: mxfmetadata: Add missing NULL check 2016-11-22 18:06:52 +0100 Florent Thiéry * ext/gl/gstgldownloadelement.c: gldownload: fix element description (was "OpenGL uploader") 2016-11-24 19:45:10 +0200 Sebastian Dröge * gst/mxf/Makefile.am: * gst/mxf/mxf.c: mxf: Remove mxfdms1.[ch] from the build for now It's completely unused currently but might be used in the future. 2016-11-24 23:36:22 +0200 Sebastian Dröge * gst/mxf/mxfaes-bwf.c: * gst/mxf/mxfdemux.c: * gst/mxf/mxfdms1.c: * gst/mxf/mxfmetadata.c: * gst/mxf/mxftypes.c: * gst/mxf/mxful.c: mxfdemux: Add various missing bounds checks, NULL checks and integer overflow protection for error cases 2016-11-24 14:48:35 +0200 Sebastian Dröge * sys/decklink/gstdecklinkvideosrc.cpp: decklinkvideosrc: Free timecodes when done with a frame 2016-11-24 14:41:59 +0200 Sebastian Dröge * gst/timecode/gsttimecodestamper.c: timecodestamper: Remove all existing timecode metas if requested to override existing 2016-11-24 11:12:23 +0100 Edward Hervey * gst-libs/gst/mpegts/gstmpegtssection.c: mpegtssection: Don't free empty streams Also avoids a useless assertion 2016-11-24 11:11:35 +0100 Edward Hervey * gst/mpegtsdemux/mpegtspacketizer.c: mpegtspacketizer: Don't add existing values to group If the last value is already identical, there is no need in adding it yet-another-time 2016-11-23 20:13:59 +0100 Víctor Manuel Jáquez Leal * sys/kms/gstkmsallocator.c: kmssink: include drm.h after stdlib.h As drm.h is internal to libdrm, it expects to have already included stdlib.h. 2016-11-23 19:41:43 +0100 Víctor Manuel Jáquez Leal * sys/kms/gstkmsallocator.c: kms: include stdlib.h drm.h does not include all what it needs to compile, in particular stdlib.h which defines size_t 2016-11-23 19:01:04 +0200 Sebastian Dröge * ext/dash/gstmpdparser.c: mpdparser: Don't set variable just to overwrite it again later We set it to TRUE here, but later we set it to TRUE again anyway if the parsing actually succeeded at this point. Let's keep the second one. CID 1374360. 2016-11-23 18:45:42 +0200 Sebastian Dröge * ext/wayland/wldisplay.c: wldisplay: Don't compare a guint with < 0 -1 is the "invalid" value, compare to it directly. CID 1394490. 2016-11-18 21:00:03 +0200 Sebastian Dröge * configure.ac: * gst/audiobuffersplit/Makefile.am: * gst/audiobuffersplit/gstaudiobuffersplit.c: * gst/audiobuffersplit/gstaudiobuffersplit.h: * gst/audiobuffersplit/meson.build: * gst/meson.build: audiobuffersplit: New element that splits raw audio buffers into equal-sized buffers This is useful e.g. if audio buffers should be exactly the duration of a video frame, or if a audio buffers should never be too large because of latency constraints. The element is taking a fractional buffer duration, to allow working with e.g. 1001/30000 as output duration and it accumulates rounding errors in the buffer durations and compensates for them by making some buffers one sample larger than the others. https://bugzilla.gnome.org/show_bug.cgi?id=774689 2016-10-19 12:39:36 +0200 Michael Tretter * configure.ac: * sys/kms/gstkmsallocator.c: * sys/kms/gstkmsallocator.h: * sys/kms/gstkmsutils.c: * sys/kms/gstkmsutils.h: * sys/kms/meson.build: kmssink: remove dependency on libkms libkms should not be used, because it imposes limitations on the DRM API, especially regarding bpp and stride. Instead the DRM IOCTL should be used directly. Switch from libkms to the IOCTL interface. Set bpp and height for framebuffer allocation to properly handle planar video formats. https://bugzilla.gnome.org/show_bug.cgi?id=773473 Signed-off-by: Víctor Jáquez 2016-11-23 10:31:29 +0000 Tim-Philipp Müller * Makefile.am: * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/inspect/plugin-mimic.xml: * ext/Makefile.am: * ext/meson.build: * ext/mimic/Makefile.am: * ext/mimic/gstmimdec.c: * ext/mimic/gstmimdec.h: * ext/mimic/gstmimenc.c: * ext/mimic/gstmimenc.h: * ext/mimic/gstmimic.c: * gst-plugins-bad.spec.in: * tests/check/Makefile.am: * tests/check/pipelines/.gitignore: * tests/check/pipelines/mimic.c: mimic: remove ancient codec This was used by MSN messenger in prehistoric times, it's safe to say no one needs or wants this any more these days. For decoding old recordings there's still a decoder in ffmpeg. https://bugzilla.gnome.org/show_bug.cgi?id=597616 2016-11-23 10:52:05 +0200 Sebastian Dröge * gst/videoparsers/gsth265parse.c: h265parse: Ensure codec_data has the required size when reading number of NAL arrays https://bugzilla.gnome.org/show_bug.cgi?id=774896 2016-11-23 10:51:17 +0200 Sebastian Dröge * gst/videoparsers/gsth264parse.c: h264parse: Ensure codec_data has the required size when reading number of SPS https://bugzilla.gnome.org/show_bug.cgi?id=774896 2016-11-23 17:04:34 +1100 Matthew Waters * gst-libs/gst/gl/x11/gstglcontext_glx.c: gl/contextglx: error out on more invalid display/window combinations https://bugzilla.gnome.org/show_bug.cgi?id=774851 2016-11-23 15:57:05 +1100 Matthew Waters * gst-libs/gst/gl/egl/gstglmemoryegl.c: * gst-libs/gst/gl/gstglupload.c: gl: add necessary context_egl.h #includes to the source files 2016-11-23 13:32:38 +1100 Matthew Waters * gst-libs/gst/gl/egl/gstglmemoryegl.h: gl/memoryegl: remove access to private header gstglcontext_egl.h It's been removed and thus compiling anything against GstGLMemoryEGL would error with: In file included from gstomxvideodec.c:41:0: usr/include/gstreamer-1.0/gst/gl/egl/gstglmemoryegl.h:32:41: fatal error: gst/gl/egl/gstglcontext_egl.h: No such file or directory #include ^ https://bugzilla.gnome.org/show_bug.cgi?id=774886 2016-11-22 12:58:44 +0200 Sebastian Dröge * gst/mpegtsdemux/mpegtspacketizer.c: mpegtspacketizer: Reset values before parsing each section 2016-11-22 12:42:45 +0200 Sebastian Dröge * gst/mpegtsdemux/mpegtspacketizer.c: mpegtspacketizer: Make sure in all cases that we have enough data left for reading a section start In some cases we ended up parsing sections without. 2016-11-21 17:19:46 +0100 Philippe Renon * ext/opencv/gstcvdilateerode.cpp: * gst-libs/gst/opencv/gstopencvvideofilter.cpp: * gst-libs/gst/opencv/gstopencvvideofilter.h: opencv: forward declare opencv types Forward declare opencv types to avoid exposing them in the API. https://bugzilla.gnome.org/show_bug.cgi?id=774223 2016-11-21 10:52:39 +0000 Tim-Philipp Müller * gst-libs/gst/interfaces/photography.h: interfaces: photography: clean up header indentation 2016-11-20 15:10:42 +0900 Seungha Yang * ext/dash/gstmpdparser.c: mpdparser: Modify return of the function for loading external resources to void gst_mpd_client_fetch_on_load_external_resources() never ever return FALSE due to modified external xml loading functions. https://bugzilla.gnome.org/show_bug.cgi?id=774463 2016-11-19 23:04:04 +0900 Seungha Yang * ext/dash/gstmpdparser.c: mpdparser: Handle invalid external xml link for SegmentList element Ignore invalid xml link for SegmentList likewise external Period without error. https://bugzilla.gnome.org/show_bug.cgi?id=774463 2016-11-19 22:38:20 +0900 Seungha Yang * ext/dash/gstmpdparser.c: mpdparser: Handle invalid external xml link for AdaptationSet element Ignore invalid xml link for AdaptationSet likewise external Period without error. https://bugzilla.gnome.org/show_bug.cgi?id=774463 2016-11-19 18:37:54 +0900 Seungha Yang * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: mpdparser: Handle invalid external xml link for Period element Section 5.3.3 in ISO/IEC 23009-1:2014 defines that invalid references (e.g., invalide URI or cannot be resolved) specified by "@xlink:href" attribute shall be removed. That means, we should play it without error, and just ignore the corresponding element. It's similar to "urn:mpeg:dash:resolve-to-zero:2013". https://bugzilla.gnome.org/show_bug.cgi?id=774463 2016-11-17 15:41:00 +0000 David Evans * gst-libs/gst/gl/Makefile.am: gl: add gstreamer-video to pkg-config path https://bugzilla.gnome.org/show_bug.cgi?id=774624 2016-11-20 12:40:07 +0000 Tim-Philipp Müller * tests/check/Makefile.am: tests: fix lib and cflags order in Makefile.am pnm: add misssing continuation slash at end of line vp8parser: no need to link codecparsers twice dash_demux, mssdemux, hlsdemux: fix lib/flags ordering - local libs and flags must come first, then base before core before rest 2016-11-19 16:12:06 +0900 Seungha Yang * ext/dash/gstdashdemux.c: dashdemux: Fix leak in gst_dash_demux_stream_free Free parsed moof and sync samples with _stream_free(). https://bugzilla.gnome.org/show_bug.cgi?id=774702 2016-11-17 11:19:54 -0800 Reynaldo H. Verdejo Pinochet * configure.ac: * ext/vulkan/wayland/Makefile.am: * ext/wayland/Makefile.am: wayland: avoid prefix clash in combined pkg-config check Adittionally, remove leftover WAYLAND_DRM_ include flags var Fixes building of ext/wayland/* broken by dfd86de67a8c04f6d1 Related to: https://bugzilla.gnome.org/show_bug.cgi?id=773927 2016-11-17 20:21:17 +0200 Sebastian Dröge * gst/videoparsers/gstvc1parse.c: vc1parse: Mark pad as needing reconfiguration again if it failed And return FLUSHING instead of NOT_NEGOTIATED on flushing pads. https://bugzilla.gnome.org/show_bug.cgi?id=774623 2016-11-17 20:20:52 +0200 Sebastian Dröge * sys/applemedia/vtdec.c: vtdec: Mark pad as needing reconfiguration again if it failed And return FLUSHING instead of NOT_NEGOTIATED on flushing pads. https://bugzilla.gnome.org/show_bug.cgi?id=774623 2016-11-17 20:20:15 +0200 Sebastian Dröge * gst-libs/gst/video/gstvideoaggregator.c: videoaggregator: Mark pad as needing reconfiguration again if it failed And return FLUSHING instead of NOT_NEGOTIATED on flushing pads. https://bugzilla.gnome.org/show_bug.cgi?id=774623 2016-11-17 20:19:44 +0200 Sebastian Dröge * ext/ttml/gstttmlrender.c: ttmlrender: Mark pad as needing reconfiguration again if it failed And return FLUSHING instead of NOT_NEGOTIATED on flushing pads. https://bugzilla.gnome.org/show_bug.cgi?id=774623 2016-11-17 20:16:49 +0200 Sebastian Dröge * ext/assrender/gstassrender.c: assrender: Mark pad as needing reconfiguration again if reconfiguration failed Also return FLUSHING instead of NOT_NEGOTIATED on flushing pads. https://bugzilla.gnome.org/show_bug.cgi?id=774623 2016-11-18 12:21:22 +0200 Sebastian Dröge * ext/Makefile.am: iqa: Add to DIST_SUBDIRS 2016-11-17 17:17:22 -0800 Scott D Phillips * meson.build: meson: add_global_arguments -> add_project_arguments https://bugzilla.gnome.org/show_bug.cgi?id=774656 2016-11-17 10:54:45 -0800 Scott D Phillips * gst-libs/gst/wayland/meson.build: meson: wayland: wl_scanner is required: false https://bugzilla.gnome.org/show_bug.cgi?id=774637 2016-11-17 15:11:20 -0300 Thibault Saunier * po/POTFILES.in: po: Remove remaining reference to videomeasure 2016-11-17 18:23:04 +0200 Vivia Nikolaidou * sys/decklink/gstdecklinkvideosrc.cpp: * sys/decklink/gstdecklinkvideosrc.h: decklinkvideosrc: Issue "no signal" warnings When a frame is found to not have an associated input source (cable unplugged, wrong mode selected), an element warning will be issued. When the next frame in the stream is found to have an input source selected (e.g. cable replugged), an element info will be issued. https://bugzilla.gnome.org/show_bug.cgi?id=774629 2016-11-16 18:01:19 -0300 Thibault Saunier * configure.ac: * gst/meson.build: * gst/videomeasure/Makefile.am: * gst/videomeasure/gstvideomeasure.c: * gst/videomeasure/gstvideomeasure.h: * gst/videomeasure/gstvideomeasure_collector.c: * gst/videomeasure/gstvideomeasure_collector.h: * gst/videomeasure/gstvideomeasure_ssim.c: * gst/videomeasure/gstvideomeasure_ssim.h: * gst/videomeasure/meson.build: videomeasure: Remove old unported videomeasure plugin as it is now replaced by IQA 2016-11-16 16:30:50 -0300 Thibault Saunier * ext/iqa/iqa.c: iqa: Error out when trying to compare video stream with different sizes We do not handle it yet and we should let the user know. 2016-11-16 14:46:24 -0300 Thibault Saunier * ext/iqa/meson.build: * ext/meson.build: iqa: Add meson build support 2016-11-16 13:18:53 -0300 Mathieu Duponchelle * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * ext/Makefile.am: * ext/iqa/Makefile.am: * ext/iqa/iqa.c: * ext/iqa/iqa.h: Adds a new Image Quality Assessment plugin. It only offers one metric for now, "dssim", available if https://github.com/pornel/dssim was installed on the system at the time the plugin was compiled. The spearman correlation for dssim against the TID2008 dataset is 0.81, against 0.70 for the old ssim implementation, and it runs 15 times faster. https://bugzilla.gnome.org/show_bug.cgi?id=751324 2016-11-17 14:35:26 +1100 Matthew Waters * tests/check/elements/glimagesink.c: gl/tests: fix glimagesink element test on OSX It was suffering a race starting up the thread that could cause the main loop to quit before the main loop had started. 2016-11-17 14:21:23 +1100 Matthew Waters * sys/applemedia/avfassetsrc.m: applemedia: error out if the uri property is not set Fixes: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** +[NSString stringWithUTF8String:]: NULL cString in the state change test. 2016-11-17 15:15:18 +1100 Matthew Waters * gst-libs/gst/meson.build: * gst-libs/gst/wayland/meson.build: * meson.build: meson: wayland: move dep checks to the lib Moves them closer to where they are used. We don't want every check in the main meson.build file. 2016-11-17 14:32:10 +1100 Matthew Waters * gst-libs/gst/gl/meson.build: meson: gl/egl: add missing source file d42145e8c1ba3bc0445506b92bb7ac04ae98f4dd didn't add the necessary meson build changes. 2016-11-17 02:41:14 +1100 Matthew Waters * gst-libs/gst/gl/egl/gsteglimage.c: * gst-libs/gst/gl/egl/gsteglimage.h: * gst-libs/gst/gl/egl/gstglcontext_egl.c: * gst-libs/gst/gl/egl/gstglcontext_egl.h: * gst-libs/gst/gl/egl/gstglmemoryegl.c: gl/egl: remove EGLImage functions from egl context By adding the necessary GstEGLImage entry points to create a GstEGLImage from a GstGLMemory. https://bugzilla.gnome.org/show_bug.cgi?id=774518 2016-11-17 01:45:38 +1100 Matthew Waters * gst-libs/gst/gl/egl/gstglcontext_egl.c: * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstglcontext.h: * gst-libs/gst/gl/x11/gstglcontext_glx.c: glcontext: add vfunc to retrieve the OpenGL platform version i.e. the version of EGL, GLX, etc implemented. https://bugzilla.gnome.org/show_bug.cgi?id=774518 2016-11-17 01:38:32 +1100 Matthew Waters * gst-libs/gst/gl/egl/Makefile.am: * gst-libs/gst/gl/egl/gstegl.c: * gst-libs/gst/gl/egl/gstegl.h: * gst-libs/gst/gl/egl/gsteglimage.c: * gst-libs/gst/gl/egl/gstglcontext_egl.c: gl/egl: move get_error_string() into gstegl So others can use it without #include-ing a private header https://bugzilla.gnome.org/show_bug.cgi?id=774518 2014-11-27 15:50:04 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/gl/egl/gstglcontext_egl.c: * gst-libs/gst/gl/egl/gstglcontext_egl.h: * gst-libs/gst/gl/egl/gstgldisplay_egl.c: * gst-libs/gst/gl/egl/gstgldisplay_egl.h: display/egl: implement getting the EGLDisplay of a specific platform https://bugzilla.gnome.org/show_bug.cgi?id=774518 2016-11-16 13:05:11 +0100 Víctor Manuel Jáquez Leal * gst-libs/gst/gl/egl/gstglcontext_egl.c: gl/egl: check the feature in the extensions list https://bugzilla.gnome.org/show_bug.cgi?id=774518 2016-11-16 20:41:39 +0200 Sebastian Dröge * gst/vmnc/vmncdec.c: vmncdec: Sanity-check width/height before using it We will allocate a screen area of width*height*bpp bytes, however this calculation can easily overflow if too high width or height are given inside the stream. Nonetheless we would just assume that enough memory was allocated, try to fill it and overwrite as much memory as wanted. Also allocate the screen area filled with zeroes to ensure that we start with full-black and not any random (or not so random) data. https://scarybeastsecurity.blogspot.gr/2016/11/0day-poc-risky-design-decisions-in.html Ideally we should just remove this plugin in favour of the one in gst-libav, which generally seems to be of better code quality. https://bugzilla.gnome.org/show_bug.cgi?id=774533 2016-11-16 18:50:53 +0200 Sebastian Dröge * configure.ac: ttml: Hide behind --enable-experimental The elements are autoplugged and currently assert on invalid streams. 2016-11-16 16:45:27 +0200 Sebastian Dröge * gst/smoothwave/.gitignore: smoothwave: Remove empty directory 2016-11-16 16:33:41 +0200 Sebastian Dröge * gst/meson.build: * gst/real/meson.build: real: Remove empty directory 2016-11-16 16:15:34 +0200 Sebastian Dröge * gst/meson.build: * gst/mpeg1sys/meson.build: mpeg1sys: Remove obsolete, empty directory that only contains a meson.build 2016-11-15 16:20:10 +0100 Imre Eörs * ext/curl/gstcurlbasesink.c: curl: transfer hangs in case connection was cut between client and server https://bugzilla.gnome.org/show_bug.cgi?id=774485 2016-11-16 17:30:54 +1100 Matthew Waters * tests/check/libs/gstglcontext.c: * tests/check/libs/gstglupload.c: gl/tests: don't use the default framebuffer Create our own instead as the default framebuffer may require special fiddling (like having a visible window) to correctly display/be renderable. Fixes the remaining GL library tests on OS X 2016-11-16 13:39:32 +1100 Matthew Waters * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: glcontext/cocoa: implement empty swap_buffers Fixes some GL tests on OS X. 2016-11-16 16:41:59 +1100 Matthew Waters * ext/gl/BUGS: gl: remove empty BUGS file We use bugzilla for bug tracking 2016-11-15 17:46:17 -0300 Thibault Saunier * ext/meson.build: * ext/wayland/meson.build: * gst-libs/gst/meson.build: * gst-libs/gst/wayland/meson.build: * meson.build: meson: Build waylandsink https://bugzilla.gnome.org/show_bug.cgi?id=774493 2016-11-15 17:48:15 +0000 Luis de Bethencourt * configure.ac: configure: fix build if wayland-client is not available Simplify the PKG_CHECK_MODULES related to Wayland to avoid the confusion of NOT_FOUND cases when there are 3 nested checks. Group those 3 checks together since there are no conditions specific to each one. Thanks to https://ci.gstreamer.net/ for alerting of the problem. https://bugzilla.gnome.org/show_bug.cgi?id=773927 2016-11-15 11:59:45 +0000 Luis de Bethencourt * configure.ac: configure: fix build if libdrm is not available If the NOT_FOUND part of the check PKG_CHECK_MODULES is not written, it defaults to error. Addind the else clause of this check as HAVE_WAYLAND="no" https://bugzilla.gnome.org/show_bug.cgi?id=773927 2016-11-16 00:01:00 +1100 Matthew Waters * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: glwindow/cocoa: remove unneeded window code in NSWindow This is all taken care of by GstGLWindowCocoa/GstGLNSView now. 2016-11-15 22:56:25 +1100 Matthew Waters * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: glwindow/cocoa: remove our view from the parent when closing Otherwise, when the application reuses the same UIView, we were getting draw notifications on the previous view/layer's which weren't valid anymore and were referencing pointers that had been freed. https://bugzilla.gnome.org/show_bug.cgi?id=753003 2016-11-15 21:43:59 +1100 Matthew Waters * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: gl/caopengllayer: add a debug category 2016-11-15 14:36:11 +1100 Matthew Waters * gst-libs/gst/gl/gstglbufferpool.c: glbufferpool: introduce check for GLMemory allocators The last missing piece of EGLImage support has been pushed. 2016-11-14 17:02:54 -0800 Scott D Phillips * gst-libs/gst/codecparsers/gstjpegparser.c: * gst/frei0r/gstfrei0r.c: * gst/id3tag/id3tag.c: Fix some MSVC warnings about const-ness Some miscellaneous warnings about const-ness, either casting away const where we know it's safe or removing const where it's not correct. https://bugzilla.gnome.org/show_bug.cgi?id=774293 2016-11-14 16:59:48 -0800 Scott D Phillips * gst-libs/gst/codecparsers/gstmpegvideometa.c: Cast away const from GstMetaInfo in *_get_meta_info() functions MSVC warns about the const in the implicit argument conversion in the calls to g_once_init_{enter,leave}. It's OK so explicitly cast it. https://bugzilla.gnome.org/show_bug.cgi?id=774293 2016-11-10 23:07:50 +0900 Seungha Yang * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Fix startup SEGMENT seeking and setting for live Because fragment.timestamp is relative value to period_start, startup SEGMENT seeking should be pointed to "fragment.timestamp + period_start" https://bugzilla.gnome.org/show_bug.cgi?id=774196 2016-11-14 12:23:37 +0100 Philippe Renon * sys/winscreencap/gstgdiscreencapsrc.c: gdiscreencapsrc: remove empty gst_gdiscreencapsrc_stop vfunc https://bugzilla.gnome.org/show_bug.cgi?id=774400 2016-11-10 18:42:29 +0100 Philippe Renon * configure.ac: * ext/opencv/Makefile.am: * ext/opencv/gstcvdilateerode.cpp: * ext/opencv/gstcvdilateerode.h: * ext/opencv/gstcvequalizehist.h: * ext/opencv/gstcvlaplace.h: * ext/opencv/gstcvsmooth.cpp: * ext/opencv/gstcvsmooth.h: * ext/opencv/gstcvsobel.h: * ext/opencv/gstedgedetect.h: * ext/opencv/gstfaceblur.h: * ext/opencv/gstfacedetect.h: * ext/opencv/gsthanddetect.h: * ext/opencv/gstmotioncells.h: * ext/opencv/gstretinex.h: * ext/opencv/gstskindetect.h: * ext/opencv/gsttemplatematch.h: * ext/opencv/gsttextoverlay.h: * gst-libs/gst/Makefile.am: * gst-libs/gst/opencv/Makefile.am: * gst-libs/gst/opencv/gstopencvutils.cpp: * gst-libs/gst/opencv/gstopencvutils.h: * gst-libs/gst/opencv/gstopencvvideofilter.cpp: * gst-libs/gst/opencv/gstopencvvideofilter.h: opencv: move base opencv filter class and utilities to gst-libs https://bugzilla.gnome.org/show_bug.cgi?id=774223 2016-11-14 23:15:05 +0530 Arun Raghavan * sys/fbdev/meson.build: * sys/meson.build: fbdevsink: Add to meson build 2016-11-14 23:11:11 +0530 Arun Raghavan * sys/kms/meson.build: kmssink: Trivial naming fix in meson for consistency 2016-11-14 21:03:20 +0530 Arun Raghavan * sys/kms/meson.build: * sys/meson.build: kmssink: Enable in meson build 2016-11-14 17:00:21 +0200 Sebastian Dröge * tests/check/elements/dash_mpd.c: dash: Fix breakage in unit test caused by gst-indent 2016-11-14 23:31:37 +0900 Seungha Yang * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: * tests/check/Makefile.am: * tests/check/elements/dash_mpd.c: * tests/check/elements/dash_mpd_data/xlink_double_period.period: * tests/check/elements/dash_mpd_data/xlink_single_period.period: mpdparser: Support multiple Period elements in external xml External xml could have empty, one or multiple top-level "Period" elements. Because xml parser cannot parse the multiple top-level elements (i.e., no root element), we need to wrap a xml in order to make root element. See also ISO/IEC 23009-1:2014 5.3.2.2 https://bugzilla.gnome.org/show_bug.cgi?id=774357 2016-11-03 10:47:00 -0700 Scott D Phillips * sys/msdk/Makefile.am: * sys/msdk/gstmsdkenc.c: * sys/msdk/meson.build: * sys/msdk/msdk.c: * sys/msdk/msdk.h: * sys/msdk/msdk_d3d.c: * sys/msdk/msdk_libva.c: msdk: Initial windows build support https://bugzilla.gnome.org/show_bug.cgi?id=770990 2016-10-13 14:30:43 -0700 Scott D Phillips * sys/meson.build: * sys/msdk/meson.build: meson: add build files for msdk https://bugzilla.gnome.org/show_bug.cgi?id=770990 2016-09-27 14:21:34 -0700 Scott D Phillips * sys/msdk/gstmsdkh265enc.c: * sys/msdk/gstmsdkvp8enc.c: msdk: load plugins in h265 and vp8 init https://bugzilla.gnome.org/show_bug.cgi?id=770990 2016-09-27 14:17:49 -0700 Scott D Phillips * sys/msdk/gstmsdkenc.c: msdk: Width and Height need to be integer multiples of 32 https://bugzilla.gnome.org/show_bug.cgi?id=770990 2016-09-09 15:43:25 -0700 Scott D Phillips * configure.ac: * sys/Makefile.am: * sys/msdk/Makefile.am: msdk: add to build https://bugzilla.gnome.org/show_bug.cgi?id=770990 2016-04-01 19:25:25 +0200 Josep Torra * sys/msdk/README: * sys/msdk/gstmsdk.c: * sys/msdk/gstmsdkenc.c: * sys/msdk/gstmsdkenc.h: * sys/msdk/gstmsdkh264enc.c: * sys/msdk/gstmsdkh264enc.h: * sys/msdk/gstmsdkh265enc.c: * sys/msdk/gstmsdkh265enc.h: * sys/msdk/gstmsdkmpeg2enc.c: * sys/msdk/gstmsdkmpeg2enc.h: * sys/msdk/gstmsdkvp8enc.c: * sys/msdk/gstmsdkvp8enc.h: * sys/msdk/msdk.h: * sys/msdk/msdk_libva.c: msdk: Create plugin for Intel's Media SDK [scott.d.phillips@intel.com: gst-indent *.c *.h] [scott.d.phillips@intel.com: link with libva at build time] [scott.d.phillips@intel.com: remove unused includes] [scott.d.phillips@intel.com: Update README] https://bugzilla.gnome.org/show_bug.cgi?id=770990 2016-11-14 11:08:24 +0100 Philippe Normand * ext/dash/gstmpdparser.c: * tests/check/elements/dash_demux.c: mpdparser: wrap unmodified data in protection event PlayReady being the one of the few DRM formats encoding its data with base64 it was not consistent to have a special case for this. So the base64 decoding operation now needs to be done by the protection event consumer, if needed. https://bugzilla.gnome.org/show_bug.cgi?id=774112 2016-11-14 11:06:00 +0100 Philippe Normand * ext/smoothstreaming/gstmssdemux.c: mssdemux: wrap unmodified data in protection event PlayReady being the one of the few DRM formats encoding its data with base64 it was not consistent to have a special case for this. So the base64 decoding operation now needs to be done by the protection event consumer, if needed. https://bugzilla.gnome.org/show_bug.cgi?id=774112 2016-11-14 11:32:17 +0200 Sebastian Dröge * ext/dtls/gstdtlscertificate.c: dtlscertificate: Fix error checking in RSA_generate_key_ex() usage Was broken during the port for OpenSSL 1.1. https://bugzilla.gnome.org/show_bug.cgi?id=774328 2016-11-11 10:55:57 -0800 Scott D Phillips * sys/winks/kshelpers.c: winks: undef windows SDK macros before redefining them Redefining an already defined macro causes a warning from the msvc preprocessor https://bugzilla.gnome.org/show_bug.cgi?id=774293 2016-11-11 10:54:52 -0800 Scott D Phillips * sys/d3dvideosink/d3dhelpers.c: Remove 'return' from `void` functions https://bugzilla.gnome.org/show_bug.cgi?id=774293 2016-11-11 10:51:49 -0800 Scott D Phillips * gst/mpegtsdemux/gstmpegdefs.h: mpegtsdemux: fix operator precedence in SAFE_FOURCC_ARGS Type cast has higher precedence than bitwise shift, so the third argument will truncate to 8 bits and then shift right by 8 bits resulting in constant zero. https://bugzilla.gnome.org/show_bug.cgi?id=774293 2016-11-12 10:38:04 +0200 Sebastian Dröge * ext/hls/m3u8.c: hlsdemux: Fix NULL pointer dereference when checking if there is a next fragment Thanks to Aleksandr for reporting and suggesting the fix. https://bugzilla.gnome.org/show_bug.cgi?id=774287 2016-10-26 22:36:17 -0700 Scott D Phillips * meson.build: meson: don't add_global_arguments when being built as a subproject https://bugzilla.gnome.org/show_bug.cgi?id=773568 2016-11-11 01:05:55 +0000 Tim-Philipp Müller * gst-libs/gst/gl/meson.build: gl: x11-xcb is not a required dependency Don't fail if it's not found.. 2016-10-19 14:54:44 +0200 Philipp Zabel * sys/kms/gstkmsallocator.c: kmssink: do not get kms bo pitch for planar formats The API is ill defined for planar formats in case of dumb BOs, do not use the reported stride in those cases. https://bugzilla.gnome.org/show_bug.cgi?id=773473 2016-10-18 09:19:09 +0200 Michael Tretter * sys/kms/gstkmssink.c: kmssink: remove custom gst_kms_sink_get_times The default get_times() function of the base sink is just fine. Remove the custom get_times() function, because the default function already reads the timestamps from the buffers. Signed-off-by: Michael Tretter https://bugzilla.gnome.org/show_bug.cgi?id=773473 2016-11-10 17:20:27 +1100 Matthew Waters * ext/smoothstreaming/gstmssmanifest.c: smoothstreaming: use the duration from the list of fragments if not present in the manifest Provides a more accurate duration for live streams that may be minutes or hours in front of the earliest fragment. https://bugzilla.gnome.org/show_bug.cgi?id=774178 2016-11-10 17:18:36 +1100 Matthew Waters * ext/smoothstreaming/gstmssdemux.c: * ext/smoothstreaming/gstmssmanifest.c: * ext/smoothstreaming/gstmssmanifest.h: smoothstreaming: implement adaptivedemux's get_live_seek_range() Allows seeking through the available fragments that are still available on the server as specified by the DVRWindowLength attribute in the manifest. https://bugzilla.gnome.org/show_bug.cgi?id=774178 2016-11-09 21:20:21 +1100 Matthew Waters * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: reset the manifest failure count after a successful retrieval This changes the failure case to require a consecutive number of failures rather than being spread out over the entire stream. Fixes the case where fetching the manifest was intermittent. https://bugzilla.gnome.org/show_bug.cgi?id=774177 2016-11-09 21:18:06 +1100 Matthew Waters * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: call the subclass for duration queries for live sources Otherwise, the duration query was failing for live sources https://bugzilla.gnome.org/show_bug.cgi?id=774177 2016-11-09 21:15:29 +1100 Matthew Waters * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: restart the manifest update task after a seek For formats that need to update the manifest to know about new fragments as they're being written by the server would never receive an updated fragment list after a seek event https://bugzilla.gnome.org/show_bug.cgi?id=774177 2016-11-09 17:10:21 +0900 Dongil Park * gst-libs/gst/mpegts/gstmpegtsdescriptor.h: mpegts: fix typo in GstMpegtsDescriptor https://bugzilla.gnome.org/show_bug.cgi?id=774132 2016-11-10 20:34:53 +1100 Matthew Waters * ext/gl/gstglutils.c: * ext/gl/gstglutils.h: gl/build: add missing build files 3f7b54988186de17ec4e5b5566074cfaa392819a was incomplete :( 2016-11-10 19:14:24 +1100 Matthew Waters * ext/gl/Makefile.am: * ext/gl/gstgldeinterlace.c: * ext/gl/gstgleffects.c: * ext/gl/gstglfiltercube.c: * ext/gl/gstglfilterglass.c: * ext/gl/gstglmosaic.c: * ext/gl/gstgloverlay.c: * ext/gl/gstgltransformation.c: * ext/gl/gstglvideomixer.c: * ext/gl/meson.build: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: * gst-libs/gst/gl/gstglviewconvert.c: gl/utils: move gen_shader() to the plugin and remove del_shader() gst_gl_context_del_shader() can be replaced by a g_object_unref(). gst_gl_context_gen_shader() should be replaced by using GstGLSLStage. 2016-10-26 16:53:27 +1100 Matthew Waters * gst-libs/gst/gl/gstglwindow.h: glwindow: remove unused field in public struct 2016-10-26 16:30:43 +1100 Matthew Waters * ext/gl/gstglimagesink.c: * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstglwindow.c: * gst-libs/gst/gl/gstglwindow.h: * gst-libs/gst/gl/x11/gstglwindow_x11.c: glwindow: remove is_running() function It isn't necessary in correctly written programs. 2016-11-08 17:50:51 +0530 Nirbheek Chauhan * gst-libs/gst/gl/meson.build: meson/gl: XCB changes also need x11-xcb as a dependency https://ci.gstreamer.net/job/GStreamer-master-meson/380/console [...] gst-libs/gst/gl/x11/xcb_event_source.c:98: undefined reference to `xcb_get_file_descriptor' 2016-11-07 12:30:20 +0200 Sebastian Dröge * sys/androidmedia/gstamc.c: amc: Allow registering codecs, camera or sensors if any of the others failed https://bugzilla.gnome.org/show_bug.cgi?id=774048 2016-11-07 12:24:59 +0200 Sebastian Dröge * sys/androidmedia/gst-android-hardware-sensor.c: ahs: Don't assert on deinit if initialization failed before Initialization failure is handled correctly by just not registering the ahssrc element. https://bugzilla.gnome.org/show_bug.cgi?id=774048 2016-11-08 09:52:48 +0100 Philippe Normand * gst-libs/gst/gl/meson.build: gl/x11: fix meson build The x11_event_source.[ch] files were renamed in 4f6c226bd24ae3ef66bd8f4c17b001444c9b0bf1. 2016-11-08 15:04:29 +1100 Matthew Waters * tests/examples/gl/qt/mousevideooverlay/pipeline.cpp: * tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp: * tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp: examples/gl/qt: fix the examples for the use of newer API gstgl doesn't undo/overwrite what GL state the examples are changing anymore. As such, the examples need to reset the GL state themselves to be able to play nice with libgstgl 2016-11-08 13:35:33 +1100 Matthew Waters * ext/gl/gstglfiltershader.c: glfiltershader: expand the docs slightly Add an example OpenGL shader 2016-07-01 00:31:07 +1000 Matthew Waters * gst-libs/gst/gl/gstglwindow.c: * gst-libs/gst/gl/gstglwindow.h: glwindow: remove the navigation thread This functionality can now effectively be implemented with the display event thread. 2016-07-01 00:07:23 +1000 Matthew Waters * configure.ac: * gst-libs/gst/gl/x11/Makefile.am: * gst-libs/gst/gl/x11/gstgldisplay_x11.c: * gst-libs/gst/gl/x11/gstgldisplay_x11.h: * gst-libs/gst/gl/x11/gstglwindow_x11.c: * gst-libs/gst/gl/x11/xcb_event_source.c: * gst-libs/gst/gl/x11/xcb_event_source.h: gl/x11: use xcb instead of libX11 - xcb is supposedly thread-safe! videotestsrc ! glimagesink now doesn't spuriously result in a 'call XInitThreads()' error however if anybody else is using X11, then XInitThreads() still needs to be called and multiple glimagesink's still need XInitThreads(). Everything still takes libX11 handles as they are compatible with the xcb variants. Unfortunately we cannot move fully over to xcb due to GLX being entirely based on Xlib. It's also impossible to transform a xcb_connection to a Display which means we require X11 handles. 2016-06-30 23:12:33 +1000 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstgldisplay.h: gldisplay: add a list of glwindow's With the event thread on the display, for a particular winsys event we need to be able to retreive the window that the event matches. 2016-06-30 23:04:16 +1000 Matthew Waters * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstgldisplay.h: gldisplay: add a dedicated event thread Will take the place of the navigation event thread for dealing with winsys events. 2016-11-08 12:44:45 +1100 Matthew Waters * gst-libs/gst/gl/gstglapi.h: gl: don't expose OpenGL prototypes We roll our own to avoid depending a certain OpenGL header version 2016-11-08 02:56:44 +1100 Matthew Waters * gst-libs/gst/gl/cocoa/Makefile.am: gl/cocoa: don't install the gstglcontext_cocoa.h header It's not needed to be exposed 2016-11-08 02:52:37 +1100 Matthew Waters * gst-libs/gst/gl/android/Makefile.am: gl/android: don't install the android window header It's not needed 2016-11-08 02:50:41 +1100 Matthew Waters * gst-libs/gst/gl/egl/gsteglimage.h: * gst-libs/gst/gl/egl/gstgldisplay_egl.h: * gst-libs/gst/gl/egl/gstglmemoryegl.h: * gst-libs/gst/gl/wayland/gstgldisplay_wayland.h: * gst-libs/gst/gl/x11/gstgldisplay_x11.h: gl: add padding to all exposed winsys/platform-specific structs 2016-11-08 02:47:36 +1100 Matthew Waters * gst-libs/gst/gl/meson.build: * gst-libs/gst/gl/wayland/Makefile.am: gl/wayland: install the gstgldisplay_wayland.h header As it is used by other OpenGL sinks (gtkglsink, qmlglsink) 2016-11-08 02:44:30 +1100 Matthew Waters * gst-libs/gst/gl/egl/Makefile.am: * gst-libs/gst/gl/meson.build: gl/egl: don't install the gstglcontext_egl.h header It's not needed to be exposed and there are no users of the API. 2016-11-08 02:21:20 +1100 Matthew Waters * ext/gl/gstgldifferencematte.c: * ext/gl/gstgleffects.c: * ext/gl/gstglfiltercube.c: * ext/gl/gstgloverlay.c: * ext/gl/gstgltransformation.c: * gst-libs/gst/gl/gstglbasefilter.c: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: glfilter: remove display_init/reset They are mirrors of GstGLBaseFilter's gl_start() and gl_stop() virtual methods so use them instead. 2016-11-07 14:47:22 +0800 Haihua Hu * ext/qt/gstqtsrc.cc: * ext/qt/gstqtsrc.h: * ext/qt/qtwindow.cc: * ext/qt/qtwindow.h: qmlglsrc: some enhancements for qmlglsrc 1. Need set use-default-fbo to qquickwindow during set property to support change render target on the fly. 2. Calculate qmlglsrc refresh frame rate in qtglwindow https://bugzilla.gnome.org/show_bug.cgi?id=774035 2016-11-04 11:56:13 +0530 Gaurav Gupta * sys/vdpau/gstvdpsink.c: vdpsink: fix Memory leak due to Xlib API usage https://bugzilla.gnome.org/show_bug.cgi?id=773932 2016-11-04 09:56:33 +0100 Philippe Normand * ext/dash/gstmpdparser.c: * tests/check/elements/dash_demux.c: * tests/check/elements/dash_mpd.c: mpdparser: MS PlayReady ContentProtection parsing The "pro" (PlayReady Object) element contents are now base64-decoded and properly stored in Protection events. https://bugzilla.gnome.org/show_bug.cgi?id=773936 2016-11-04 16:26:50 +0200 Sebastian Dröge * gst/yadif/gstyadif.c: * tests/check/elements/compositor.c: gst: Fix more mentions of interlaced-mode to say interlace-mode 2016-11-04 13:43:08 +0000 Tim-Philipp Müller * ext/wayland/Makefile.am: wayland: only use libdrm headers, don't link to the lib https://bugzilla.gnome.org/show_bug.cgi?id=773927 2016-11-04 09:26:48 +0000 Tim-Philipp Müller * configure.ac: * sys/kms/Makefile.am: kms: rename variable used Since this includes kms. 2016-11-04 00:52:41 +0000 Tim-Philipp Müller * configure.ac: * ext/wayland/Makefile.am: * ext/wayland/wlvideoformat.h: wayland: include drm_fourcc.h properly and fix build 2016-11-04 00:44:32 +0000 Tim-Philipp Müller * ext/wayland/Makefile.am: wayland: fix cflags/libs order 2016-11-04 09:51:36 +0530 Arun Raghavan * ext/vulkan/meson.build: vulkan: Add missing files to meson build 2016-09-29 16:30:33 -0400 Nicolas Dufresne * ext/wayland/gstwaylandsink.c: * ext/wayland/wldisplay.c: * ext/wayland/wldisplay.h: * ext/wayland/wllinuxdmabuf.c: * ext/wayland/wlshmallocator.c: waylandsink: Rework dmabuf support Simplify and fix some of the show_frame logic. https://bugzilla.gnome.org/show_bug.cgi?id=711155 2016-09-22 11:10:47 +0200 Fabien Dessenne * ext/wayland/Makefile.am: * ext/wayland/gstwaylandsink.c: * ext/wayland/gstwaylandsink.h: * ext/wayland/wldisplay.c: * ext/wayland/wldisplay.h: * ext/wayland/wllinuxdmabuf.c: * ext/wayland/wllinuxdmabuf.h: * ext/wayland/wlshmallocator.c: * ext/wayland/wlvideoformat.c: * ext/wayland/wlvideoformat.h: waylandsink: support linux dmabuf protocol Support the wayland zwp_linux_dmabuf_unstable_v1 protocol. SHM formats and DMABuf formats are exposed differently in caps: the DMABuf formats are flagged with GST_CAPS_FEATURE_MEMORY_DMABUF. No buffer pool is proposed for DMABuf buffers, it is the upstream element responsibility to provide with such buffers. https://bugzilla.gnome.org/show_bug.cgi?id=711155 2016-09-29 14:34:18 -0400 Nicolas Dufresne * ext/wayland/gstwaylandsink.c: * ext/wayland/wlshmallocator.c: waylandsink: Allow any kind of FD for shm memory https://bugzilla.gnome.org/show_bug.cgi?id=711155 2016-11-03 17:34:54 +0000 Luis de Bethencourt * configure.ac: * ext/ttml/meson.build: ttml: bump needed libxml2 version ttml was recently added but it won't compile unless libxml2 version 2.9.2 or later is available. In that version the first parameter of xmlGetProp switched to being a const. In previous versions the compiler complains about passing a const value to a non const argument. 2016-11-03 08:31:36 +0100 Edward Hervey * tests/check/elements/.gitignore: check: Add new test to .gitignore 2016-11-03 18:19:58 +1100 Matthew Waters * gst-libs/gst/gl/gstgldisplay.c: gldisplay: Fix inverted precondition A GError argument must either be null or point to a NULL GError. https://developer.gnome.org/glib/stable/glib-Error-Reporting.html 2016-09-01 20:04:08 +1000 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: Use the trash list to free resources after they've been used This allows further parallelism and removes a device wait from the end of the render code. 2016-09-01 19:52:40 +1000 Matthew Waters * ext/vulkan/Makefile.am: * ext/vulkan/vk.h: * ext/vulkan/vk_fwd.h: * ext/vulkan/vktrash.c: * ext/vulkan/vktrash.h: vulkan: add a trash object This allows pushing the destruction of vulkan resources after the signalling of an vulkan event. The event facilitates knowing when a specific point in the vulkan queue has been reached. Only after the event has been signaled can vulkan resources be freed and/or reused. 2016-09-01 19:51:11 +1000 Matthew Waters * ext/vulkan/Makefile.am: * ext/vulkan/vk.h: * ext/vulkan/vk_fwd.h: * ext/vulkan/vkfence.c: * ext/vulkan/vkfence.h: vulkan: add a simple refcountable fence wrapper 2016-11-03 16:14:37 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasememory.c: * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglframebuffer.c: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglwindow.c: gl/gi: some annotation updates for called functions With scope, closure, destroy annotations 2016-11-03 16:12:32 +1100 Matthew Waters * gst-libs/gst/gl/Makefile.am: gl/gi: also include GstVideo Removes all the unknown type GstVideo* warnings while building the GIR file. 2016-10-27 16:19:04 +1100 Matthew Waters * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstglfeature.c: * gst-libs/gst/gl/gstglfeature.h: * gst-libs/gst/gl/gstglfeature_private.h: glfeature: move internal functions into a private header Don't expose them to the outside world 2016-10-05 12:19:12 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * ext/gl/caopengllayersink.m: * ext/gl/gstglbasemixer.c: * ext/gl/gstglfiltershader.c: * ext/gl/gstglimagesink.c: * ext/gl/gstglstereosplit.c: * ext/gl/gstgltestsrc.c: * ext/gl/gstglvideomixer.c: * ext/gtk/gstgtkglsink.c: * ext/qt/gstqtsink.cc: * ext/qt/gstqtsrc.cc: * gst-libs/gst/gl/android/gstglwindow_android_egl.c: * gst-libs/gst/gl/android/gstglwindow_android_egl.h: * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h: * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h: * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c: * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h: * gst-libs/gst/gl/eagl/gstglcontext_eagl.h: * gst-libs/gst/gl/eagl/gstglcontext_eagl.m: * gst-libs/gst/gl/eagl/gstglwindow_eagl.h: * gst-libs/gst/gl/eagl/gstglwindow_eagl.m: * gst-libs/gst/gl/egl/gstglcontext_egl.c: * gst-libs/gst/gl/egl/gstglcontext_egl.h: * gst-libs/gst/gl/gstglbasefilter.c: * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstglcontext.h: * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstglshader.c: * gst-libs/gst/gl/gstglshader.h: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglwindow.c: * gst-libs/gst/gl/gstglwindow.h: * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c: * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h: * gst-libs/gst/gl/win32/gstglcontext_wgl.c: * gst-libs/gst/gl/win32/gstglcontext_wgl.h: * gst-libs/gst/gl/win32/gstglwindow_win32.c: * gst-libs/gst/gl/win32/gstglwindow_win32.h: * gst-libs/gst/gl/x11/gstglcontext_glx.c: * gst-libs/gst/gl/x11/gstglcontext_glx.h: * gst-libs/gst/gl/x11/gstglwindow_x11.c: * gst-libs/gst/gl/x11/gstglwindow_x11.h: * sys/androidmedia/gstamcvideodec.c: * sys/applemedia/glcontexthelper.c: * tests/examples/gl/qt/qglwtextureshare/pipeline.cpp: * tests/examples/gl/sdl/sdlshare.c: * tests/examples/gl/sdl/sdlshare2.c: gl: GST_GL_TYPE -> GST_TYPE_GL Some deprecated symbols are kept for backwards compatibility 2016-11-03 12:03:24 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-docs.sgml: * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/gl/egl/gstglcontext_egl.h: * gst-libs/gst/gl/egl/gstgldisplay_egl.c: * gst-libs/gst/gl/egl/gstglmemoryegl.c: * gst-libs/gst/gl/gstglapi.c: * gst-libs/gst/gl/gstglbasefilter.c: * gst-libs/gst/gl/gstglbasememory.h: * gst-libs/gst/gl/gstglbuffer.h: * gst-libs/gst/gl/gstglbufferpool.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglcolorconvert.h: * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstglcontext.h: * gst-libs/gst/gl/gstgldebug.c: * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: * gst-libs/gst/gl/gstglformat.c: * gst-libs/gst/gl/gstglframebuffer.h: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstglmemorypbo.c: * gst-libs/gst/gl/gstglmemorypbo.h: * gst-libs/gst/gl/gstgloverlaycompositor.c: * gst-libs/gst/gl/gstglsl.h: * gst-libs/gst/gl/gstglslstage.c: * gst-libs/gst/gl/gstglslstage.h: * gst-libs/gst/gl/gstglsyncmeta.c: * gst-libs/gst/gl/gstglsyncmeta.h: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglviewconvert.c: * gst-libs/gst/gl/gstglviewconvert.h: * gst-libs/gst/gl/gstglwindow.h: gl/docs: massive update - add Since: markers where necessary. - document structs - add documentation headers for each module (short_description, see_also, etc) - reduce the number of warnings gtk-doc outputs - fix spelling mistakes 2016-11-02 21:21:33 +1100 Matthew Waters * gst-libs/gst/gl/egl/gsteglimage.c: * gst-libs/gst/gl/egl/gsteglimage.h: * gst-libs/gst/gl/egl/gstglmemoryegl.c: * gst-libs/gst/gl/egl/gstglmemoryegl.h: * gst-libs/gst/gl/gstglframebuffer.c: * gst-libs/gst/gl/gstglframebuffer.h: * gst-libs/gst/gl/gstglquery.c: * gst-libs/gst/gl/gstglquery.h: * gst-libs/gst/gl/gstglrenderbuffer.c: gl/docs: document new API added in 1.10 GstGLRenderbuffer GstGLFramebuffer GstGLQuery GstEGLImage GstGLMemoryEGL 2016-11-01 16:13:21 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-docs.sgml: * docs/libs/gst-plugins-bad-libs-sections.txt: * docs/libs/gst-plugins-bad-libs.types: gl/docs: update lists of included symbols in the sections and types files. Also remove some unneeded types from the documentation as they aren't exposed as public API 2016-11-01 17:30:03 +1100 Matthew Waters * gst-libs/gst/gl/gstglsl.c: * tests/check/libs/gstglsl.c: glsl: fix #version 150 not working with profiles The spec allows the core/compatibility profiles to be used with #version 150. Also tighten up the tests to check for default profiles being chosen correctly. 2016-11-02 20:14:39 +0200 Sebastian Dröge * ext/meson.build: * ext/ttml/meson.build: ttml: Add meson.build 2016-11-02 20:14:23 +0200 Sebastian Dröge * ext/fdkaac/meson.build: * ext/meson.build: fdkaac: Add meson.build 2016-11-02 16:12:42 +0200 Sebastian Dröge * sys/decklink/gstdecklinkvideosink.cpp: decklinkvideosink: Also stop scheduled playback when gst_element_lost_state() is called Unfortunately this does not go through the normal state change machinery, so we don't get notified about this in change_state(). However we need to stop scheduled playback, so that once PLAYING is reached again we can start scheduled playback with the correct time. Without this, flushing seeks in PLAYING will not work correctly: decklinkvideosink will wait before showing the new frames for the amount of time the pipeline was in PLAYING before. 2016-11-02 15:00:36 +0200 Sebastian Dröge * sys/decklink/gstdecklinkvideosink.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: decklink: Use gst_clock_adjust_with_calibration() and unadjust_with_calibration() Instead of hand-crafted versions of the same calculation. These calculations are still too complicated though. 2016-11-02 14:04:19 +0200 Sebastian Dröge * ext/dtls/gstdtlsagent.c: * ext/dtls/gstdtlssrtpdec.c: dtls: Fix compiler warnings with openssl 1.1 or newer - DTLSv1_method() is deprecated, and since 1.0.2 replaced by DTLS_method(). - CRYPTO_set_locking_callback() and CRYPTO_set_id_callback() are no-ops (empty macros) since 1.1 and are not supposed to be used anymore. gstdtlsagent.c: In function ‘gst_dtls_agent_init’: gstdtlsagent.c:173:3: error: ‘DTLSv1_method’ is deprecated [-Werror=deprecated-declarations] priv->ssl_context = SSL_CTX_new (DTLSv1_method ()); ^~~~ In file included from /usr/include/openssl/ct.h:13:0, from /usr/include/openssl/ssl.h:61, from gstdtlsagent.c:40: /usr/include/openssl/ssl.h:1614:1: note: declared here DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_method(void)) /* DTLSv1.0 */ ^ At top level: gstdtlsagent.c:103:1: error: ‘ssl_thread_id_function’ defined but not used [-Werror=unused-function] ssl_thread_id_function (void) ^~~~~~~~~~~~~~~~~~~~~~ gstdtlsagent.c:73:1: error: ‘ssl_locking_function’ defined but not used [-Werror=unused-function] ssl_locking_function (gint mode, gint lock_num, const gchar * file, gint line) ^~~~~~~~~~~~~~~~~~~~ 2016-11-02 11:21:36 +0200 Sebastian Dröge * win32/common/libgstplayer.def: win32: Update for new GstPlayer API 2016-01-05 18:50:45 +0100 Florian Zwoch * sys/winscreencap/gstdx9screencapsrc.c: * sys/winscreencap/gstdx9screencapsrc.h: dx9screencapsrc: add "cursor" option to draw the cursor Drawing is done via the GDI drawing functions. The cursor is converted to a monochrome version before drawing. This is because the GDI drawing functions seem to have undefined behavior with cursor images including an alpha channel. I could not find any other reliable way to draw these alpha channel cursors without producing unwanted artifacts. These type of cursors were introduced with Window Vista when run with it's Aero theme. Also adjust the cursor coordinates when capturing non-primary screens via the "monitor" option. https://bugzilla.gnome.org/show_bug.cgi?id=760172 2016-11-02 09:36:04 +0200 Sebastian Dröge * tests/check/elements/rawvideoparse.c: Revert "tests: rawvideoparse: add test for flow error handling" This reverts commit 280b4ac2ffc63908a74944f50589b2630be16232. https://bugzilla.gnome.org/show_bug.cgi?id=773666 2016-10-28 16:39:13 -0400 Olivier Crête * ext/dtls/gstdtlsagent.c: dtls: Downgrade locking debug 2016-06-29 09:58:38 +0100 Chris Bass * configure.ac: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/inspect/plugin-ttmlsubs.xml: * ext/Makefile.am: * ext/ttml/Makefile.am: * ext/ttml/gstttmlparse.c: * ext/ttml/gstttmlparse.h: * ext/ttml/gstttmlplugin.c: * ext/ttml/gstttmlrender.c: * ext/ttml/gstttmlrender.h: * ext/ttml/subtitle.c: * ext/ttml/subtitle.h: * ext/ttml/subtitlemeta.c: * ext/ttml/subtitlemeta.h: * ext/ttml/ttmlparse.c: * ext/ttml/ttmlparse.h: ttml: Add plugin that supports TTML subtitles Add a parser (ttmlparse) and renderer (ttmlrender) element that handle subtitles that use the EBU-TT-D profile of TTML1. https://bugzilla.gnome.org/show_bug.cgi?id=758232 2016-10-29 11:33:18 +0100 Tim-Philipp Müller * tests/check/elements/rawvideoparse.c: tests: rawvideoparse: add test for flow error handling Also needs fixes in baseparse: https://bugzilla.gnome.org/show_bug.cgi?id=773666 2016-11-01 18:10:23 +0000 Tim-Philipp Müller * meson.build: meson: update version 2016-10-26 16:28:10 +0800 Lyon Wang * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/player/gstplayer.c: * gst-libs/gst/player/gstplayer.h: * win32/common/libgstplayer.def: player: Add configuration for enabling accurate seeks https://bugzilla.gnome.org/show_bug.cgi?id=773521 2016-10-21 14:01:11 +0300 Vivia Nikolaidou * sys/decklink/gstdecklinkaudiosrc.cpp: decklinkaudiosrc: Ignore channel-mask when checking set_caps compatibility channel-mask doesn't matter in decklinkaudiosrc, and differences in it can cause caps negotiations to fail without a real reason. https://bugzilla.gnome.org/show_bug.cgi?id=773313 2016-10-04 16:59:09 +0100 Vincent Penquerc'h * tests/check/Makefile.am: * tests/check/elements/srtp.c: tests: add a test for srtp elements https://bugzilla.gnome.org/show_bug.cgi?id=772357 2016-10-03 09:52:07 +0100 Vincent Penquerc'h * ext/srtp/gstsrtpdec.c: srtpdec: add stats readonly property, similar to srtpenc https://bugzilla.gnome.org/show_bug.cgi?id=772357 2016-09-26 18:01:30 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: Cache duration and return cached duration https://bugzilla.gnome.org/show_bug.cgi?id=771992 2016-01-08 21:41:56 +0000 Tim-Philipp Müller * gst/bayer/gstbayer2rgb.c: * gst/bayer/gstrgb2bayer.c: bayer: fix stride inconsistencies for odd widths Consistently use GST_ROUND_UP_4(width) as stride for bayer buffers. Bayer data will usually come in widths that are multiples of 4 anyway, so hopefully this should not have any adverse impact on anyone in practice. Before, bayer2rgb required input buffers to are sized accordingly, but then didn't actually round up when calculating row offsets. rgb2bayer didn't use a rounded stride nor buffer size. https://bugzilla.gnome.org/show_bug.cgi?id=752014 === release 1.11.0 === 2016-11-01 18:53:15 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.10.0 === 2016-11-01 17:58:20 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/gst-plugins-bad-plugins.prerequisites: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiofxbad.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bluez.xml: * docs/plugins/inspect/plugin-bs2b.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-compositor.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dashdemux.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-decklink.xml: * docs/plugins/inspect/plugin-dtls.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faac.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-fbdevsink.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-fluidsynthmidi.xml: * docs/plugins/inspect/plugin-freeverb.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstgtk.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-ivfparse.xml: * docs/plugins/inspect/plugin-ivtc.xml: * docs/plugins/inspect/plugin-jp2kdecimator.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-kate.xml: * docs/plugins/inspect/plugin-ladspa.xml: * docs/plugins/inspect/plugin-midi.xml: * docs/plugins/inspect/plugin-mimic.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-mxf.xml: * docs/plugins/inspect/plugin-netsim.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-opencv.xml: * docs/plugins/inspect/plugin-openexr.xml: * docs/plugins/inspect/plugin-opengl.xml: * docs/plugins/inspect/plugin-openjpeg.xml: * docs/plugins/inspect/plugin-opusparse.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-qt.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rsvg.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-rtponvif.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-smoothstreaming.xml: * docs/plugins/inspect/plugin-sndfile.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-srtp.xml: * docs/plugins/inspect/plugin-stereo.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-teletext.xml: * docs/plugins/inspect/plugin-uvch264.xml: * docs/plugins/inspect/plugin-vcdsrc.xml: * docs/plugins/inspect/plugin-videofiltersbad.xml: * docs/plugins/inspect/plugin-videoframe_audiolevel.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-videosignal.xml: * docs/plugins/inspect/plugin-vmnc.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-webp.xml: * docs/plugins/inspect/plugin-webrtcdsp.xml: * docs/plugins/inspect/plugin-wildmidi.xml: * docs/plugins/inspect/plugin-x265.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-yadif.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: * win32/common/config.h: Release 1.10.0 2016-11-01 17:51:03 +0200 Sebastian Dröge * 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/ky.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: Update .po files 2016-11-01 17:42:37 +0200 Sebastian Dröge * po/ky.po: * po/sv.po: po: Update translations 2016-10-31 19:26:31 +0600 Artem Martynovich * sys/directsound/gstdirectsoundsrc.c: directsoundsrc: Correctly cast mixer to uintptr https://bugzilla.gnome.org/show_bug.cgi?id=773720 2016-10-28 10:05:20 +0200 Michael Olbrich * ext/hls/gsthlsdemux.c: hlsdemux: don't try to access non-existant iframe variant If the playlist does not contain any iframe variants then demux->master->iframe_variants is NULL. If the previous variant is an iframe variant then there is at least one iframe variant and demux->master->iframe_variants->data can be safely used. https://bugzilla.gnome.org/show_bug.cgi?id=773635 2016-10-23 12:02:00 +0300 sezero * ext/timidity/gsttimidity.c: timidity: add support for libtimidity-0.2.x mid_istream_open_mem() doesn't accept an autofree argument as of libtimidity >= 0.2.0 https://bugzilla.gnome.org/show_bug.cgi?id=772503 2016-10-26 14:51:01 +0200 Daiki Ueno * ext/dtls/gstdtlscertificate.c: * ext/dtls/gstdtlsconnection.c: dtls: port to OpenSSL 1.1.0 Changes are: - Use the wrapper functions to access opaque data types. To preserve backward compatibility, define fallback definitions - Remove the use of idiom "pqueue_size(ssl->d1->sent_messages)", since there is no replacement - Use RSA_generate_key_ex instead of the deprecated RSA_generate_key https://bugzilla.gnome.org/show_bug.cgi?id=773540 2016-10-29 11:31:28 +0100 Tim-Philipp Müller * gst/rawparse/gstrawbaseparse.c: rawparse: pass flow returns upstream rawvideoparse wouldn't error out on not-negotiated, but would just keep on going, because it didn't pass the flow return value back to the parent class and thus upstream, so the source wouldnt' stop streaming. 2016-10-28 07:17:56 +0530 Nirbheek Chauhan * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/win32/Makefile.am: build: Also need to define GST_EXPORTS for Autotools The change to use GST_EXPORT for symbols under Windows requires GST_EXPORTS for internal use, and that is also needed under Autotools. The same thing is done for gstreamer-1.0.dll in -core. 2016-10-28 06:23:02 +0530 Nirbheek Chauhan * gst-libs/gst/gl/gstglapi.h: * gst-libs/gst/gl/gstglshader.c: * gst-libs/gst/gl/gstglsl_private.h: gstgl: Re-enable WINAPI on _MSC_VER The calling convention may be deprecated, but we still need it for OpenGL. The build issue was caused by an incorrect syntax being used for the WINAPI (__stdcall) prototype in function pointers which was accepted by GCC but is rejected by MSVC. 2016-10-27 23:09:38 +0530 Nirbheek Chauhan * win32/common/libgstgl.def: Just remove win32/common/libgstgl.def It was always wrong since the symbols being exported in gstgl-1.0.dll are platform-specific, and the check we do in dist checks it on all platforms (which usually means Linux) and the list is instead Linux-specific right now. Even if we fix that, it can still never be right because it depends on your configuration even on a specific platform. For instance, when we start building EGL support on Windows using ANGLE, the symbol list will change depending on whether that is enabled or not. We also don't need this anymore since we use GST_EXPORT for all functions exported on Windows now. 2016-10-27 09:25:20 +0530 Nirbheek Chauhan * ext/gl/gstglstereosplit.c: * ext/openh264/gstopenh264enc.cpp: * gst/videoparsers/gsth264parse.c: plugins: Use explicit type conversion from enums MSVC warns about this because it's a C++ compiler, and this actually results in useful things such as the incorrect 'gboolean' return value for functions that return GstFlowReturn, so let's do explicit conversions to reduce the noise and increase its efficacy. 2016-10-27 09:11:26 +0530 Nirbheek Chauhan * ext/dash/gstdashdemux.c: * ext/gl/gstgltransformation.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglviewconvert.c: * gst/fieldanalysis/gstfieldanalysis.c: * gst/freeverb/gstfreeverb.c: * gst/gaudieffects/gstgaussblur.c: * gst/speed/gstspeed.c: * gst/stereo/gststereo.c: Explicitly define float constants as float With MSVC, this gives the following warning: warning C4305: 'function': truncation from 'double' to 'gfloat' Apparently, MSVC does not figure out what type to use for constants based on the assignment. This warning is very spammy, so let's try to fix it. 2016-10-27 09:08:41 +0530 Nirbheek Chauhan * ext/dts/gstdtsdec.c: * ext/faad/gstfaad.c: * ext/gl/gstglviewconvert.c: * ext/schroedinger/gstschrodec.c: * gst-libs/gst/audio/gstaudioaggregator.c: Fix incorrect return type in several functions All these should return GstFlowReturn, not gboolean 2016-10-27 09:06:33 +0530 Nirbheek Chauhan * meson.build: meson: Don't warn about C4146 with MSVC The error is: unary minus operator applied to unsigned type, result still unsigned This is a commonly-done operation in gstreamer and it's done on purpose. It's just noise. 2016-10-27 08:17:58 +0530 Nirbheek Chauhan * gst-libs/gst/gl/gstglapi.h: * gst-libs/gst/gl/gstglbasefilter.h: * gst-libs/gst/gl/gstglbasememory.h: * gst-libs/gst/gl/gstglbuffer.h: * gst-libs/gst/gl/gstglbufferpool.h: * gst-libs/gst/gl/gstglcolorconvert.h: * gst-libs/gst/gl/gstglcontext.h: * gst-libs/gst/gl/gstglcontrolbindingproxy.h: * gst-libs/gst/gl/gstgldebug.h: * gst-libs/gst/gl/gstgldisplay.h: * gst-libs/gst/gl/gstglfeature.h: * gst-libs/gst/gl/gstglfilter.h: * gst-libs/gst/gl/gstglformat.h: * gst-libs/gst/gl/gstglframebuffer.h: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstglmemorypbo.h: * gst-libs/gst/gl/gstgloverlaycompositor.h: * gst-libs/gst/gl/gstglquery.h: * gst-libs/gst/gl/gstglshader.h: * gst-libs/gst/gl/gstglshaderstrings.h: * gst-libs/gst/gl/gstglsl.h: * gst-libs/gst/gl/gstglslstage.h: * gst-libs/gst/gl/gstglsyncmeta.h: * gst-libs/gst/gl/gstglupload.h: * gst-libs/gst/gl/gstglutils.h: * gst-libs/gst/gl/gstglviewconvert.h: * gst-libs/gst/gl/gstglwindow.h: gstgl: Add GST_EXPORT to all symbols used on Windows This is a requirement for those symbols to be exported in gstgl-1.0.dll when building with the MSVC compiler 2016-10-27 07:29:36 +0530 Nirbheek Chauhan * gst-libs/gst/gl/meson.build: meson: Add support for building WGL on Windows Currently only tested with MSVC. 2016-10-27 09:10:03 +0530 Nirbheek Chauhan * ext/gl/gstgloverlay.c: ext/gl: Don't define boolean on Windows with MSVC The headers we include already define boolean on Windows with MSVC, and it leads to a typedef redefinition error with jpeglib.h which tries to redefine it in jmorecfg.h 2016-10-27 07:30:19 +0530 Nirbheek Chauhan * gst-libs/gst/gl/gstglapi.h: gstgl: Porting fixes for MSVC with Meson GL/gl.h needs windows.h on MSVC WINAPI should not be used with MSVC. It also causes a build error. 2016-10-23 22:13:33 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: collapse notes on channel_name encoding conflict 2016-10-23 22:00:30 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: rename ZAP parser for clarity This function only does ZAP parsing. Additionally, remove redundant comment while at it. 2016-10-23 21:37:46 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: * sys/dvb/parsechannels.c: dvb: fix gtk-doc syntax for wrongly formatted comments 2016-10-21 00:37:03 -0700 Scott D Phillips * ext/hls/meson.build: meson: hls: Only build when any crypto_dep is found https://bugzilla.gnome.org/show_bug.cgi?id=773114 2016-10-21 00:39:32 -0700 Scott D Phillips * sys/directsound/meson.build: meson: directsound: Add ole32 library dependency https://bugzilla.gnome.org/show_bug.cgi?id=773114 2016-10-17 09:35:41 -0700 Scott D Phillips * sys/winscreencap/meson.build: meson: winscreencap depends on gstvideo https://bugzilla.gnome.org/show_bug.cgi?id=773114 2016-10-21 00:35:09 -0700 Scott D Phillips * meson.build: meson: Remove gstreamer-check-1.0 dependency It will later be added under tests/check https://bugzilla.gnome.org/show_bug.cgi?id=773114 2016-10-21 13:10:47 +1100 Matthew Waters * gst-libs/gst/gl/gstglsyncmeta.c: glsyncmeta: don't glFinish() everytime a sync point is set At minimum, we only need to glFlush() if we are in a shared GL context environment. Move the glFinish() to when the actual wait is requested which may be never. Improves the throughput on older GL systems without GL3/GLES3 and/or fence sync objects. 2016-07-16 15:29:42 -0300 Thiago Santos * ext/dash/gstmpdparser.c: dash: do not use invalid stream duration If it is is unknown, consider it infinite https://bugzilla.gnome.org/show_bug.cgi?id=768460 2016-07-16 15:15:21 -0300 Thiago Santos * ext/dash/gstmpdparser.c: dash: properly inherit segmentlist from period Representation can inherit SegmentList from Period if none is available from the AdaptationSet https://bugzilla.gnome.org/show_bug.cgi?id=768460 2016-10-19 16:11:58 +1100 Matthew Waters * ext/gl/gstopengl.c: * ext/gl/meson.build: * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h: * gst-libs/gst/gl/egl/gstegl.h: * gst-libs/gst/gl/meson.build: * meson_options.txt: meson: gl: add support for building with dispmanx on the rpi 2016-10-18 22:29:19 +1100 Matthew Waters * gst-libs/gst/gl/egl/gsteglimage.c: * gst-libs/gst/gl/egl/gstglmemoryegl.c: gl/eglimage: Fix passing the destroy function to gst_egl_image_new_wrapped The function pointer and the user data arguments were swapped in both uses. https://bugzilla.gnome.org/show_bug.cgi?id=769382 2016-10-18 13:01:04 +0530 Nirbheek Chauhan * gst/segmentclip/meson.build: meson: Add missing gstvideo dep to segmentclip In file included from ../subprojects/gst-plugins-base/gst-libs/gst/video/video.h:27:0, from ../subprojects/gst-plugins-bad/gst/segmentclip/gstvideosegmentclip.c:25: ../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h:27:39: fatal error: gst/video/video-enumtypes.h: No such file or directory #include ^ compilation terminated. https://ci.gstreamer.net/job/GStreamer-master-meson/269/console 2016-10-11 17:06:23 +0530 Munez * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c: * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h: Implemented gst_video_overlay_set_window_handle() https://bugzilla.gnome.org/show_bug.cgi?id=772608 2016-10-18 14:11:26 +1100 Matthew Waters * gst-libs/gst/gl/meson.build: meson: gl: fix detection of glx without gl We need to check for libGL if we may use desktop OpenGL *or* GLX. 2016-10-18 14:10:32 +1100 Matthew Waters * gst-libs/gst/gl/meson.build: meson: gl: fix incorrect error string Use the winsys variable for an incorrect winsys provided 2016-10-16 12:40:22 +0200 Sergey Borovkov * ext/qt/qtwindow.cc: qt: Fix failing build on RPI https://bugzilla.gnome.org/show_bug.cgi?id=773026 2016-10-11 16:58:48 +0530 Munez * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c: gl/dispmanx: egl_show should resize the window only if there is no render rectangle set https://bugzilla.gnome.org/show_bug.cgi?id=772699 2016-10-11 16:55:17 +0530 Munez * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c: gl/dispmanx: Fix set_render_rectangle typo https://bugzilla.gnome.org/show_bug.cgi?id=772698 2016-03-18 14:09:37 +0000 Vincent Penquerc'h * gst/mpegtsmux/tsmux/tsmux.c: mpegtsmux: fix buffer size mismatch in M2TS mode In M2TS mode, we need an extra 4 bytes in the buffer, so need to ensure the buffer can contain these. The allocation site does not know the mode, so this is done in all cases. 2016-10-15 22:19:02 +0530 Nirbheek Chauhan * meson.build: meson: Don't set c_std to gnu99 Use the default for each compiler on every platform instead. This improves our compatibility with compilers that don't have gnu99 as a c_std. 2016-10-14 14:41:42 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: fix 'delivery system'-related messages * Rephrase tune error to be delsys-neutral * Refer to the actual check in the 'missing sanity check' warnings * Use "Delivery system" instead of 'delsys'. The latter is OK as a shorthand in the code but not even a real word 2016-10-11 18:48:06 +0200 Joan Pau Beltran * gst/bayer/gstbayer2rgb.c: * gst/bayer/gstrgb2bayer.c: bayer: fix _transform_caps method to preserve fields in given caps https://bugzilla.gnome.org/show_bug.cgi?id=758717 2016-09-29 12:49:39 -0400 Arun Raghavan * ext/wayland/gstwaylandsink.c: waylandsink: Properly configure internal pool There was a small omission in the code. It still worked, but the pool configuration may not have been optimimal. 2016-10-12 18:20:27 +0100 Tim-Philipp Müller * common: common: sync to latest revision Fixes accidental common change when commit patch. 2016-10-11 11:11:16 +0200 Edward Hervey * gst/mpegtsdemux/mpegtsbase.c: * gst/mpegtsdemux/mpegtsbase.h: * gst/mpegtsdemux/tsdemux.c: mpegtsdemux: Implement efficient program updates If the parent bin can handle it, only add/remove the new/gone stream instead of re-adding/re-moving everything https://bugzilla.gnome.org/show_bug.cgi?id=772742 2016-10-12 14:35:21 +0200 Edward Hervey * gst/mpegtsdemux/mpegtsbase.c: mpegtsdemux: Ensure we always get an upstream stream-id This was a regression. We only have a upstream-id via STREAM_START if we were in push-mode. In pull-mode we need to create one. Note: It would be good to eventually have that method (copied from gst_pad_get_stream_id_internal()) public in the future 2016-10-11 16:47:37 +0200 Edward Hervey * gst/mpegtsdemux/mpegtsbase.c: * gst/mpegtsdemux/tsdemux.c: mpegtsdemux: Fix issues with GST_DISABLE_GST_DEBUG Some variables were hidden or unused 2015-07-29 15:52:05 +0200 Edward Hervey * gst/mpegtsdemux/mpegtsbase.c: * gst/mpegtsdemux/mpegtsbase.h: * gst/mpegtsdemux/tsdemux.c: mpegtsdemux: Switch to using GstStream/GstStreamCollection For each MpegTSBaseStream, we have a GstStream object which subclasses can extend with information. For each program a GstStreamCollection is created with all GstStream from each stream. 2016-10-11 10:50:17 +0200 Edward Hervey * gst/mpegtsdemux/mpegtsbase.c: mpegtsbase: Remove duplicated code Just have one function to check for private section streams 2016-10-10 17:00:39 +0200 Arnaud Vrac * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: fix buffer size print format https://bugzilla.gnome.org/show_bug.cgi?id=772706 2016-10-10 16:52:58 +0200 Arnaud Vrac * common: * ext/hls/gsthlsdemux.h: hlsdemux: fix hls demux stream type inheritance GstHLSDemuxStream inherits GstAdaptiveDemuxStream, not GstAdaptiveDemux. Fixes memory corruption issues. https://bugzilla.gnome.org/show_bug.cgi?id=772704 2016-10-09 06:42:30 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: parse guard interval as a fraction Fixes wrong default failover when parsing libdvbv5 formatted channel configuration files. 2016-10-09 03:23:19 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: add prototypes and reorganize for clarity 2016-10-08 07:18:15 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/dvbbasebin.c: * sys/dvb/gstdvbsrc.c: * sys/dvb/gstdvbsrc.h: Update my email address 2016-10-08 05:33:34 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/cam.h: * sys/dvb/camapplication.h: * sys/dvb/camapplicationinfo.h: * sys/dvb/camconditionalaccess.h: * sys/dvb/camdevice.h: * sys/dvb/camresourcemanager.h: * sys/dvb/camsession.h: * sys/dvb/camswclient.h: * sys/dvb/camtransport.h: * sys/dvb/camutils.h: dvb: drop trailing whitespace and c&p leftovers 2016-10-08 05:20:47 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: parse DVB-T hierarchy from v5 config file Avoids relying on the H/W default when the information can be extracted from the configuration file. 2016-10-08 04:55:20 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: parse DVB-T lp and hp code rates 2016-10-08 14:08:06 +0200 Edward Hervey * gst/mpegtsdemux/mpegtsbase.c: mpegts: Also clear packetizer on TIME DISCONT When dealing with TIME-based input, the incoming stream could have potentially changed completely. In order to check whether it did or not, we need to re-check all sections (PAT, PMT...). If it didn't, we will keep using the existing streams/pad, and if it did we will act as if there was a program switch. Fixes HLS streaming with decodebin3/playbin3 2016-10-02 09:34:51 +0200 Edward Hervey * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: Calculate values before queue2 In order to calculate the *actual* bitrate for downloading a fragment we need to take into account the time since we requested the fragment. Without this, the bitrate calculations (previously reported by queue2) would be biased since they wouldn't take into account the request latency (that is the time between the moment we request a specific URI and the moment we receive the first byte of that request). Such examples were it would be biased would be high-bandwith but high-latency networks. If you download 5MB in 500ms, but it takes 200ms to get the first byte, queue2 would report 80Mbit/s (5Mb in 500ms) , but taking the request into account it is only 57Mbit/s (5Mb in 700ms). While this would not cause too much issues if the above fragment represented a much longer duration (5s of content), it would cause issues with short ones (say 1s, or when doing keyframe-only requests which are even shorter) where the code would expect to be able to download up to 80Mbit/s ... whereas if we take the request time into account it's much lower (and we would therefore end up doing late requests). Also calculate the request latency for debugging purposes and further usage (it could allow us to figure out the maximum request rate for example). https://bugzilla.gnome.org/show_bug.cgi?id=733959 https://bugzilla.gnome.org/show_bug.cgi?id=772330 2016-10-06 15:54:00 +0900 Jimmy Ohn * ext/opencv/gstopencvutils.cpp: opencv: Fix memory leak by gst_caps_to_string gst_caps_to_string function returned allocated memory. So, It should be freed using g_free function. https://bugzilla.gnome.org/show_bug.cgi?id=772499 2016-10-05 18:32:09 +1100 Matthew Waters * gst-libs/gst/gl/gstglwindow.c: glwindow: don't use g_thread_join() to join the navigation thread Using g_thread_join() in _finalize() handlers may result in a deadlock joining the current thread when the last reference is held by a signal handler. e.g.: error 'Resource deadlock avoided' during 'pthread_join (pt->system_thread, NULL)' The backtrace looks like this: [...] g_thread_join () gst_gl_window_finalize () gst_gl_window_x11_finalize () g_object_unref () g_value_unset () g_signal_emit_valist () g_signal_emit () gst_gl_window_send_mouse_event () gst_gl_window_mouse_event_cb () g_main_dispatch () [..] g_main_loop_run () gst_gl_window_navigation_thread () g_thread_proxy () start_thread () clone () 2016-10-05 18:28:48 +1100 Matthew Waters * ext/gl/gstgluploadelement.c: gluploadelement: fix leak of upload library object When only linking the element, the upload object will be created from _transform_caps() but will never be unreffed as the only case is in _stop(). Add an unref if non-NULL to a new finalize handler for this case. 2016-10-05 12:11:19 +1100 Matthew Waters * ext/vulkan/vkdisplay.c: vkdisplay: hold a weakref on the list of windows It's possible that the window may have been destroyed when a winsys event comes in for it. Fixes an assertion in make -C tests/check generic/states.check 2016-10-05 11:37:04 +1100 Matthew Waters * ext/vulkan/vkdevice.c: vkdevice: only unref the gstcontext query if non-NULL Fixes an assertion in make -C tests/check generic/states.check 2016-09-29 11:45:57 +1000 Matthew Waters * tests/check/libs/gstglcolorconvert.c: * tests/check/libs/gstglupload.c: tests/gl: make sure all GL commands are executed on the GL thread e.g. the final glGetError() must also be completed on the GL thread 2016-09-28 18:04:21 +1000 Matthew Waters * gst-libs/gst/gl/win32/Makefile.am: * gst-libs/gst/gl/win32/gstglwindow_win32_egl.c: * gst-libs/gst/gl/win32/gstglwindow_win32_egl.h: gl/win32: remove egl implementation It hasn't been used in ages and is dead code. 2016-09-13 22:07:05 +0900 Wonchul Lee * gst-libs/gst/mpegts/gstmpegtsdescriptor.h: * gst/mpegtsdemux/gstmpegdesc.h: * gst/mpegtsdemux/tsdemux.c: tsdemux: Add conditions to identify ATSC EAC3 https://bugzilla.gnome.org/show_bug.cgi?id=770528 2016-09-26 15:23:52 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: make parsing errors delsys-neutral DVB is a group of delivery standards but we support several others. While at this, make message formating more congruent. 2016-09-30 11:35:41 -0300 Thibault Saunier * hooks/pre-commit.hook: * meson.build: meson: Setup pre-commit hooks when configuring 2016-09-30 11:41:34 +0100 Tim-Philipp Müller * meson.build: meson: update version 2016-09-30 13:42:06 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: Remove Return documentation for function returning void === release 1.9.90 === 2016-09-30 13:02:55 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiofxbad.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bluez.xml: * docs/plugins/inspect/plugin-bs2b.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-compositor.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dashdemux.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-decklink.xml: * docs/plugins/inspect/plugin-dtls.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faac.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-fbdevsink.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-fluidsynthmidi.xml: * docs/plugins/inspect/plugin-freeverb.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstgtk.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-ivfparse.xml: * docs/plugins/inspect/plugin-ivtc.xml: * docs/plugins/inspect/plugin-jp2kdecimator.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-kate.xml: * docs/plugins/inspect/plugin-ladspa.xml: * docs/plugins/inspect/plugin-midi.xml: * docs/plugins/inspect/plugin-mimic.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-mxf.xml: * docs/plugins/inspect/plugin-netsim.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-opencv.xml: * docs/plugins/inspect/plugin-openexr.xml: * docs/plugins/inspect/plugin-opengl.xml: * docs/plugins/inspect/plugin-openjpeg.xml: * docs/plugins/inspect/plugin-opusparse.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-qt.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rsvg.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-rtponvif.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-smoothstreaming.xml: * docs/plugins/inspect/plugin-sndfile.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-srtp.xml: * docs/plugins/inspect/plugin-stereo.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-teletext.xml: * docs/plugins/inspect/plugin-uvch264.xml: * docs/plugins/inspect/plugin-vcdsrc.xml: * docs/plugins/inspect/plugin-videofiltersbad.xml: * docs/plugins/inspect/plugin-videoframe_audiolevel.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-videosignal.xml: * docs/plugins/inspect/plugin-vmnc.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-webp.xml: * docs/plugins/inspect/plugin-webrtcdsp.xml: * docs/plugins/inspect/plugin-wildmidi.xml: * docs/plugins/inspect/plugin-x265.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-yadif.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: * win32/common/config.h: Release 1.9.90 2016-09-30 12:19:32 +0300 Sebastian Dröge * 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/ky.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: Update .po files 2016-09-30 11:44:47 +0300 Sebastian Dröge * po/ky.po: * po/sv.po: po: Update translations 2016-09-29 21:42:24 +0530 Arun Raghavan * ext/wayland/gstwaylandsink.c: waylandsink: Actually use buffer pool config after setting it up CID: 1373420 2016-09-29 13:36:11 +0300 Sergey Mamonov * ext/lv2/gstlv2filter.c: fix for https://bugzilla.gnome.org/show_bug.cgi?id=771871 2016-09-29 21:45:50 +0530 Arun Raghavan * sys/bluez/gsta2dpsink.c: a2dpsink: Drop some dead-code Left over from the last cleanup. CID: 1373418 2016-09-29 14:32:15 +0100 Vincent Penquerc'h * ext/fdkaac/gstfdkaacdec.c: fdkaacenc: fix accessing freed memory The buffer data is not always copied in _Fill, and will be read in _DecodeFrame. We unmap at the end of the function, whether we get there via failure or early out, and keep a ref to the buffer to ensure we can use it to unmap the memory even after _finish_frame is called, as it unrefs the buffer. Note that there is an access beyond the allocated buffer, which is only apparent when playing from souphttpsrc (ie, not from filesrc). This appears to be a bug in the bit reading code in libfdkaac AFAICT. https://bugzilla.gnome.org/show_bug.cgi?id=772186 2016-09-29 14:31:37 +0100 Vincent Penquerc'h * ext/fdkaac/gstfdkaacdec.c: * ext/fdkaac/gstfdkaacdec.h: fdkaacdec: avoid memory corruption on decoding error The buffer size is expected to be in multiples of the sample size, not in bytes. https://bugzilla.gnome.org/show_bug.cgi?id=772186 2016-09-29 14:29:46 +0100 Vincent Penquerc'h * ext/fdkaac/gstfdkaacdec.c: fdkaacenc: fix buffer leak https://bugzilla.gnome.org/show_bug.cgi?id=772186 2016-09-28 09:44:58 +0100 Vincent Penquerc'h * ext/fdkaac/gstfdkaacenc.c: fdkaacenc: set framed=true on src caps This fixes muxing in MPEG TS. https://bugzilla.gnome.org/show_bug.cgi?id=772108 2016-05-05 15:53:57 +0900 Gwang Yoon Hwang * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c: * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h: gl/dispmanx: Implements set_render_rectangle to adjust the position of window We cannot set the x, y coordinate of the video frame at the dispmanx at this point. We need to teach dispmanx backend to understand about set_render_rectangle API to draw a video with other UI. This patch keeps the current behavior which places video frame at the center of the display if there is no set_render_rectangle call to the dispmanx window. https://bugzilla.gnome.org/show_bug.cgi?id=766018 2016-09-28 15:20:25 +1000 Matthew Waters * gst-libs/gst/gl/gstglbasefilter.h: * gst-libs/gst/gl/gstglbasememory.h: * gst-libs/gst/gl/gstglbuffer.h: * gst-libs/gst/gl/gstglbufferpool.h: * gst-libs/gst/gl/gstglcolorconvert.h: * gst-libs/gst/gl/gstglcontext.h: * gst-libs/gst/gl/gstgldebug.h: * gst-libs/gst/gl/gstgldisplay.h: * gst-libs/gst/gl/gstglfeature.h: * gst-libs/gst/gl/gstglfilter.h: * gst-libs/gst/gl/gstglframebuffer.h: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstglmemorypbo.h: * gst-libs/gst/gl/gstgloverlaycompositor.h: * gst-libs/gst/gl/gstglquery.h: * gst-libs/gst/gl/gstglrenderbuffer.h: * gst-libs/gst/gl/gstglshader.h: * gst-libs/gst/gl/gstglslstage.h: * gst-libs/gst/gl/gstglupload.h: * gst-libs/gst/gl/gstglviewconvert.h: gl: add necessary padding bytes to all public structs 2016-09-27 16:17:00 +0100 Vincent Penquerc'h * ext/fdkaac/gstfdkaacenc.c: fdkaacenc: set transmux on the fdkaac lib Not doing so will fail to decode in a simple fdkaacenc ! fdkaacdec pipeline, though would work if this goes through a file. https://bugzilla.gnome.org/show_bug.cgi?id=772067 2016-09-27 16:15:44 +0100 Vincent Penquerc'h * ext/fdkaac/gstfdkaacdec.c: fdkaacdec: do not error out of out of sync return The docs say we should continue feeding in data and decoding https://bugzilla.gnome.org/show_bug.cgi?id=772067 2016-09-27 09:08:51 +0100 Vincent Penquerc'h * ext/fdkaac/gstfdkaacenc.c: fdkaac: fix error with AOT_MP2_AAC_LC removed from libfdkaac API AOT_MP2_AAC_LC is a "pseudo AOT" which got removed after 0.1.4, and maps to AOT_AAC_LC. Remove mpegversion 2 from th caps to match. https://bugzilla.gnome.org/show_bug.cgi?id=772067 2016-09-26 16:30:02 +0100 Tim-Philipp Müller * sys/bluez/meson.build: meson: bluez: fix build 2016-09-26 16:38:04 +0300 Sebastian Dröge * sys/decklink/linux/DeckLinkAPI.h: * sys/decklink/linux/DeckLinkAPIConfiguration.h: * sys/decklink/linux/DeckLinkAPIDeckControl.h: * sys/decklink/linux/DeckLinkAPIDiscovery.h: * sys/decklink/linux/DeckLinkAPIModes.h: * sys/decklink/linux/DeckLinkAPITypes.h: * sys/decklink/linux/DeckLinkAPIVersion.h: * sys/decklink/osx/DeckLinkAPI.h: * sys/decklink/osx/DeckLinkAPIConfiguration.h: * sys/decklink/osx/DeckLinkAPIDeckControl.h: * sys/decklink/osx/DeckLinkAPIDiscovery.h: * sys/decklink/osx/DeckLinkAPIDispatch.cpp: * sys/decklink/osx/DeckLinkAPIModes.h: * sys/decklink/osx/DeckLinkAPIStreaming.h: * sys/decklink/osx/DeckLinkAPITypes.h: * sys/decklink/osx/DeckLinkAPIVersion.h: decklink: Update to SDK 10.8 OSX and Linux only, Windows needs someone on Windows to convert the .idl files to C source code. 2016-09-26 11:41:42 +0100 Olivier Crête * ext/fdkaac/gstfdkaacdec.c: fdkaac: fix mixup setting interleaved output https://bugzilla.gnome.org/show_bug.cgi?id=770455 2016-09-26 13:26:36 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: Only report the initial duration if the query was successful 2016-09-26 11:15:25 +0900 Kyungyong Kim * gst/videoparsers/gsth265parse.c: h265parse: Fix parsing of multiple NALs in the hvcC box https://bugzilla.gnome.org/show_bug.cgi?id=771970 2016-09-25 17:38:15 +0100 Tim-Philipp Müller * sys/bluez/Makefile.am: bluez: dist new header file Fixes distcheck. 2016-09-24 22:39:38 +0530 Arun Raghavan * sys/bluez/gsta2dpsink.c: * sys/bluez/gstavdtpsink.c: * sys/bluez/gstavdtpsink.h: a2dpsink: Don't try to set device caps on avdtpsink We can't actually configure the transport, so we should only be working with whatever we get. 2016-09-23 16:31:50 +0530 Arun Raghavan * sys/bluez/gstavdtpsink.c: avdtpsink: Chain event handling up to basesink 2016-09-23 16:04:43 +0530 Arun Raghavan * sys/bluez/gsta2dpsink.c: * sys/bluez/gsta2dpsink.h: bluez: Clean up and make a2dpsink functional again Was crashing, and had a lot of cruft (like a capsfilter and a fakesink) that was no longer required. 2016-09-15 17:49:15 +0530 Arun Raghavan * sys/bluez/Makefile.am: * sys/bluez/gstavdtpsrc.c: * sys/bluez/gstavdtpsrc.h: * sys/bluez/gstavrcputil.c: * sys/bluez/gstavrcputil.h: * sys/bluez/org.bluez.xml: avdtpsrc: Add support for AVRCP metadata Metadata from AVRCP is emitted as tags, and the duration from AVRCP is used in queries by avdtpsrc. 2016-09-24 10:49:10 -0400 Sebastian Dröge * ext/openjpeg/gstopenjpegdec.c: openjpegdec: Properly offset and shift for all formats when converting And while at it, also clean up some code. 2016-09-24 10:05:16 -0400 Sebastian Dröge * gst/videoparsers/gstjpeg2000parse.c: jpeg2000parse: Don't pass NULL strings to the colorspace / sampling parsing functions They assert on NULL. 2016-09-23 15:49:21 -0400 Nicolas Dufresne * ext/wayland/gstwaylandsink.c: waylandsink: Don't leak GValues in getcaps 2016-09-22 18:55:23 -0400 Nicolas Dufresne * ext/wayland/gstwaylandsink.c: * ext/wayland/wlwindow.c: * ext/wayland/wlwindow.h: waylandsink: Update our window size on configure event This is specific to when the waylandsink is not being embedded. In this patch we pass the render lock to the window so it can safely call gst_wl_window_set_render_rectangle() with the new size. https://bugzilla.gnome.org/show_bug.cgi?id=722343 2016-09-22 18:53:22 -0400 Nicolas Dufresne * ext/wayland/gstwaylandsink.c: waylandsink: Remove atomic operation We already take the render lock from the wlqueue thread in some other place which indicates that there is no use of this atomic instead of a proper locking mechanism. 2016-09-22 15:37:41 -0400 Nicolas Dufresne * ext/wayland/gstwaylandsink.c: waylandsink: Do not pre-configure proposed pool Upstream must configure the pool before using it. Pre-configuring the proposed pool could hide bugs in upstream elements. 2016-09-22 15:35:44 -0400 Nicolas Dufresne * ext/wayland/wlwindow.c: * ext/wayland/wlwindow.h: waylandsink: Properly draw black border in absence of viewporter When we don't have a viewporter (scaling support), we can't use the 1x1 scaleup image trick. Instead, we need to allocate a buffer with the same size as the area that need to have black background. 2016-09-22 10:55:03 +0200 Florian Zwoch * sys/winscreencap/gstdx9screencapsrc.c: dx9screencapsrc: throw error for invalid screen index Currently dx9screencapsrc prints a verbose warning in case the screen index is out of range for the current number of detected monitors. This value is then dropped. However there is no initial indication (beside the console print) if it worked or not. This may result in capturing an unwanted screen as it would capture the last set index that was not rejected. This patch sets the index regardless. Instead, the element throws an error when it tries to run or getting caps for an invalid index. https://bugzilla.gnome.org/show_bug.cgi?id=771817 2016-09-22 18:19:36 +1000 Matthew Waters * gst-libs/gst/gl/gstgldisplay.c: gldisplay: also free the GWeakRef when removing dead contexts Otherwise we leak GWeakRef's. Found with make -C tests/check libs/gstglcontext.valgrind 2016-09-21 15:51:52 -0700 Martin Kelly * gst-libs/gst/wayland/Makefile.am: wayland/Makefile.am: add missing libs libgstwayland is missing a dependency on $(GST_PLUGINS_BASE_LIBS), so add it. https://bugzilla.gnome.org/show_bug.cgi?id=771794 2016-09-21 15:07:50 -0400 Nicolas Dufresne * ext/wayland/wldisplay.c: waylandsink: Destroy viewporter when done https://bugzilla.gnome.org/show_bug.cgi?id=738079 2016-09-21 11:33:18 -0700 Martin Kelly * tests/check/Makefile.am: build: add missing $(GST_PLUGINS_BASE_LIBS) The linker flags for several plugins (dashdemux, mssdemux, hlsdemux) are missing $(GST_PLUGINS_BASE_LIBS), so add them so they can find -lgsttag and -lgstapp. https://bugzilla.gnome.org/show_bug.cgi?id=771780 2016-09-19 12:11:59 -0400 Nicolas Dufresne * ext/wayland/gstwaylandsink.c: waylandsink: Port to vmeta and GstVideoFrame This add support for non-standard strides to be used. Note that some extra work is needed for multi-plane format which may have a different GstMemory object per plane. This is not currently a problem since SHM interface is limited to 1 memory. 2016-09-19 12:08:20 -0400 Nicolas Dufresne * ext/wayland/gstwaylandsink.c: waylandsink: Don't propose multiple time the same buffer pool The buffer pool API does not allow multiple of owner. This otherwise lead to error when renegotiation take place. Aso consider the allocation query "need_pool" boolean. 2016-09-19 12:06:17 -0400 Nicolas Dufresne * ext/wayland/gstwaylandsink.c: waylandsink: Promote debug trace into error trace Otherwise those error may go unseen making debugging much harder. 2016-09-19 12:04:52 -0400 Nicolas Dufresne * ext/wayland/gstwaylandsink.c: waylandsink: Factor-out the pool creation 2016-09-16 15:41:11 -0400 Nicolas Dufresne * ext/wayland/gstwaylandsink.c: waylansink: Implement _show_frame() This fixes the property show-preroll-frame expose by the VideoSink base class and removes redundant code. 2016-09-21 15:09:26 +0200 Joakim Johansson * tests/check/elements/rtponviftimestamp.c: rtponviftimestamp: Update unit tests after changing default value of D-bit The D bit shall always be set to true for the first buffer. https://bugzilla.gnome.org/show_bug.cgi?id=770221 2016-09-21 09:31:23 -0400 Sebastian Dröge * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklinkaudiosink.cpp: * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkvideosink.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: decklink: Print the Decklink API error return values in debug output in all places 2016-09-20 18:28:29 +0100 Tim-Philipp Müller * ext/wayland/Makefile.am: wayland: fix distcheck some more 2016-09-13 11:18:27 +0200 Joakim Johansson * gst/onvif/gstrtponviftimestamp.c: rtponviftimestamp: Change default value of D-bit The default value of D-bit is changed to TRUE so discontinuity is set for initial request and seek request as well. Only set the e_bit flag for the CUSTOM_DOWNSTREAM event if a cached buffer exists. https://bugzilla.gnome.org/show_bug.cgi?id=770221 2016-09-19 10:18:22 +0100 Tim-Philipp Müller * configure.ac: configure: fix --disable-external conditional "USE_VULKAN" was never defined 2016-09-19 16:54:43 +1000 Matthew Waters * ext/gl/gstglcolorbalance.c: glcolorbalance: reconfigure on passthrough changes Fixes an assertion when moving from passthrough to non-passthrough Without an explicit reconfigure, glfiter won't have created the GL resources such as the FBO, GL bufferpool, etc and basetransform will allocate sysmem buffers instead. 2016-09-16 13:43:50 +0200 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: Remove some leftovers from external GstPlayer 2016-09-17 14:12:44 +0100 Tim-Philipp Müller * ext/wayland/Makefile.am: wayland: fix distcheck when wayland-scanner is not installed 2016-09-15 14:10:02 -0400 Nicolas Dufresne * ext/wayland/wldisplay.c: * ext/wayland/wlwindow.c: waylandsink: Make wl_viewporter optional This makes the viewporter interface optional. The end result is obviously far from optimal, though it greatly helps testing on older compostitors or gnome-wayland. We can make it strictly needed later when this new interface get widely adopted. 2016-06-14 16:34:35 -0700 Scott D Phillips * configure.ac: * ext/wayland/Makefile.am: * ext/wayland/scaler.xml: * ext/wayland/wldisplay.c: * ext/wayland/wldisplay.h: * ext/wayland/wlwindow.c: * ext/wayland/wlwindow.h: wayland: Update from scaler to viewporter protocol Signed-off-by: Scott D Phillips https://bugzilla.gnome.org/show_bug.cgi?id=767671 2016-09-15 14:58:35 +0200 Sebastian Dröge * tests/check/libs/player.c: player: Fix unit test for minor API change 2016-09-15 13:15:22 +0200 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: * gst-libs/gst/player/gstplayer.h: player: Remove boolean return from set_subtitle_uri() It can't fail synchronously and is inconsistent with set_uri(). 2016-09-14 18:07:55 +0200 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: Don't change state to PLAYING immediately if a seek is pending We first have to finish the seek (in PAUSED) and move to PLAYING once the seek is actually finished (unless a new one is pending then). 2016-09-14 11:30:48 +0200 Sebastian Dröge * configure.ac: configure: Depend on gstreamer 1.9.2.1 2016-09-08 11:57:52 +0900 Hyunjun Ko * gst/dvbsuboverlay/gstdvbsuboverlay.c: dvbsuboverlay: map with READWRITE for overlay blend Just as in basetextoverlay [1], the frame to blend with the subtitles overlay should be mapped with flags GST_MAP_READWRITE, because gst_video_overlay_composition_blend() does both operations. 1. https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1396f804 Signed-off-by: Víctor Manuel Jáquez Leal https://bugzilla.gnome.org/show_bug.cgi?id=771382 2016-09-13 20:08:19 +0200 Víctor Manuel Jáquez Leal * configure.ac: kmssink: update libdrm dependency to 2.4.55 The latest libdrm feature supported by kmssink is the universal plane, which was added in 2.4.55. Let's update the dependency to that version. https://bugzilla.gnome.org/show_bug.cgi?id=770146 2016-09-11 00:06:52 +0000 Graham Leggett * gst/mpegtsdemux/mpegtsbase.c: tsdemux: handle a NULL name in DVB short event descriptor Resolves the warning: GStreamer-WARNING **: Trying to set NULL string on field 'title' on taglist. https://bugzilla.gnome.org/show_bug.cgi?id=771198 2016-09-12 18:38:36 +0200 Sebastian Dröge * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Also never have the SINK flag set on adaptivedemux 2016-09-12 12:19:50 +0200 Sebastian Dröge * sys/decklink/gstdecklinkvideosink.cpp: Revert "decklinkvideosink: Scale down scheduled frame times to milliseconds" This reverts commit 3b7e0d7de32f0728259d601daa13b9eeec3dd3ce. It was a bug in the driver and is supposed to be fixed with 10.8 and newer. 2016-09-10 16:41:28 -0300 Thiago Santos * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: fix typo in new API Fixes supressed -> suppressed typo in previous commit https://bugzilla.gnome.org/show_bug.cgi?id=770627 2016-09-05 10:31:40 +0900 Wonchul Lee * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: prevent to propagate source flag to itself https://bugzilla.gnome.org/show_bug.cgi?id=770627 2016-09-10 20:51:27 +1000 Jan Schmidt * autogen.sh: * common: Automatic update of common submodule From b18d820 to f980fd9 2016-09-10 09:54:09 +1000 Jan Schmidt * autogen.sh: * common: Automatic update of common submodule From 2c31690 to b18d820 2016-09-09 23:24:01 +1000 Matthew Waters * gst-libs/gst/gl/meson.build: meson/gl: use separate deps for gl and glx e.g. passing with_gl_api=gles2 would still build the glx code but not be linking against the libGL library which is where the glX* functions are located and would result in a linker error. Solved by checking for the libGL library if either opengl or glx may be needed and then disabling the corresponding deps as requested. 2016-09-09 16:55:23 +1000 Matthew Waters * ext/meson.build: * ext/vulkan/meson.build: * ext/vulkan/vkconfig.h.meson: meson: add build files for vulkan 2016-09-09 16:36:03 +1000 Matthew Waters * ext/gtk/meson.build: * ext/meson.build: meson: add build files for the gtk plugin 2016-09-09 11:08:53 +1000 Matthew Waters * ext/gl/meson.build: * ext/meson.build: * gst-libs/gst/gl/gstglconfig.h.meson: * gst-libs/gst/gl/meson.build: * gst-libs/gst/meson.build: * meson_options.txt: * pkgconfig/meson.build: meson: add some starting build files for GL Currently only works on linux with egl/glx + wayland/x11 but the general principals have been layed out for adding the other GL platforms/winsys'. 2016-09-08 11:23:57 -0400 Nicolas Dufresne * sys/kms/gstkmssink.c: kmssink: Scale up to the screen dimension In most display sink, the logic is to use as much as possible of the given window. In this case, the window is the screen, hence it's logical to scale up. https://bugzilla.gnome.org/show_bug.cgi?id=767422 2016-09-08 11:21:09 -0400 Nicolas Dufresne * sys/kms/gstkmssink.c: kmssink: Fix selection of source region The source region was scaled for display before being passed to drmModeSetPlane, which resulted in a portion of the video being cropped. While when crop meta was present, the rectangle was not centered since we where using unscaled width/height. https://bugzilla.gnome.org/show_bug.cgi?id=767422 2016-09-08 08:40:59 +0100 Julien Isorce * gst-libs/gst/player/gstplayer.h: gstplayer: remove leftover update_interval api old: gst_player_set_position_update_interval new: gst_player_config_set_position_update_interval https://bugzilla.gnome.org/show_bug.cgi?id=769144 2016-09-01 19:46:31 +1000 Matthew Waters * ext/vulkan/vkupload.c: vkupload: add video/x-raw to the VulkanBuffer uploader Allows upstream elements that use our memory to passthrough without copying. 2016-09-01 19:43:59 +1000 Matthew Waters * ext/vulkan/vkutils.c: vkutils: set the last element of the layer array to NULL g_strv* functions require this to not read off the end of the array. 2016-09-07 20:11:55 +0100 Alistair Buxton * tests/examples/gl/clutter/Makefile.am: gl/examples: Really remove references to $(GST_PLUGINS_GL_*). These seem to have been missed in the previous commit to this file. https://bugzilla.gnome.org/show_bug.cgi?id=771023 2016-09-07 20:07:26 +0100 Alistair Buxton * gst-libs/gst/gl/Makefile.am: gl: Remove duplicate GL_CFLAGS in Makefile.am. https://bugzilla.gnome.org/show_bug.cgi?id=771021 2016-08-05 18:17:32 +0200 Víctor Manuel Jáquez Leal * sys/kms/gstkmsallocator.c: kmssink: override stride if defined in driver Some kms drivers demands specific pitches over the ones calculated by GstVideoInfo. For example, intel driver demands strides round up 64. This patch queries the driver for the prefered pitch and overwrites it in the pool's GstVideoInfo structure. https://bugzilla.gnome.org/show_bug.cgi?id=768446 2016-09-06 16:05:53 -0300 Thibault Saunier * gst-libs/gst/base/gstaggregator.c: aggregator: Use the event_full function for GstAggregatorPads Allowing us to tell GstPad why we are failing an event, which might be because we are 'flushing' even if the sinkpad is not in flush state at that point. 2016-09-06 13:13:39 +0800 Haihua Hu * ext/qt/gstqsgtexture.cc: qmlglsink: check qt_context_ first in GstQSGTexture::bind() When start qmlglsink app, it will set NULL buffer to GstQSGTexture in which case that qt_context_ will be a random value and cause gst_gl_context_activate() fail. https://bugzilla.gnome.org/show_bug.cgi?id=770925 2016-09-06 20:00:07 +1000 Matthew Waters * configure.ac: build/vulkan: fix winsys detection based on the previously set variables The X11/Wayland winsys checks weren't being used to enable the vulkan element. Use them. 2016-09-06 11:02:06 +0200 Philippe Normand * ext/srtp/gstsrtpenc.c: srtpenc: prevent deadlock in create_session Temporarily release the object lock which is needed to post error messages on the bus. https://bugzilla.gnome.org/show_bug.cgi?id=770933 2016-09-05 22:30:01 -0300 Thibault Saunier * meson.build: meson: Fix building with meson 0.34 when using subprojects When using subproject meson.source_root() returns the root directory of the toplevel project which break build. Upstream meson bug: https://github.com/mesonbuild/meson/issues/722 2016-09-05 12:22:17 -0300 Thibault Saunier * meson.build: meson: Bump version to 1.9.2 2016-09-05 14:44:24 +1000 Alessandro Decina * ext/gl/gstgluploadelement.c: glupload: create the GstGLUpload object in ::transform_caps Previously it was created in the init function and destroyed in ::stop, which lead to segfaults when reusing the element. Now the upload object is created in ::transform_caps if it is NULL, which is the earliest we need it. The other vfuncs already bail out if the upload object is NULL, which means that negotiation wasn't done. 2016-08-29 11:40:54 +0900 Wonchul Lee * gst/mpegtsdemux/gstmpegdefs.h: * gst/mpegtsdemux/tsdemux.c: tsdemux: Support ATSC EAC3 EAC3 bit streams shall be identified with a stream_type value of 0x87 when transmitted as PES streams conforming to ATSC-published standards. It is specified in ATSC Standard A/52. https://bugzilla.gnome.org/show_bug.cgi?id=770528 2016-09-01 14:25:58 +0300 Sebastian Dröge * sys/decklink/gstdecklinkvideosink.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: decklink: Fix-up last commit that was not meant to be pushed yet 2016-09-01 14:18:33 +0300 Sebastian Dröge * sys/decklink/gstdecklinkaudiosink.cpp: * sys/decklink/gstdecklinkvideosink.cpp: decklink: Fix indentation 2016-09-01 14:17:48 +0300 Sebastian Dröge * sys/decklink/gstdecklinkvideosink.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: decklink: Require a clock when going from PAUSED_TO_PLAYING and don't crash if there is none Also when going from PLAYING_TO_PAUSED, the clock might've been unset in the meantime, e.g. because the element was removed from its surrounding bin. 2016-09-01 12:28:22 +0300 Sebastian Dröge * configure.ac: Back to development === release 1.9.2 === 2016-09-01 12:27:59 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiofxbad.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bluez.xml: * docs/plugins/inspect/plugin-bs2b.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-compositor.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dashdemux.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-decklink.xml: * docs/plugins/inspect/plugin-dtls.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faac.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-fbdevsink.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-fluidsynthmidi.xml: * docs/plugins/inspect/plugin-freeverb.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstgtk.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-ivfparse.xml: * docs/plugins/inspect/plugin-ivtc.xml: * docs/plugins/inspect/plugin-jp2kdecimator.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-kate.xml: * docs/plugins/inspect/plugin-ladspa.xml: * docs/plugins/inspect/plugin-midi.xml: * docs/plugins/inspect/plugin-mimic.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-mxf.xml: * docs/plugins/inspect/plugin-netsim.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-opencv.xml: * docs/plugins/inspect/plugin-openexr.xml: * docs/plugins/inspect/plugin-opengl.xml: * docs/plugins/inspect/plugin-openjpeg.xml: * docs/plugins/inspect/plugin-opusparse.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-qt.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rsvg.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-rtponvif.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-smoothstreaming.xml: * docs/plugins/inspect/plugin-sndfile.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-srtp.xml: * docs/plugins/inspect/plugin-stereo.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-teletext.xml: * docs/plugins/inspect/plugin-uvch264.xml: * docs/plugins/inspect/plugin-vcdsrc.xml: * docs/plugins/inspect/plugin-videofiltersbad.xml: * docs/plugins/inspect/plugin-videoframe_audiolevel.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-videosignal.xml: * docs/plugins/inspect/plugin-vmnc.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-webp.xml: * docs/plugins/inspect/plugin-webrtcdsp.xml: * docs/plugins/inspect/plugin-wildmidi.xml: * docs/plugins/inspect/plugin-x265.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-yadif.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: * win32/common/config.h: Release 1.9.2 2016-09-01 11:24:37 +0300 Sebastian Dröge * 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/ky.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: Update translations 2016-08-30 16:21:25 +0300 Sebastian Dröge * configure.ac: * sys/applemedia/Makefile.am: * sys/applemedia/plugin.m: applemedia: Conditionally compile qtkitvideosrc The API was deprecated in 10.9 and apparently does not exist in the SDK for macOS Sierra anymore. https://bugzilla.gnome.org/show_bug.cgi?id=770587 2016-08-31 04:26:43 +1000 Jan Schmidt * gst-libs/gst/gl/gstglframebuffer.h: gl: Remove extra duplicate typedef of GstGLFramebuffer It's triggering a warning building git master on OSX 2016-08-29 16:57:42 +1000 Matthew Waters * tests/check/libs/gstglupload.c: tests/glupload: support opengl3 properly instead of spewing GL errors 2016-08-29 16:52:44 +1000 Matthew Waters * pkgconfig/gstreamer-gl.pc.in: gl/pkgconfig: add the lib include dir to the list of includes 714d8aa in core removed this include dir from it's pkgconfig file. https://bugzilla.gnome.org/show_bug.cgi?id=770523 2016-08-29 15:43:10 +1000 Alessandro Decina * gst-libs/gst/gl/gstglupload.c: * tests/check/libs/gstglupload.c: glupload: fix tests and check for the new RECONFIGURE behaviour The tests were broken since 91fea30, which changed glupload to return GST_GL_UPLOAD_RECONFIGURE if the texture target in the input buffers doesn't match the texture-target configured in the output caps. This commit fixes that and adds more checks for the new behaviour. 2016-08-19 11:12:10 -0700 Thibault Saunier * ext/gme/gstgme.c: * ext/sndfile/gstsfsink.c: * ext/teletextdec/gstteletextdec.c: * ext/timidity/gsttimidity.c: * ext/timidity/gstwildmidi.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst/aiff/aiffparse.c: * gst/midi/midiparse.c: * gst/mpegdemux/gstmpegdemux.c: * gst/mpegtsdemux/mpegtsbase.c: * gst/mxf/mxfdemux.c: * gst/nuvdemux/gstnuvdemux.c: * gst/tta/gstttaparse.c: * sys/androidmedia/gstamcaudiodec.c: * sys/androidmedia/gstamcvideodec.c: * sys/androidmedia/gstamcvideoenc.c: * sys/applemedia/avfassetsrc.m: Use the new API to post flow ERROR messages on the bus https://bugzilla.gnome.org/show_bug.cgi?id=770158 2016-08-26 20:12:21 +0300 Sebastian Dröge * tests/check/elements/dash_mpd.c: dash: Fix build of unit test 2016-08-25 20:50:11 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: dashdemux: Add properties to select maximum allowed width/height and framerate https://bugzilla.gnome.org/show_bug.cgi?id=770408 2016-08-26 16:04:27 +0300 Sebastian Dröge * sys/decklink/gstdecklinkaudiosink.cpp: decklinkaudiosink: Fix compiler warning on OS X While gint64 and int64_t are always the same, clang does not agree with that. /Applications/Xcode.app/Contents/Developer/usr/bin/make -C decklink CXX libgstdecklink_la-gstdecklinkaudiosink.lo gstdecklinkaudiosink.cpp:675:79: error: cannot initialize a parameter of type 'int64_t *' (aka 'long long *') with an rvalue of type 'gint64 *' (aka 'long *') ret = buf->output->attributes->GetInt (BMDDeckLinkMaximumAudioChannels, &max_channels); ^~~~~~~~~~~~~ ./linux/DeckLinkAPI.h:692:87: note: passing argument to parameter 'value' here virtual HRESULT GetInt (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ int64_t *value) = 0; ^ 2016-08-26 22:51:48 +1000 Alessandro Decina * sys/applemedia/corevideomemory.c: applemedia: fix compiler warning 2016-08-26 15:48:36 +0300 Sebastian Dröge * sys/decklink/gstdecklinkvideosink.cpp: decklinkvideosink: Scale down scheduled frame times to milliseconds Scale down to milliseconds, otherwise at least some hardware has problems scheduling the frames (or schedules them too slow) and we run out of available frames. https://bugzilla.gnome.org/show_bug.cgi?id=770282 2016-08-26 14:08:11 +0300 Sebastian Dröge * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkaudiosink.cpp: decklinkaudiosink: Add support for 8 and 16 channels 2016-08-26 17:37:54 +1000 Alessandro Decina * sys/applemedia/Makefile.am: * sys/applemedia/avfassetsrc.m: * sys/applemedia/avfvideosrc.m: * sys/applemedia/coremediabuffer.c: * sys/applemedia/coremediabuffer.h: * sys/applemedia/corevideobuffer.c: * sys/applemedia/corevideobuffer.h: * sys/applemedia/corevideomemory.c: * sys/applemedia/corevideomemory.h: * sys/applemedia/iosglmemory.c: * sys/applemedia/iosglmemory.h: * sys/applemedia/iosurfacememory.c: * sys/applemedia/plugin.m: * sys/applemedia/qtkitvideosrc.m: * sys/applemedia/videotexturecache.h: * sys/applemedia/videotexturecache.m: * sys/applemedia/vtdec.c: * sys/applemedia/vtenc.c: applemedia: changes to make GL memory mappable on CPU on iOS This commit introduces IOSGLMemory which is a GLMemory that falls back to GstAppleCoreVideoMemory for CPU access. This is a temporary solution until IOSurface gets exposed as a public framework on iOS and so we can use IOSurfaceMemory on both MacOS and iOS. https://bugzilla.gnome.org/show_bug.cgi?id=769210 2016-08-22 17:18:27 +1000 Alessandro Decina * ext/gl/gstgluploadelement.c: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglupload.h: gstglupload: make the GLMemoryUpload method output the correct texture-target Now when used with video/x-raw as input, the GLMemoryUpload method checks for ->tex_target in input GLMemory(es) and sets the output texture-target accordingly. Fixes video corruption with a pipeline like avfvideosrc ! video/x-raw ! glimagesink where on macos avfvideosrc pushes RECTANGLE textures but glupload was configuring texture-target=2D as output. 2016-08-24 09:41:08 -0300 Thibault Saunier * gst-libs/gst/mpegts/mpegts_enum.py: * gst/mpegtsdemux/meson.build: * meson.build: meson: Make mpegts lib build when using subprojects The headers passed as parametter are relative to the build dir basically "../subproject/gst-plugins-bad/gst-libs/gst/mpegts/XXX.h" but that does not match what is needed at build time when building as subproject, also we always add current dir as include_dir so we are safe including directly. And link mpegtsdemux against the 'math' library as it is needed. 2016-08-26 03:46:39 +1000 Jan Schmidt * docs/plugins/gst-plugins-bad-plugins-docs.sgml: docs: Expose the opengl plugin and element docs 2016-08-26 02:20:11 +1000 Jan Schmidt * gst-libs/gst/video/gstvideoaggregator.c: videoaggregator: Handle if update_caps() returns EMPTY Don't assume the returned caps from update_caps() is non-empty. 2016-08-26 02:07:27 +1000 Jan Schmidt * ext/gl/gstglvideomixer.c: gl: Update glvideomixer doc 2016-08-26 02:06:00 +1000 Jan Schmidt * ext/gl/gstglstereomix.c: * ext/gl/gstglviewconvert.c: gl: Add/update docs for glviewconvert, glstereomix Add some example pipelines for glstereomix, and fix up the example pipelines for glviewconvert 2016-08-26 00:29:34 +1000 Jan Schmidt * ext/gl/gstglstereomix.c: * ext/gl/gstglstereomix.h: glstereomix: Fix caps negotiation The videoaggregator negotiation sequence changed some time back and broke glstereomix. Instead of doing nego incorrectly in the find_best_format() vfunc, do it directly in the update_caps() method. 2016-08-25 15:26:49 +1000 Jan Schmidt * gst-libs/gst/gl/gstglviewconvert.c: glviewconvert: Fix texture target fixation Don't set the chosen texture-target into the wrong structure. The input caps may not be writable, and in any case - the intention was to configure the othercaps. Also, remove an extra unref - the othercaps ref is consumed by gst_caps_make_writable already. 2016-08-25 19:35:13 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/hls/gsthlsdemux.c: * ext/smoothstreaming/gstmssdemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Enable bitrate selection for trick mode streaming again And scale the bitrate with the absolute rate (if it's bigger than 1.0) to get to the real bitrate due to faster playback. This allowed in my tests to play a stream with 10x speed without buffering as the lowest bitrate is chosen, instead of staying/selecting the highest bitrate and then buffering all the time. It was previously disabled for not very well specified reasons, which seem to be not valid anymore nowadays. 2016-08-25 16:33:17 +0200 Josep Torra * tests/check/elements/.gitignore: gitignore: add missing dash_isoff file 2016-08-25 12:45:33 +0200 Josep Torra * tests/check/Makefile.am: build: fix gst-uninstalled build in osx Fixes clang: error: argument unused during compilation: '-pthread' when building the test programs. 2016-08-25 14:35:59 +0200 Josep Torra * configure.ac: * tests/check/Makefile.am: build: unconditionally check for video, audio and pbutils modules Check for modules in configure and use GST_*_LIBS vars to link with the libraries instead of hardcoding them. 2016-07-26 19:55:13 +0200 Xabier Rodriguez Calvar * ext/gl/gstglvideoflip.c: * ext/gl/gstglvideoflip.h: glvideoflip: implement GstVideoDirection interface It implements now this interface with its video-direction property. Values are changed to GstVideoOrientationMethod but they have the same value than the originals. https://bugzilla.gnome.org/show_bug.cgi?id=768687 2016-08-24 19:43:55 +0300 Sebastian Dröge * ext/fdkaac/gstfdkaacenc.c: fdkaacenc: Implement some automatic bitrate selection Based on sample rate and channel count, see http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC#Recommended_Sampling_Rate_and_Bitrate_Combinations 2016-08-24 14:15:09 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: On redirects, remember the redirect URI separately and don't consider this an URI property change The application does not know anything about the redirect, and changing its URI internally will cause confusion. Also don't reset the subtitle URI. 2016-08-24 14:10:41 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: Don't report spurious STOPPED state changes when doing transient changes there 2016-08-24 13:01:46 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: Ensure that rate is initialized to 1.0 2016-08-24 10:16:00 +0000 Fredrik Fornwall * sys/opensles/Makefile.am: opensles: Add opensles.h to noinst_HEADERS https://bugzilla.gnome.org/show_bug.cgi?id=770326 2016-08-23 14:37:17 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: De-duplicate rate setting code and always use the property 2016-08-23 14:33:11 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: Protect setter/getter for the configuration with a mutex 2016-08-23 14:32:24 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: * gst-libs/gst/player/gstplayer.h: player: Move subtitle URI setter next to the uri setter It's confusing to have them a couple of hundred lines apart. 2016-08-17 19:59:17 +0200 Matej Knopp * sys/applemedia/vtdec.c: vtdec: fix MPEG-2 video caps Add systemstream=false to caps, otherwise the decoder may be picked for MPEG-PS files. Also parsed=true, as video toolbox expects entire frame in VTDecompressionSessionDecodeFrame. https://bugzilla.gnome.org/show_bug.cgi?id=770049 2016-08-23 02:13:19 +1000 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c.rej: * gst-libs/gst/adaptivedemux/set_state_keep.patch: adaptivedemux: Fix the previous commit Remove extra files that were not meant to be added to the commit 2016-08-23 01:57:55 +1000 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c.rej: * gst-libs/gst/adaptivedemux/set_state_keep.patch: adaptivedemux: Fix broken updates loop on live streams Prevent the manifest update loop from looping endlessly after a seek event, by clearing the variable that tells the task function not to immediately exit. 2016-08-18 10:06:27 +0200 Michael Olbrich * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: fix stream exposure condition The new streams should not be exposed until all streams are done with the current fragment. The old code is incorrect and actually only checked the current stream. Fix this by properly checking all streams. Also, ignore the current stream. The code is only reached when the current stream finished downloading and since 07f49f15b1196cc9fa0d45af91149a35fce123b9 ("adaptivedemux: On EOS, handle it before waking download loop") download_finished is set after gst_adaptive_demux_stream_advance_fragment_unlocked() is called. Without this HLS playback with multiple streams is broken, because the new streams are never exposed. https://bugzilla.gnome.org/show_bug.cgi?id=770075 2016-08-21 16:21:07 +0100 Tim-Philipp Müller * ext/mpg123/meson.build: meson: remove unused mpg123 build file mpg123 was moved to ugly. 2016-08-12 21:21:45 +0530 Nirbheek Chauhan * .gitignore: * config.h.meson: * ext/assrender/meson.build: * ext/bz2/meson.build: * ext/chromaprint/meson.build: * ext/curl/meson.build: * ext/dash/meson.build: * ext/directfb/meson.build: * ext/dtls/meson.build: * ext/dts/meson.build: * ext/faac/meson.build: * ext/faad/meson.build: * ext/flite/meson.build: * ext/fluidsynth/meson.build: * ext/hls/meson.build: * ext/kate/meson.build: * ext/libde265/meson.build: * ext/libmms/meson.build: * ext/meson.build: * ext/mpg123/meson.build: * ext/openh264/meson.build: * ext/openjpeg/meson.build: * ext/opus/meson.build: * ext/resindvd/meson.build: * ext/rsvg/meson.build: * ext/rtmp/meson.build: * ext/sbc/meson.build: * ext/schroedinger/meson.build: * ext/smoothstreaming/meson.build: * ext/soundtouch/meson.build: * ext/spandsp/meson.build: * ext/srtp/meson.build: * ext/srtp/srtp_mkenum.py: * ext/voaacenc/meson.build: * ext/webp/meson.build: * ext/x265/meson.build: * ext/zbar/meson.build: * gst-libs/gst/adaptivedemux/meson.build: * gst-libs/gst/audio/meson.build: * gst-libs/gst/base/meson.build: * gst-libs/gst/basecamerabinsrc/meson.build: * gst-libs/gst/codecparsers/meson.build: * gst-libs/gst/gl/gstglconfig.h.meson: * gst-libs/gst/gl/meson.build: * gst-libs/gst/insertbin/meson.build: * gst-libs/gst/interfaces/build_mkenum.py: * gst-libs/gst/interfaces/meson.build: * gst-libs/gst/meson.build: * gst-libs/gst/mpegts/meson.build: * gst-libs/gst/mpegts/mpegts_enum.py: * gst-libs/gst/player/meson.build: * gst-libs/gst/uridownloader/meson.build: * gst-libs/gst/video/meson.build: * gst-libs/meson.build: * gst/accurip/meson.build: * gst/adpcmdec/meson.build: * gst/adpcmenc/meson.build: * gst/aiff/meson.build: * gst/asfmux/meson.build: * gst/audiobuffer/meson.build: * gst/audiofxbad/meson.build: * gst/audiomixer/meson.build: * gst/audiovisualizers/meson.build: * gst/autoconvert/meson.build: * gst/bayer/meson.build: * gst/camerabin2/meson.build: * gst/cdxaparse/meson.build: * gst/coloreffects/meson.build: * gst/compositor/meson.build: * gst/dataurisrc/meson.build: * gst/dccp/meson.build: * gst/debugutils/meson.build: * gst/dvbsuboverlay/meson.build: * gst/dvdspu/meson.build: * gst/faceoverlay/meson.build: * gst/festival/meson.build: * gst/fieldanalysis/meson.build: * gst/freeverb/meson.build: * gst/frei0r/meson.build: * gst/games/meson.build: * gst/gaudieffects/meson.build: * gst/gdp/meson.build: * gst/geometrictransform/meson.build: * gst/hdvparse/meson.build: * gst/id3tag/meson.build: * gst/inter/meson.build: * gst/interlace/meson.build: * gst/ivfparse/meson.build: * gst/ivtc/meson.build: * gst/jp2kdecimator/meson.build: * gst/jpegformat/meson.build: * gst/librfb/meson.build: * gst/meson.build: * gst/midi/meson.build: * gst/mixmatrix/meson.build: * gst/mpeg1sys/meson.build: * gst/mpegdemux/meson.build: * gst/mpegpsmux/meson.build: * gst/mpegtsdemux/meson.build: * gst/mpegtsmux/meson.build: * gst/mve/meson.build: * gst/mxf/meson.build: * gst/nuvdemux/meson.build: * gst/onvif/meson.build: * gst/overlay/meson.build: * gst/patchdetect/meson.build: * gst/pcapparse/meson.build: * gst/pnm/meson.build: * gst/rawparse/meson.build: * gst/real/meson.build: * gst/removesilence/meson.build: * gst/rtjpeg/meson.build: * gst/sdi/meson.build: * gst/sdp/meson.build: * gst/segmentclip/meson.build: * gst/siren/meson.build: * gst/smooth/meson.build: * gst/speed/meson.build: * gst/stereo/meson.build: * gst/subenc/meson.build: * gst/tta/meson.build: * gst/vbidec/meson.build: * gst/videofilters/meson.build: * gst/videoframe_audiolevel/meson.build: * gst/videomeasure/meson.build: * gst/videoparsers/meson.build: * gst/videosignal/meson.build: * gst/vmnc/meson.build: * gst/y4m/meson.build: * gst/yadif/meson.build: * meson.build: * meson_options.txt: * pkgconfig/meson.build: * sys/bluez/meson.build: * sys/d3dvideosink/meson.build: * sys/directsound/meson.build: * sys/dvb/meson.build: * sys/meson.build: * sys/wasapi/meson.build: * sys/winks/meson.build: * sys/winscreencap/meson.build: Add support for Meson as alternative/parallel build system https://github.com/mesonbuild/meson With contributions from: Tim-Philipp Müller Matej Knopp Jussi Pakkanen (original port) Highlights of the features provided are: * Faster builds on Linux (~40-50% faster) * The ability to build with MSVC on Windows * Generate Visual Studio project files * Generate XCode project files * Much faster builds on Windows (on-par with Linux) * Seriously fast configure and building on embedded ... and many more. For more details see: http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html Building with Meson should work on both Linux and Windows, but may need a few more tweaks on other operating systems. 2016-08-18 17:46:19 +0530 Nirbheek Chauhan * ext/dts/gstdtsdec.c: * ext/resindvd/resindvdsrc.h: * gst/bayer/gstbayer2rgb.c: * gst/dccp/gstdccp_common.h: * gst/librfb/d3des.c: * sys/fbdev/gstfbdevsink.c: plugins: Use stdint.h instead of _stdint.h _stdint.h is generated by Autotools and we don't really need it. All supported platforms now ship with stdint.h. The only stickler was MSVC, and since Visual Studio 2015 it also ships stdint.h now. 2016-08-12 21:51:17 +0530 Nirbheek Chauhan * win32/common/libgstgl.def: win32: Update libgstgl.def 2016-03-02 00:53:44 +0530 Nirbheek Chauhan * gst-libs/gst/codecparsers/nalutils.c: codecparsers: Explicitly export functions marked inline On MSVC, inline functions are not available outside of a file unless explicitly exported 2016-08-19 12:24:58 +0100 Luis de Bethencourt * gst/rawparse/gstrawvideoparse.c: rawvideoparse: fix typo in comment Small typo in the comment explaining the code fixed by the previous commit. Fixing it. 2016-08-19 14:19:38 +0300 Sebastian Dröge * gst/rawparse/gstrawvideoparse.c: rawvideoparse: Revert last commit and actually remember the physically last plane Instead of just always taking the last one as before. 2016-08-19 11:57:33 +0100 Luis de Bethencourt * gst/rawparse/gstrawvideoparse.c: rawvideoparse: remove unused assignment Value in last_plane will be overwritten before used, remove unused asignment. Fixes commit 91cf5ac69f9c99fe41d60f42b4174915dd135e7b CID 1371462 2016-08-18 18:55:41 +0200 Philippe Renon * ext/daala/gstdaaladec.c: daala: fix typo related compilation error https://bugzilla.gnome.org/show_bug.cgi?id=770102 2016-08-19 11:02:46 +0100 Tim-Philipp Müller * configure.ac: * sys/Makefile.am: * sys/applemedia-nonpublic/Makefile.am: * sys/applemedia-nonpublic/bufferfactory.h: * sys/applemedia-nonpublic/bufferfactory.m: * sys/applemedia-nonpublic/celapi.c: * sys/applemedia-nonpublic/celapi.h: * sys/applemedia-nonpublic/celvideosrc.c: * sys/applemedia-nonpublic/celvideosrc.h: * sys/applemedia-nonpublic/cmapi.c: * sys/applemedia-nonpublic/cmapi.h: * sys/applemedia-nonpublic/coremediabuffer.c: * sys/applemedia-nonpublic/coremediabuffer.h: * sys/applemedia-nonpublic/coremediactx.c: * sys/applemedia-nonpublic/coremediactx.h: * sys/applemedia-nonpublic/corevideobuffer.c: * sys/applemedia-nonpublic/corevideobuffer.h: * sys/applemedia-nonpublic/cvapi.c: * sys/applemedia-nonpublic/cvapi.h: * sys/applemedia-nonpublic/dynapi-internal.h: * sys/applemedia-nonpublic/dynapi.c: * sys/applemedia-nonpublic/dynapi.h: * sys/applemedia-nonpublic/mioapi.c: * sys/applemedia-nonpublic/mioapi.h: * sys/applemedia-nonpublic/miovideodevice.c: * sys/applemedia-nonpublic/miovideodevice.h: * sys/applemedia-nonpublic/miovideosrc.c: * sys/applemedia-nonpublic/miovideosrc.h: * sys/applemedia-nonpublic/mtapi.c: * sys/applemedia-nonpublic/mtapi.h: * sys/applemedia-nonpublic/plugin.m: applemedia-nonpublic: remove bitrotten plugin that's no longer needed 2016-08-19 19:46:24 +1000 Florian Zwoch * sys/applemedia/avfvideosrc.m: avfvideosrc: account for retina displays when capturing screens Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=770030 2016-08-19 17:11:13 +1000 Matthew Waters * configure.ac: build: bump graphene requirement to 1.4 2016-08-19 15:35:49 +1000 Matthew Waters * ext/gl/gstgltransformation.c: * ext/gl/gstgltransformation.h: gltransformation: rewrite the inverse transformation logic It now returns the correct values for both orthographic and perspective projections and takes into account the aspect ratio of the video, handles the Y-flipping in GL and by us and uses some more helpers from graphene. 2016-07-01 16:18:55 +1000 Matthew Waters * gst-libs/gst/gl/gstglwindow.c: glwindow: marshal gst_gl_window_resize through the window loop saves having every caller do it themselves. 2016-06-30 23:06:43 +1000 Matthew Waters * gst-libs/gst/gl/wayland/wayland_event_source.c: gl/wayland: use multi-threaded safe event wayland API Multiple threads may be accessing the wayland fd at the same time which requires the use of special wayland API to deal with to ensure nobody will steal reads and cause a stall for anyone else. 2016-07-01 00:15:55 +1000 Matthew Waters * tests/examples/gl/gtk/fxtest/fxtest.c: gl/examples/fxtest: fix up for wayland support - Pass the wayland display to gst - Redrawing on resize is no longer needed. 2016-08-17 16:21:34 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: warn on ignored key/value pairs Otherwise at runtine, users get the misleading parsing-OK message with no info on, for example, properties that failed to map because of a typo. 2016-08-16 15:35:39 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: handle problems parsing dvbv5 config keys 2016-08-18 15:28:33 +0300 Sebastian Dröge * ext/mplex/gstmplex.cc: mplex: Don't start task (yet/again) on pad release if we're in READY or NULL Fixes spurious segfault in unit test, where the task was started again during shutdown when all pads were removed... and was then still running while the element was finalized. 2016-08-18 13:21:54 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: In KEY_UNITS trick mode, download all I-frames and not only IDR 2016-08-08 17:54:46 +0200 Carlos Rafael Giani * tests/check/elements/.gitignore: * tests/check/elements/rawaudioparse.c: * tests/check/elements/rawvideoparse.c: rawparse: Fix and extend unit tests * Add caps change test to unit tests * Cleanup leftover buffers after each unit test * Add missing rawvideoparse entry in .gitignore https://bugzilla.gnome.org/show_bug.cgi?id=769637 2016-08-16 09:31:40 +0200 Carlos Rafael Giani * gst/rawparse/gstrawvideoparse.c: * gst/rawparse/gstrawvideoparse.h: * tests/check/elements/rawvideoparse.c: rawvideoparse: Compute plane offsets & strides if no custom ones are set This is useful to ensure that the offsets and strides are computed if only width, height, format etc. in the property config are set. https://bugzilla.gnome.org/show_bug.cgi?id=769797 2016-08-16 18:46:49 +0300 Sergei Saveliev * sys/applemedia/avfassetsrc.m: avfassetsrc: Don't escape the URI another time in another location too One location was forgotten in a913a0b9679dd58945ad105d240db45595fdaba6 https://bugzilla.gnome.org/show_bug.cgi?id=767492 2016-08-16 20:33:21 +1000 Matthew Waters * gst-libs/gst/gl/egl/gstegl.h: gl/egl: fix inverted typedef 2b6841d had an inverted typedef defining ginptr and EGLAttrib. Fix that. 2016-08-16 10:37:28 +0300 Sebastian Dröge * ext/timidity/gstwildmidi.c: wildmidi: Fix compilation with wildmidi 0.4 Old versions used char* for the data, new versions use int8_t*. They're often not the same and differ in signedness. 2016-08-16 16:51:02 +1000 Matthew Waters * configure.ac: * gst-libs/gst/gl/egl/gstegl.h: gl/build: add configure check for possibly missing EGLAttrib Fixes the build on older android targets. 2016-07-13 17:15:44 +0800 Song Bing * gst-libs/gst/gl/egl/gsteglimage.c: * gst-libs/gst/gl/egl/gstglcontext_egl.c: * gst-libs/gst/gl/egl/gstglcontext_egl.h: * gst-libs/gst/gl/egl/gstglmemoryegl.c: gl/egl/dmabuf: Wrong attribute list type for EGL 1.5 For EGL 1.5 spec, the attribute list type should be EGLAttrib. https://bugzilla.gnome.org/show_bug.cgi?id=768602 2016-08-15 16:14:25 +0100 Vincent Penquerc'h * gst-libs/gst/gl/gstglcontext.c: glcontext: fix race joining thread on finalize https://bugzilla.gnome.org/show_bug.cgi?id=769939 2016-08-16 00:40:53 +1000 Jan Schmidt * ext/qt/gstqtglutility.cc: qt: Use wglShareLists() workaround unconditionally. Sometimes wglCreateContextAttribsARB() exists, but isn't functional (some Intel drivers), so it's easiest to do the workaround unconditionally. 2016-08-15 16:37:44 +1000 Jan Schmidt * sys/winks/gstksvideodevice.c: * sys/winks/gstksvideodevice.h: * sys/winks/gstksvideosrc.c: * sys/winks/ksvideohelpers.c: * sys/winks/ksvideohelpers.h: winks: Fix RGB frame flipping and postprocessing Uncompressed RGB frames can be (usually are) bottom-up layout in DirectShow, and the code to flip them wasn't properly ported from 0.10. Fix it. Fix post-processing of RGB buffers. We need a writable buffer, but the requests pool is holding an extra ref. This could use more fixing to use a buffer pool 2016-08-12 22:17:25 +1000 Jan Schmidt * sys/winks/gstksvideosrc.c: winks: Give the ksvideosrc PRIMARY rank It's the primary video source on Windows, so give it a rank for autoplugging by camerabin and friends 2016-08-12 22:16:33 +1000 Jan Schmidt * sys/winks/ksvideohelpers.c: winks: Fix swapped RGBx/RGB caps mapping, and endianness. The RGBx and RGB format mappings were reversed. What Windows calls RGB are laid out as BGR in our parlance, so switch that too 2016-08-08 13:41:14 +1000 Jan Schmidt * ext/qt/gstqtglutility.cc: qt: Move debug statement to after the category init Don't output debug to an uninitialised debug category. 2016-08-11 12:19:59 +0200 Sebastian Dröge * tests/check/Makefile.am: dashdemux: Disable unit test for the time being It uses random data streams but dashdemux nowadays actually looks into the streams and doesn't like randomness very much. The tests should probably just become validate tests on real streams. https://bugzilla.gnome.org/show_bug.cgi?id=769553 2016-08-11 12:11:22 +0200 Sebastian Dröge * ext/dash/gstdashdemux.c: Revert "Revert "dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method"" This reverts commit aea2c13fc1672a7260679d706d0a084a34ba7531. 2016-08-04 14:47:41 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: When doing chunked downloading on SIDX, clip requests on the SIDX entry boundaries https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-08-02 08:47:55 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: dashdemux: Collect average moof and first sync sample sizes And always request those in the beginning so that ideally we get the moof and the first sync sample all together with the first HTTP request. https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-08-02 08:35:26 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: dashdemux: Download any sync-sample following the moof directly in key-units only mode We don't have to do yet another additional request but can just download the data directly. Also unify the key-unit only mode buffer pushing and extract it into its own function now that it became more complicated. https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-07-29 12:50:58 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: If a fragment contains no sync samples, disable key-unit mode https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-07-29 12:32:50 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: dashdemux: Remember if for a stream we could do key-units only mode This makes sure we don't even try going into that mode if we previously saw that the stream does not have the suitable metadata. https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-07-29 11:54:21 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Also allow key-unit only mode if (some) sample flags are given by trex but we can still find sync frames https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-07-12 20:09:52 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Use chunked downloading for the moof in KEY_UNITS mode Allows us to reuse the HTTP connection and reduce latencies a lot. https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-07-12 10:22:43 +0300 Sebastian Dröge * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: Add API for allowing subclasses to download URLs in chunks This allows to gradually download part of a fragment when the final size is not known and only a part of it should be downloaded. For example when only the moof should be parsed and/or a single keyframe should be downloaded. https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-06-01 14:02:11 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Mark every first buffer of moov, sidx, moof and mdat as DISCONT in keyframe-only mode We need to mark every first buffer of a key unit as discont, and also every first buffer of a moov and moof. This ensures that qtdemux takes note of our buffer offsets for each of those buffers instead of keeping track of them itself from the first buffer. We need offsets to be consistent between moof and mdat https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-07-28 10:53:49 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Only enable key-unit trick mode for video streams https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-05-31 15:12:49 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Only do keyframe-only playback if the corresponding seek flag is given https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-05-30 12:09:34 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: dashdemux: Implement downloading of only sync samples https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-05-30 11:15:03 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: dashdemux: Store parsed moof and extract offsets of sync samples in it https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-05-02 17:11:31 +0300 Sebastian Dröge * tests/check/Makefile.am: * tests/check/elements/dash_isoff.c: * tests/check/elements/dash_isoff.h: dash: Add test for parsing a moof box https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-05-02 16:03:56 +0300 Sebastian Dröge * tests/check/Makefile.am: * tests/check/elements/dash_isoff.c: dash: Add unit test for ISOBFF box header parsing https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-04-07 21:33:51 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstisoff.c: * ext/dash/gstisoff.h: dashdemux: Implement parsing of moof box https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-04-07 13:34:57 +0300 Sebastian Dröge * ext/dash/gstisoff.c: dashdemux: Move code around to keep all sidx related functions together https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-04-07 12:57:13 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstisoff.c: * ext/dash/gstisoff.h: dashdemux: Store box fourccs in the header at a central place https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-03-28 13:45:36 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: dashdemux: Implement parsing of ISOBMFF boxes https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-03-16 13:48:09 +0200 Sebastian Dröge * ext/dash/gstisoff.c: * ext/dash/gstisoff.h: dash: Add helper for parsing box headers https://bugzilla.gnome.org/show_bug.cgi?id=741104 2016-08-10 22:50:12 +0000 xlazom00 * ext/x265/gstx265enc.c: x265enc: Enable aspect ratio x265 encoder need aspectRatioIdc == X265_EXTENDED_SAR if we want to use sarWidth/sarHeight https://bugzilla.gnome.org/show_bug.cgi?id=769716 2016-08-08 13:10:12 +0200 Josep Torra * ext/openjpeg/gstopenjpegenc.c: openjpegenc: use the corrent enumeration Fixes the following error when building in osx. error: implicit conversion from enumeration type 'GstJPEG2000Colorspace' to different enumeration type 'GstJPEG2000Sampling' 2016-08-08 11:28:44 +0200 Sebastian Dröge * sys/androidmedia/gstamc.c: amc: Fix call to realloc() to allocate the correct size of items 2016-08-07 20:53:30 +0100 Tim-Philipp Müller * configure.ac: * ext/Makefile.am: fdkaac: actually build and dist 2016-08-06 23:31:23 +0000 xlazom00 * ext/hls/Makefile.am: * gst/timecode/Makefile.am: hls, timecode: fix linking https://bugzilla.gnome.org//show_bug.cgi?id=769587 2016-08-07 12:20:16 +0300 Sebastian Dröge * ext/fdkaac/Makefile.am: * ext/fdkaac/gstfdkaacdec.c: * ext/fdkaac/gstfdkaacdec.h: * ext/fdkaac/plugin.c: fdkaac: Add FDK AAC based decoder element Missing is support for error concealment, etc. 2016-08-07 11:39:07 +0300 Sebastian Dröge * ext/fdkaac/Makefile.am: * ext/fdkaac/gstfdkaacenc.c: * ext/fdkaac/gstfdkaacenc.h: * ext/fdkaac/plugin.c: fdkaac: Add FDK AAC based encoder element This currently only handles LC profile and exposes a bitrate property, but handles up to 7.1 channels. See TODO list for missing features. 2016-08-07 08:51:06 +0300 Sebastian Dröge * configure.ac: * ext/fdkaac/Makefile.am: * ext/fdkaac/plugin.c: fdkaac: Initial plugin skeleton 2016-08-01 11:45:30 +0200 Bernhard Miller * gst/aiff/aiffparse.c: aiffparse: keep end_offset when seeking After seeking in aiff files the information about the data end offset is discarded, leading to audio artifacts with metadata chunks at the end of a file. This patch retains the end offset information after a seek event. https://bugzilla.gnome.org//show_bug.cgi?id=769376 2016-08-06 16:15:33 +0100 Tim-Philipp Müller * gst/dvdspu/gstdvdspu.c: dvdspu: don't crash if video frame could not be mapped As might happen with e.g. vaapi and the test file from https://bugzilla.gnome.org/show_bug.cgi?id=736227 2016-08-05 09:16:58 +0200 Edward Hervey * ext/dash/gstdashdemux.c: Revert "dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method" This reverts commit 947656cfd22b75f914d5abe0af82396787f67564. This makes all dash seeking tests fail. Needs more testing to fully understand what's going wrong. Revert ok'd by Sebastian 2016-05-31 19:21:17 +0300 Vivia Nikolaidou * gst/timecode/Makefile.am: * gst/timecode/gsttimecodewait.c: * gst/timecode/gsttimecodewait.h: * gst/timecode/plugin.c: timecodewait: New element to wait for a specific timecode timecodewait receives a timecode as an argument (either as string or as GstVideoTimeCode - one is gst-launch-friendly and the other is code-friendly), and it will drop all audio and video buffers until that timecode has been reached. https://bugzilla.gnome.org/show_bug.cgi?id=766419 2016-05-20 18:17:52 +0300 Vivia Nikolaidou * configure.ac: * gst/timecode/Makefile.am: * gst/timecode/gsttimecodestamper.c: * gst/timecode/gsttimecodestamper.h: * gst/timecode/plugin.c: timecodestamper: New element to attach SMPTE timecode to buffers The timecodestamper element attaches a SMPTE timecode to each video buffer. This timecode corresponds to the current stream time. https://bugzilla.gnome.org/show_bug.cgi?id=766419 2016-05-15 17:25:44 +0300 Vivia Nikolaidou * sys/decklink/gstdecklinkvideosink.cpp: * sys/decklink/gstdecklinkvideosink.h: decklinkvideosink: Add support for GstVideoTimeCode The timecode will be fetched from the video buffer and outputted on the decklink video sink. https://bugzilla.gnome.org/show_bug.cgi?id=766419 2016-05-15 16:04:14 +0300 Vivia Nikolaidou * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkvideosrc.cpp: * sys/decklink/gstdecklinkvideosrc.h: decklinkvideosrc: Add support for GstVideoTimeCode The timecode will be fetched from the decklink source and attached to the video buffer. https://bugzilla.gnome.org/show_bug.cgi?id=766419 2016-08-04 23:14:41 +1000 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: add missing rgb16 and bgr16 video formats in switch Fixes an assertion that code should not be reached https://bugzilla.gnome.org/show_bug.cgi?id=769462 2016-08-04 22:28:13 +1000 Jan Schmidt * ext/hls/gsthlsdemux.c: hls: Avoid potential NULL pointer dereference. Fixes CID 1364753 2016-08-04 22:21:16 +1000 Jan Schmidt * ext/hls/m3u8.c: hls: Avoid coverity warning about access off the end of an array. Fixes CID 1364755 2016-08-04 14:42:34 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method We don't need to call the latter at all as we're definitely in this period and the segment is selected via the SIDX. This is especially important when doing SNAP seeks, as otherwise we would always start from the beginning of the period (usually 0) again. 2016-08-04 11:08:30 +0100 Luis de Bethencourt * ext/hls/m3u8.c: hls: m3u8: remove impossible condition After the check in line 1,111, media->uri can't be NULL. So the two checks for GST_HLS_MEDIA_TYPE_CLOSED_CAPTIONS are the same, removing the redundant one which goes to cc_unsupported. CID 1364752 2016-08-04 04:53:50 +1000 Jan Schmidt * ext/hls/gsthlsdemux.c: hlsdemux: Don't output pending data after error If the last_ret status is not OK, skip output of any pending PCR scan buffer, similarly to how the pending decryption buffer is handled above. 2016-08-04 04:29:38 +1000 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: On EOS, handle it before waking download loop Otherwise, if the download loop wakes too quickly, it might miss the last_ret value update from the processing thread and loop again. 2016-08-04 01:51:37 +1000 Jan Schmidt * ext/hls/gsthlsdemux-util.c: hlsdemux: Include config.h and add header in utils In gsthlsdemux-util.c, include config.h before any other headers, and add a copyright / license header. 2016-07-13 11:02:23 +0200 Edward Hervey * gst/mpegtsdemux/tsdemux.c: tsdemux: Fix draining on wrong programs When draining a program, we might send a newsegment event on the pads that are going to be removed (and then the pending data). In order to do that, calculate_and_push_newsegment() needs to know what list of streams it should take into account (instead of blindly using the current one). All callers to calculate_and_push_newsegment() and push_pending_data() can now specify the program on which to act (or NULL for the default one). 2016-07-12 15:58:40 +0200 Edward Hervey * gst/mpegtsdemux/tsdemux.c: tsdemux: Fix GAP synchronization without a valid PCR PID For streams that don't have a valid PCR PID, we just use the latest PTS from any given stream. https://bugzilla.gnome.org/show_bug.cgi?id=608148 2016-05-31 13:09:43 +0200 Michael Olbrich * gst/mpegtsdemux/mpegtspacketizer.c: tsdemux: handle pcr_pid == 0x1fff Streams without PCR make senses in HLS, where the playlist timestamps can be used to seek or calculate the duration. https://bugzilla.gnome.org/show_bug.cgi?id=608148 2015-05-10 20:10:49 +0200 Arnaud Vrac * gst/mpegtsdemux/mpegtsbase.c: mpegtsdemux: do not abort playback when no PCR were found during initial scan Seeking will not be possible in those streams but at least the can be played. Note scanning is only done when tsdemux is configured in pull mode. https://bugzilla.gnome.org/show_bug.cgi?id=608148 2015-05-09 15:52:22 +0200 Arnaud Vrac * gst/mpegtsdemux/tsdemux.c: mpegtsdemux: only wait for PCR when PCR pid is set Streams without PCR make senses in HLS, where the playlist timestamps can be used to seek or calculate the duration. https://bugzilla.gnome.org/show_bug.cgi?id=608148 2016-08-03 04:18:18 +1000 Jan Schmidt * ext/hls/gsthlsdemux.c: hls: Fix compiler warning for possibly uninit variable 2016-07-28 14:22:02 +0200 Michael Olbrich * ext/hls/gsthlsdemux.c: hlsdemux: seek all streams 2016-05-25 11:23:59 +0200 Michael Olbrich * ext/hls/gsthlsdemux.c: hlsdemux: simplify gst_hls_demux_seek() Don't initialize current_sequence. It is always overwritten in the walk loop. 2016-05-24 15:23:12 +0200 Michael Olbrich * ext/hls/gsthlsdemux.c: hlsdemux: don't download the last fragment when seeking beyond the end of the track It's not used anyways. 2016-07-12 23:05:55 +1000 Jan Schmidt * ext/hls/gsthlsdemux-util.c: * ext/hls/gsthlsdemux.c: * ext/hls/gsthlsdemux.h: hlsdemux: Add support for ID3 tag parsing Parse start PTS out of the ID3 tags in audio fragments. Informational only for now. 2016-02-24 16:57:16 +1100 Jan Schmidt * ext/hls/Makefile.am: * ext/hls/gsthlsdemux-util.c: * ext/hls/gsthlsdemux.c: * ext/hls/gsthlsdemux.h: hlsdemux: Do some reading and dumping of PCRs Read PCRs out of the MPEG-TS stream in a basic way and (for now) just log them 2016-03-05 03:08:55 +1100 Jan Schmidt * ext/hls/gsthlsdemux.c: * ext/hls/gsthlsdemux.h: hlsdemux: Only use the primary stream for bitrate selection. When playing alternate rendition auxilliary streams, ignore them in bitrate measurement (for now). 2016-07-15 16:24:17 +1000 Jan Schmidt * ext/hls/gsthlsdemux.c: hlsdemux: Only select video and audio streams by default Ignore subtitle streams for now, because the different fragment duration causes problems switching bitrates w/ decodebin2 group draining. 2016-02-25 01:58:25 +1100 Jan Schmidt * ext/hls/gsthlsdemux.c: * ext/hls/gsthlsdemux.h: hlsdemux: Publish all media for alternate renditions. Create an output stream for each media when alternate renditions are present. Update the manifests for all those streams, and make sure that typefinding is still done for files smaller than 2KB such as small WebVTT files. 2016-03-08 01:24:20 +1100 Jan Schmidt * ext/hls/gsthlsdemux.c: hlsdemux: Adjust downstream buffer offsets When fetching a byte-region from a server resource, adjust the downstream buffer offsets so that downstream doesn't know. This is because id3demux insists on the first offset being 0. Later we might strip ID3 headers entirely and this will be unneeded. 2016-03-09 03:07:22 +1100 Jan Schmidt * ext/hls/gsthlsdemux.c: * ext/hls/m3u8.c: * ext/hls/m3u8.h: hlsdemux: Choose the default variant and track it when updating Modify playlist updating to track information across updates better, although still hackish. When connection_speed == 0, choose the default variant not the first one in the (now sorted) variant list, as that will have the lowest bitrate. 2015-12-05 11:12:33 +0000 Tim-Philipp Müller * ext/hls/gsthlsdemux.c: * ext/hls/gsthlsdemux.h: * ext/hls/m3u8.c: * ext/hls/m3u8.h: * tests/check/elements/hlsdemux_m3u8.c: hlsdemux: move variant list handling over to new master playlist code Adapt hlsdemux for the m3u8 playlist changes. 2015-11-27 19:26:02 +0000 Tim-Philipp Müller * ext/hls/gsthlsdemux.c: * ext/hls/gsthlsdemux.h: * ext/hls/m3u8.c: * ext/hls/m3u8.h: hls: m3u8: Rework m3u8 parsing and storage. Make M3U8 and GstM3U8MediaFile refcounted. The contents of it and GstM3U8MediaFile are pretty much immutable already, but if we make it refcounted we can just return a ref to the media file from _get_next_fragment() instead of copying over all fields one-by-one, and then copying them all into the adaptive stream structure fields again. Move state from client into m3u8 structure. This will be useful later when we'll have multiple media playlists being streamed at the same time, as will be the case with alternative renditions. This has the downside that we need to copy over some state when we switch between variant streams. The GstM3U8Client structure is gone, and main/current lists are not directly in hlsdemux. hlsdemux had as many CLIENT_LOCK/UNLOCK as the m3u8 code anyway... 2016-07-27 09:28:23 +0800 Haihua Hu * tests/examples/qt/qmlsink/.gitignore: * tests/examples/qt/qmlsink/main.cpp: * tests/examples/qt/qmlsink/main.qml: * tests/examples/qt/qmlsink/play.pro: * tests/examples/qt/qmlsink/qml.qrc: * tests/examples/qt/qmlsrc/.gitignore: * tests/examples/qt/qmlsrc/grabqml.pro: * tests/examples/qt/qmlsrc/main.cpp: * tests/examples/qt/qmlsrc/main.qml: * tests/examples/qt/qmlsrc/qml.qrc: qmlglsrc: Add qmlglsrc unit test example https://bugzilla.gnome.org/show_bug.cgi?id=768160 2016-07-27 08:16:47 +0800 Haihua Hu * ext/qt/Makefile.am: * ext/qt/gstplugin.cc: * ext/qt/gstqtglutility.cc: * ext/qt/gstqtglutility.h: * ext/qt/gstqtsrc.cc: * ext/qt/gstqtsrc.h: * ext/qt/qtitem.cc: * ext/qt/qtwindow.cc: * ext/qt/qtwindow.h: qt: implement qmlglsrc for qml view grab [Matthew Waters]: gst-indent sources https://bugzilla.gnome.org/show_bug.cgi?id=768160 2016-07-27 10:55:01 +0800 Haihua Hu * gst-libs/gst/gl/x11/gstglwindow_x11.c: glwindow: Fix glimagesink cannot show frame when connect to qmlglsrc When connect to qmlglsrc, x11 event loop will be replace by qt event loop which will cause the window cannot receive event from xserver, such as resize https://bugzilla.gnome.org/show_bug.cgi?id=768160 2016-08-02 17:21:20 +0900 Hyunjun Ko * gst-libs/gst/gl/gstglupload.c: glupload: Use bufferpool to allocate new buffer in GLTextureUploadMeta To improve performace of upload with GLTextureUploadMeta, use bufferpool instead of allocating new buffer every time. https://bugzilla.gnome.org/show_bug.cgi?id=769293 2016-07-27 14:48:50 +1000 Matthew Waters * gst-libs/gst/gl/gstglwindow.c: glwindow: move unsetting queue_resize to _resize() instead of _draw() Makes infinitely more sense and implementation were expecting that behaviour anyway and would enter a resize, draw, resize, draw, ... cycle instead of only resizing once. 2016-08-03 09:14:07 +0300 Sebastian Dröge * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Never ever hold the manifest lock while changing the source element state Otherwise we will deadlock in various situations that take the manifest lock from the streaming thread or when shutting down or ... 2016-08-02 17:07:37 +0300 Sebastian Dröge * tests/check/elements/aiffparse.c: aiffparse: In PUSH mode we will never get the ID3 tags as they are at the end of the file This previously did not fail as before we didn't get any tags at all in PUSH mode, now we get the bitrates. 2016-08-02 13:48:43 +0200 Carlos Rafael Giani * gst/aiff/Makefile.am: * gst/aiff/aiffparse.c: aiffparse: Add tags for container format and bitrate The bitrate is added to help downstream elements (like uridecodebin) figure out a proper network buffer size https://bugzilla.gnome.org/show_bug.cgi?id=769389 2016-01-20 16:42:24 +0000 Alex Ashley * tests/check/elements/dash_mpd.c: tests: dashdemux: add test for gst_mpd_client_get_maximum_segment_duration Add a test of the gst_mpd_client_get_maximum_segment_duration() function to check that it first checks the MPD@maxSegmentDuration and then falls back to checking all of the segment durations. https://bugzilla.gnome.org/show_bug.cgi?id=753751 2016-02-24 15:54:54 +0000 Alex Ashley * ext/dash/gstdashdemux.c: * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: dashdemux: include segment duration when calculating seek range The gst_dash_demux_get_live_seek_range () function returns a stop value that is beyond the available range. The functions gst_mpd_client_check_time_position() and gst_mpd_client_get_next_segment_availability_end_time() in gstmpdparser.c include the segment duration when checking if a segment is available. The gst_dash_demux_get_live_seek_range() function in gstdashdemux.c ignores the segment duration. According to the DASH specification, if maxSegmentDuration is not present, then the maximum Segment duration is the maximum duration of any Segment documented in the MPD. https://bugzilla.gnome.org/show_bug.cgi?id=753751 2016-02-24 15:52:41 +0000 Vincent Penquerc'h * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: retry once on 4xx/5xx in certain conditions This helps catch those 404 server errors in live streams when seeking to the very beginning, as the server will handle a request with some delay, which can cause it to drop the fragment before sending it. https://bugzilla.gnome.org/show_bug.cgi?id=753751 2016-02-24 15:47:09 +0000 Alex Ashley * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: expose HTTP status To allow adaptivedemux to make retry decisions, it needs to know what sort of HTTP error has occurred. For example, the retry logic for a 410 error is different from a 504 error. https://bugzilla.gnome.org/show_bug.cgi?id=753751 2016-03-07 17:04:33 +0000 Vincent Penquerc'h * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: allow seeking before start in live streams Some derived classes (at least dashdemux) expose a seeking range based on wall clock. This means that a subsequent seek to the start of this range will be before the allowed range. To solve this, seeks without the ACCURATE flag are allowed to seek before the start for live streams, in which case the segment is shifted to start at the start of the new seek range. If there is an end position, is is shifted too, to keep the duration constant. https://bugzilla.gnome.org/show_bug.cgi?id=753751 2016-08-01 14:12:35 +0800 Haihua Hu * ext/gl/gstglimagesink.c: glimagesink: Fix horizontal/vertical flip matrizes They were swapped. https://bugzilla.gnome.org/show_bug.cgi?id=769371 2016-07-29 16:32:22 +0300 Sreerenj Balachandran * gst/videoparsers/gsth264parse.c: videoparsers: h264: Add more scalable profiles to the profile list Adding Scalable Constrained High (G.10.1.2.1) and Scalable High Intra(G.10.1.3) profiles to the profile list https://bugzilla.gnome.org/show_bug.cgi?id=769303 2016-08-01 10:30:29 +0300 Sebastian Dröge * sys/androidmedia/gst-android-hardware-camera.c: * sys/androidmedia/gst-android-hardware-sensor.c: * sys/androidmedia/gstahssrc.c: androidmedia: Run gst-indent over everything once again 2016-08-01 10:28:26 +0300 Sebastian Dröge * sys/androidmedia/gstamc.c: amc: If we find multiple codecs with the same name, just merge them On the ODroid C1+ the H265 and H264 have the same name but are listed as two different codecs. We have to handle them as the same one that supports both, as otherwise we will register the same GType name twice which fails and we then only have H265 support and not H264 support. 2016-08-01 10:15:04 +0300 Sebastian Dröge * sys/androidmedia/gstamc.c: amc: Use a GQueue for O(1) append instead of a GList 2016-07-29 12:31:38 +0300 Sebastian Dröge * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Also call reset() in READY->PAUSED This allows subclasses to have initialization code in a single place. 2016-07-29 10:49:26 +0300 Sebastian Dröge * gst/rawparse/gstrawaudioparse.c: rawaudioparse: Use G_GINT64_MODIFIER for portability https://bugzilla.gnome.org/show_bug.cgi?id=769295 2016-07-29 10:07:23 +0300 Sebastian Dröge * gst/rawparse/gstunalignedaudioparse.c: unalignedaudioparse: Fix element factory name of inner parser 2016-07-29 08:54:00 +0300 Sebastian Dröge * sys/androidmedia/gstamc.c: amc: Print generated raw/encoded caps in debug logs 2016-07-28 11:27:29 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: dashdemux: Skip audio streams if TRICKMODE_NO_AUDIO is given in the seek event We just don't expose pads for audio streams, or even download them. 2016-07-28 11:16:24 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Reset number of subtitle streams counter on reset() too Otherwise we will continue increasing forever the number of subtitle streams when reusing the element for another DASH manifest. 2016-07-26 17:01:55 +0100 Vincent Penquerc'h * tests/check/pipelines/simple-launch-lines.c: tests: fix simple-launch-lines when jpeg lib isn't present JPEG detection in configure.ac defines HAVE_JPEG to 0 if the jpeg lib isn't found, rather then not defining it. https://bugzilla.gnome.org/show_bug.cgi?id=769197 2016-07-25 17:55:24 +0200 Carlos Rafael Giani * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/inspect/plugin-rawparse.xml: docs: Update rawparser documentation Signed-off-by: Carlos Rafael Giani https://bugzilla.gnome.org/show_bug.cgi?id=767011 2016-07-25 17:54:09 +0200 Carlos Rafael Giani * gst/rawparse/Makefile.am: * gst/rawparse/gstaudioparse.c: * gst/rawparse/gstaudioparse.h: * gst/rawparse/gstrawparse.c: * gst/rawparse/gstrawparse.h: * gst/rawparse/gstvideoparse.c: * gst/rawparse/gstvideoparse.h: rawparse: Remove old parser code and wrap new parsers in old elements https://bugzilla.gnome.org/show_bug.cgi?id=767011 2016-07-25 13:45:40 +0200 Carlos Rafael Giani * gst/rawparse/Makefile.am: * gst/rawparse/gstrawaudioparse.c: * gst/rawparse/gstrawaudioparse.h: * gst/rawparse/gstrawbaseparse.c: * gst/rawparse/gstrawbaseparse.h: * gst/rawparse/gstrawvideoparse.c: * gst/rawparse/gstrawvideoparse.h: * gst/rawparse/gstunalignedaudioparse.c: * gst/rawparse/gstunalignedvideoparse.c: * gst/rawparse/gstunalignedvideoparse.h: * gst/rawparse/plugin.c: * gst/rawparse/unalignedvideo.h: * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/rawaudioparse.c: * tests/check/elements/rawvideoparse.c: rawparse: Add new raw audio and video parser elements The new rawaudioparse and rawvideoparse elements are based on GstBaseParse and completely replace audioparse and videoparse https://bugzilla.gnome.org/show_bug.cgi?id=767011 2016-07-26 16:01:19 +1000 Matthew Waters * ext/gl/caopengllayersink.h: * ext/gl/caopengllayersink.m: caopengllayersink: remove unused to_quit variable It was always 0 and never set to anything meaningful. 2016-07-26 15:57:54 +1000 Matthew Waters * gst-libs/gst/gl/gstglframebuffer.c: glframebuffer: add compatibility definition for GL_DEPTH_STENCIL_ATTACHMENT GLES2 doesn't have it defined... 2016-07-15 13:39:54 +1000 Matthew Waters * ext/gl/effects/gstgleffectblur.c: * ext/gl/effects/gstgleffectbulge.c: * ext/gl/effects/gstgleffectfisheye.c: * ext/gl/effects/gstgleffectglow.c: * ext/gl/effects/gstgleffectidentity.c: * ext/gl/effects/gstgleffectlaplacian.c: * ext/gl/effects/gstgleffectlumatocurve.c: * ext/gl/effects/gstgleffectlumatocurve.h: * ext/gl/effects/gstgleffectmirror.c: * ext/gl/effects/gstgleffectrgbtocurve.c: * ext/gl/effects/gstgleffectsin.c: * ext/gl/effects/gstgleffectsobel.c: * ext/gl/effects/gstgleffectsquare.c: * ext/gl/effects/gstgleffectsqueeze.c: * ext/gl/effects/gstgleffectstretch.c: * ext/gl/effects/gstgleffecttunnel.c: * ext/gl/effects/gstgleffecttwirl.c: * ext/gl/effects/gstgleffectxray.c: * ext/gl/gstglcolorbalance.c: * ext/gl/gstglcolorscale.c: * ext/gl/gstgldeinterlace.c: * ext/gl/gstgldeinterlace.h: * ext/gl/gstgldifferencematte.c: * ext/gl/gstglfilterapp.c: * ext/gl/gstglfiltershader.c: * ext/gl/gstgloverlay.c: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: * gst-libs/gst/gl/gstglpixelformat.c: * gst-libs/gst/gl/gstglutils.h: glfilter: rewrite subclasses for filter_texture() occuring on GL thread There's no need for the jump to an extra thread in most cases, especially when relying solely on a shader to render. We can use the provided render_to_target() functions to simplify filter writing. 2016-07-12 15:34:24 +1000 Matthew Waters * gst-libs/gst/gl/gstglutils.h: glutils: remove unused GstGLDisplayProjection 2016-07-12 15:29:29 +1000 Matthew Waters * ext/gl/gstglimagesink.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglmemorypbo.c: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: * gst-libs/gst/gl/gstglviewconvert.c: * tests/check/libs/gstglmemory.c: * tests/check/libs/gstglupload.c: glcontext: remove not thread-safe get/set_error() Use GError's instead if necessary. 2016-07-12 12:59:57 +1000 Matthew Waters * ext/gl/gstglfilterapp.c: * ext/gl/gstglfilterapp.h: * ext/gl/gstglfiltercube.c: * ext/gl/gstglfilterglass.c: * ext/gl/gstglmixer.c: * ext/gl/gstglmixer.h: * ext/gl/gstglmosaic.c: * ext/gl/gstgltestsrc.c: * ext/gl/gstgltestsrc.h: * ext/gl/gstgltransformation.c: * ext/gl/gstglvideomixer.c: * ext/gl/gstglvideomixer.h: * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglcolorconvert.h: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: * gst-libs/gst/gl/gstglframebuffer.c: * gst-libs/gst/gl/gstglframebuffer.h: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: * gst-libs/gst/gl/gstglviewconvert.c: * gst-libs/gst/gl/gstglviewconvert.h: * tests/check/libs/gstglcontext.c: glframebuffer: rewrite for a more consistent API Facilities are given to create fbo's and attach GL memory (renderbuffers or textures). It also keeps track of the renderable size for use with effective use with glViewport(). 2016-07-12 00:30:22 +1000 Matthew Waters * ext/gl/gstglcolorbalance.c: * ext/gl/gstglcolorscale.c: * ext/gl/gstgldeinterlace.c: * ext/gl/gstgldifferencematte.c: * ext/gl/gstgldifferencematte.h: * ext/gl/gstgleffects.c: * ext/gl/gstgleffects.h: * ext/gl/gstglfilterapp.c: * ext/gl/gstglfiltercube.c: * ext/gl/gstglfiltercube.h: * ext/gl/gstglfilterglass.c: * ext/gl/gstglfilterglass.h: * ext/gl/gstglfiltershader.c: * ext/gl/gstglmixer.c: * ext/gl/gstglmixer.h: * ext/gl/gstglmosaic.c: * ext/gl/gstglmosaic.h: * ext/gl/gstgloverlay.c: * ext/gl/gstgltransformation.c: * ext/gl/gstgltransformation.h: * ext/gl/gstglvideomixer.c: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: gl: use GLMemory for accessing textures everywhere This simplifies and consolidates a lot of duplicated code creating and modifying textures. 2016-07-11 22:44:16 +1000 Matthew Waters * ext/gl/effects/gstgleffectblur.c: * ext/gl/effects/gstgleffectbulge.c: * ext/gl/effects/gstgleffectfisheye.c: * ext/gl/effects/gstgleffectglow.c: * ext/gl/effects/gstgleffectidentity.c: * ext/gl/effects/gstgleffectlaplacian.c: * ext/gl/effects/gstgleffectlumatocurve.c: * ext/gl/effects/gstgleffectmirror.c: * ext/gl/effects/gstgleffectrgbtocurve.c: * ext/gl/effects/gstgleffectsin.c: * ext/gl/effects/gstgleffectsobel.c: * ext/gl/effects/gstgleffectsquare.c: * ext/gl/effects/gstgleffectsqueeze.c: * ext/gl/effects/gstgleffectstretch.c: * ext/gl/effects/gstgleffecttunnel.c: * ext/gl/effects/gstgleffecttwirl.c: * ext/gl/effects/gstgleffectxray.c: * ext/gl/gstglcolorbalance.c: * ext/gl/gstgldeinterlace.c: * ext/gl/gstgldifferencematte.c: * ext/gl/gstglfiltershader.c: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: glfilter: rename draw_texture to draw_fullscreen_quad And remove unused arguments. 2016-07-11 22:31:04 +1000 Matthew Waters * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstglrenderbuffer.c: * gst-libs/gst/gl/gstglrenderbuffer.h: gl: add memory type for renderbuffer's Soon to be used for framebuffers for e.g. depth buffers or throwaway color buffers. 2016-07-11 22:28:42 +1000 Matthew Waters * gst-libs/gst/gl/gstglformat.c: * gst-libs/gst/gl/gstglformat.h: glformat: define our own set of formats from the GL defines also add some depth/stencil formats 2016-07-11 22:24:43 +1000 Matthew Waters * ext/gl/gstgleffects.c: gleffects: fix xray to use the correct function Instead of duplicating the sin effect 2016-07-11 21:29:10 +1000 Matthew Waters * gst-libs/gst/gl/gstglbasememory.c: * gst-libs/gst/gl/gstglbasememory.h: glbasememory: assert for a valid allocator instead of segfaulting 2016-04-29 14:42:34 +0200 Michael Olbrich * gst/mpegtsdemux/gstmpegdefs.h: * gst/mpegtsdemux/tsdemux.c: tsdemux: add support for LPCM with stream_type = 0x83 https://bugzilla.gnome.org/show_bug.cgi?id=765807 2016-07-25 13:06:46 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: * gst-libs/gst/player/gstplayer.h: player: Add some 'const' to config getters 2016-07-25 13:06:36 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: G-I annotation fixes 2016-07-25 10:30:26 +0200 Guillaume Desmottes * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/player/gstplayer.c: * gst-libs/gst/player/gstplayer.h: * tests/check/libs/player.c: * win32/common/libgstplayer.def: player: move 'position-update-interval' setting to the config struct https://bugzilla.gnome.org/show_bug.cgi?id=769144 2016-07-19 14:36:25 +0200 Guillaume Desmottes * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/player/gstplayer.c: * gst-libs/gst/player/gstplayer.h: * tests/check/libs/player.c: * win32/common/libgstplayer.def: player: add API to change http user agent Introducing a new 'config' API similar to GstBufferPoolConfig. https://bugzilla.gnome.org/show_bug.cgi?id=765314 2016-07-25 10:54:32 +0100 Tim-Philipp Müller * common: Update common submodule For 'make update-exports' changes 2016-07-22 17:00:14 +0300 Sebastian Dröge * tests/examples/qt/qml/main.cpp: qml: Don't forget to unref the actual sink element after setting it on glsinkbin 2016-07-22 16:57:45 +0300 Sebastian Dröge * tests/examples/qt/qml/main.cpp: qml: Use glsinkbin instead of glupload directly 2016-07-18 18:36:42 +0100 Tim-Philipp Müller * ext/openh264/gstopenh264dec.cpp: * ext/openh264/gstopenh264enc.cpp: * ext/openh264/gstopenh264enc.h: openh264: fix up for API changes in v1.6.0 Update for API changes in v1.6.0. https://bugzilla.gnome.org/show_bug.cgi?id=768771 2016-07-18 17:43:23 +0100 Tim-Philipp Müller * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c: * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h: gl: wayland: improve debug message when connecting to display And another copy'n'paste-o. https://bugzilla.gnome.org/show_bug.cgi?id=768929 2016-07-19 02:11:54 +1000 Jan Schmidt * ext/hls/gsthlsdemux.c: hlsdemux: Fix clearing of decryption state Don't clear decryption state immediately after initialising it in the start_fragment. Don't clear the state of all streams when we want to only clear the current stream. https://bugzilla.gnome.org//show_bug.cgi?id=768757 2016-07-15 10:31:35 +0200 Guillaume Desmottes * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/adaptive_demux_engine.c: * tests/check/elements/audiomixer.c: * tests/check/elements/autovideoconvert.c: * tests/check/elements/camerabin.c: tests: fix bus leak gst_bus_remove_signal_watch() has to be called to release the ref taken by gst_bus_add_signal_watch(). https://bugzilla.gnome.org/show_bug.cgi?id=768843 2016-07-15 11:48:25 +0200 Guillaume Desmottes * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c: camerabinpreview: fix bus leak We were never removing the watch introduced in gst_camerabin_create_preview_pipeline() so its extra ref on the bus was never released. https://bugzilla.gnome.org/show_bug.cgi?id=768838 2016-07-13 23:02:10 +1000 Tim-Philipp Müller * ext/hls/gsthlsdemux.c: * ext/hls/gsthlsdemux.h: hlsdemux: make decryption key handling per-stream Add demuxer instance-wide decryption key cache. The current and last key url are per-stream, so make a shared cache. Move the decryption handling into the stream object, and use the shared cache for the keys. 2016-07-13 23:02:10 +1000 Jan Schmidt * ext/hls/gsthlsdemux.c: * ext/hls/gsthlsdemux.h: hlsdemux: add hlsdemux-specific AdaptiveDemuxStream subclass Prepare hlsdemux for more than one single stream. Currently hlsdemux assumes there'll only ever be one stream and most of the stream-specific state is actually in the hlsdemux structure. Add a stream subclass instead and move some stream-specific members there instead. 2016-07-13 23:02:10 +1000 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: Add more safeguards around state changes. Make state changes of internal elements more reliable by locking their state, and ensuring that they aren't blocked pushing data downstream before trying to set their state. Add a boolean to avoid starting tasks when the main thread is busy trying to shut the element down. 2016-07-13 23:02:10 +1000 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Add debug code to change bitrate. Add some disabled-by-default debugging code that forces bitrate changes by modulating the measured bitrate every few fragments 2016-07-13 23:02:10 +1000 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: More locking/switching fixes Try harder to make switching pads work better by making sure concurrent downloads are finished before exposing a new set of pads. Release the manifest lock when signalling no-more-pads, as that can call back into adaptivedemux again 2016-07-13 23:02:10 +1000 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Don't switch streams and expose pads while downloading. If other stream fragments are still downloading but new streams have been scheduled, don't expose them yet - wait until the last one finishes. Otherwise, we can cancel a partially downloaded auxilliary stream and cause a gap. 2016-07-13 23:02:10 +1000 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Drop the manifest lock during outbound actions Drop the manifest lock when performing actions that might call back into adaptivedemux and trigger deadlocks, such as adding/removing pads or sending in-band events (EOS). Unlock the manifest lock when changing the child bin state to NULL, as it might call back to acquire the manifest lock when shutting down pads. Drop the manifest lock while pushing events. 2016-07-12 14:51:47 -0700 Martin Kelly * sys/androidmedia/Makefile.am: * sys/androidmedia/gst-android-hardware-sensor.c: * sys/androidmedia/gst-android-hardware-sensor.h: * sys/androidmedia/gstahssrc.c: * sys/androidmedia/gstahssrc.h: * sys/androidmedia/gstamc.c: * sys/androidmedia/gstsensors.h: * sys/androidmedia/org/freedesktop/gstreamer/androidmedia/GstAhsCallback.java: new plugin: Android hardware sensor source ahssrc is a new plugin that enables Gstreamer to read from the android.hardware.Sensor Android sensors. These sensors are treated as buffers and can be passed through and manipulated by the pipeline. https://bugzilla.gnome.org/show_bug.cgi?id=768110 2016-07-14 19:38:26 +0200 Stefan Sauer * ext/lv2/gstlv2utils.c: lv2: make it build with older lilv Implementing the removal of presets is unfortunately not feasibla with versions < 0.22. Fixes #768595 2016-07-13 23:00:51 -0400 Nicolas Dufresne * ext/webrtcdsp/gstwebrtcdsp.cpp: * ext/webrtcdsp/gstwebrtcechoprobe.cpp: webrtcdsp: Add delay-agnostic property In this mode, we let WebRTC Audio Processing figure-out the delay. This is useful when the latency reported by the stack cannot be trusted. Note that in this mode, the leaking of echo during packet lost is much worst. It is recommanded to use PLC (e.g. spanplc, or opus built-in plc). In this mode, we don't do any synchronization. Instead, we simply process all the available reverse stream data as it comes. 2016-07-12 00:02:53 +0300 Sebastian Dröge * gst/videoparsers/gstjpeg2000parse.c: jpeg2000parse: Use correct enum type GST_JPEG2000_SAMPLING_RGB instead of GST_JPEG2000_COLORSPACE_RGB https://bugzilla.gnome.org/show_bug.cgi?id=768696 2016-07-11 21:13:58 +0200 Stefan Sauer * common: Automatic update of common submodule From f363b32 to f49c55e 2016-07-11 11:58:12 -0400 Nicolas Dufresne * sys/kms/gstkmsallocator.c: * sys/kms/gstkmsallocator.h: * sys/kms/gstkmssink.c: kmssink: Fix offsets handling The calculation of the offset table was done base on a plane size estimation. This does not always work. Instead, use memory offset the same we as it's implement in GstVideoMeta map functions. 2016-07-11 19:21:11 +0530 Nirbheek Chauhan * gst-libs/gst/video/gstvideoaggregator.c: * gst/siren/gstsirendec.c: Fix various gboolean vs GstFlowReturn problems Caught by building with MSVC which gave warnings for these 2016-07-08 19:03:06 +1000 Matthew Waters * configure.ac: gl/build: fix configure when --enable-cocoa is passed on OS X https://bugzilla.gnome.org/show_bug.cgi?id=768553 2016-07-10 20:43:17 +0200 Stefan Sauer * ext/lv2/README: lv2: planning update 2016-07-10 20:42:42 +0200 Stefan Sauer * configure.ac: * ext/lv2/gstlv2utils.c: lv2: keep working with older versions Provide a fallback impl. for the only new function we were using from 0.22. Fixes #768595 2016-07-08 14:42:18 +0100 Tim-Philipp Müller * gst/camerabin2/gstcamerabin2.c: camerabin: update docs section 2016-07-07 13:22:02 -0400 Nicolas Dufresne * configure.ac: configure.ac: Cleanup unused variable We only check for a header, no need for overriding LDFLAGS. 2016-07-07 17:24:32 +0100 Luis de Bethencourt * gst/gaudieffects/gstgaussblur.h: gaudi: fix documentation warning in GstGaussianBlur Fixing the following warning when generating documentation: xml/element-gaussianblur.xml:72: element refsect2: validity error : ID GstGaussianBlur already defined ^ Warning: multiple "IDs" for constraint linkend: GstGaussianBlur. DOC Fixing cross-references 2016-07-07 17:16:47 +0100 Luis de Bethencourt * gst/gaudieffects/gstchromium.h: gaudi: fix documentation warning in GstChromium Fixing the following warning when generating documentation: xml/element-chromium.xml:74: element refsect2: validity error : ID GstChromium already defined ^ Warning: multiple "IDs" for constraint linkend: GstChromium. DOC Fixing cross-references 2016-07-07 12:31:20 -0400 Nicolas Dufresne * configure.ac: webrtcdsp: Relax C++11 check The library does not require any STL C++11 specific headers. This fixes our OSX build as we target a SDK version that does not support C++11 STL. 2016-07-07 12:31:03 -0400 Nicolas Dufresne * configure.ac: webrtcdsp: Add Android GNUSTL support 2016-07-07 12:20:45 -0400 Nicolas Dufresne * configure.ac: webrtcdsp: Set USE_WEBRTCDSP when disabled 2016-07-07 17:20:58 +0200 Edward Hervey * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Also consider more seek flags as "snap" seeks In the case of KEY_UNIT and TRICKMODE_KEY_UNITS seeks, we want to "snap" to the closest fragment. Without this, we end up pushing out a segment which does not match the first fragment timestamp being pushed out, resulting in one or more buffers being eventually dropped because they are out of segment. 2016-07-06 14:29:04 +0300 Sebastian Dröge * configure.ac: webrtcdsp: Also allow webrtc-audio-processing 0.3 It seems to work and is the version available in Debian. 2016-07-06 12:12:41 +0100 Luis de Bethencourt * ext/musepack/gstmusepackdec.c: musepackdeck: unsigned can't be less than zero Less-than-zero comparison of an unsigned value, guint64, is never true CID 1363334 2016-07-06 13:51:06 +0300 Sebastian Dröge * configure.ac: Back to development === release 1.9.1 === 2016-07-06 13:07:21 +0300 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiofxbad.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bluez.xml: * docs/plugins/inspect/plugin-bs2b.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-compositor.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dashdemux.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-decklink.xml: * docs/plugins/inspect/plugin-dtls.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faac.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-fbdevsink.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-fluidsynthmidi.xml: * docs/plugins/inspect/plugin-freeverb.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstgtk.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-ivfparse.xml: * docs/plugins/inspect/plugin-ivtc.xml: * docs/plugins/inspect/plugin-jp2kdecimator.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-kate.xml: * docs/plugins/inspect/plugin-ladspa.xml: * docs/plugins/inspect/plugin-midi.xml: * docs/plugins/inspect/plugin-mimic.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-mxf.xml: * docs/plugins/inspect/plugin-netsim.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-opencv.xml: * docs/plugins/inspect/plugin-openexr.xml: * docs/plugins/inspect/plugin-opengl.xml: * docs/plugins/inspect/plugin-openjpeg.xml: * docs/plugins/inspect/plugin-opusparse.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-qt.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rsvg.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-rtponvif.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-smoothstreaming.xml: * docs/plugins/inspect/plugin-sndfile.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-srtp.xml: * docs/plugins/inspect/plugin-stereo.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-teletext.xml: * docs/plugins/inspect/plugin-uvch264.xml: * docs/plugins/inspect/plugin-vcdsrc.xml: * docs/plugins/inspect/plugin-videofiltersbad.xml: * docs/plugins/inspect/plugin-videoframe_audiolevel.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-videosignal.xml: * docs/plugins/inspect/plugin-vmnc.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-webp.xml: * docs/plugins/inspect/plugin-wildmidi.xml: * docs/plugins/inspect/plugin-x265.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-yadif.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: * win32/common/config.h: Release 1.9.1 2016-07-06 11:52:11 +0300 Sebastian Dröge * 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/ky.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: Update .po files 2016-07-06 10:19:24 +0300 Sebastian Dröge * 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/ky.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: Update translations 2016-07-05 09:21:58 -0400 Nicolas Dufresne * ext/webrtcdsp/gstwebrtcdsp.cpp: webrtcdsp: Workaround GCC/MingW 4.7 limitations It refuses to initialize a classes using brackets notation. This is to allow building using our mingw version. 2016-07-04 14:57:11 -0400 Nicolas Dufresne * configure.ac: configure.ac: Add missing double quotes That affectation was ignored. This worked on recent GCC as C++11 is enabled by default now. 2016-07-02 10:24:51 +0200 Stefan Sauer * ext/lv2/gstlv2filter.c: * ext/lv2/gstlv2source.c: * ext/lv2/gstlv2utils.c: * ext/lv2/gstlv2utils.h: lv2: add support for saving presets Plugns supporting the state interface can now save their presets under '.lv2'. 2016-06-15 22:22:58 +0200 Stefan Sauer * ext/lv2/README: * ext/lv2/gstlv2.c: * ext/lv2/gstlv2.h: * ext/lv2/gstlv2filter.c: * ext/lv2/gstlv2source.c: * ext/lv2/gstlv2utils.c: * ext/lv2/gstlv2utils.h: lv2: support for loading presets Detect if plugins can do presets. Lazily read a list of presets and add support for loading. 2016-07-04 16:54:53 +0200 Wim Taymans * configure.ac: * ext/musepack/gstmusepackdec.c: * ext/musepack/gstmusepackreader.c: musepackdec: port to 1.0 2016-07-04 12:19:36 +0200 Marcin Lewandowski * sys/shm/gstshmsrc.c: shmsrc: Do not call gst_poll_remove_fd upon stop if reading was never started https://bugzilla.gnome.org/show_bug.cgi?id=768365 2016-07-01 14:50:27 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: improve parsing-success message * Fix typo * Give information on what was actually parsed 2016-07-01 14:37:37 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: don't use default conf filename for messages The file name can be user-defined. 2016-07-01 19:22:32 +0100 Tim-Philipp Müller * configure.ac: * ext/qt/Makefile.am: qt: fix build some more when QPA is not available Compiler would complain about include directory that didn't exist because QPA_INCLUDE_PATH gets subst-ed regardless (and if it didn't we'd have just an empty -I argument). https://bugzilla.gnome.org/show_bug.cgi?id=767553 2016-07-01 14:05:49 +0100 Luis de Bethencourt * gst/videoparsers/gstjpeg2000parse.c: gstjpeg2000parse: no need for else after a goto else clause is redundant when the end of the if statement is a jump. If we haven't gone to the beach, we are in the false branch. 2016-06-30 07:47:50 -0400 Aaron Boxer * gst/videoparsers/gstjpeg2000parse.c: gstjpeg2000parse: improved parsing of jpc magic and j2c box https://bugzilla.gnome.org/show_bug.cgi?id=767512 2016-05-25 16:01:24 +0300 Sebastian Dröge * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: Add custom flow return for allowing subclasses to specify when a fragment is finished If it is finished before upstream going EOS. https://bugzilla.gnome.org/show_bug.cgi?id=767365 2016-05-27 16:08:09 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: dashdemux: Implement SIDX tracking based on buffer offset This simplifies the code but also removes a bug with tracking of the remaining size for the initial subfragment: we were not considering the size between the index and the start of the first moof here. https://bugzilla.gnome.org/show_bug.cgi?id=764684 2016-03-31 13:39:59 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: dashdemux: Properly keep track of current offset GstAdapter does not guarantee to pass through all the offsets, we have to keep track of it ourselves. https://bugzilla.gnome.org/show_bug.cgi?id=764684 2016-03-31 13:39:59 +0300 Sebastian Dröge * ext/hls/gsthlsdemux.c: * ext/hls/gsthlsdemux.h: hlsdemux: Properly keep track of current offset GstAdapter does not guarantee to pass through all the offsets, we have to keep track of it ourselves. https://bugzilla.gnome.org/show_bug.cgi?id=764684 2016-03-31 13:01:00 +0300 Sebastian Dröge * ext/hls/gsthlsdemux.c: hlsdemux: Clear pending data when needed When switching fragments we don't want to keep any data around from the last one, and also forget about all data when doing flushing seeks or selecting new bitrates. https://bugzilla.gnome.org/show_bug.cgi?id=764684 2016-03-28 13:45:36 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: * ext/hls/gsthlsdemux.c: * ext/hls/gsthlsdemux.h: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: Get rid of internal stream adapter and let subclasses handle this directly This allows subclasses to have more control and especially ensure that they push data downstream with the correct offsets. https://bugzilla.gnome.org/show_bug.cgi?id=764684 2016-07-01 12:20:14 +0100 Tim-Philipp Müller * gst-libs/gst/codecparsers/gstjpeg2000sampling.c: codecparsers: jpeg2000: don't allow 0 value for array access with i-1 2016-07-01 12:15:28 +0100 Tim-Philipp Müller * gst-libs/gst/codecparsers/gstjpeg2000sampling.c: codecparsers: jpeg2000: fix possible out-of-bounds array access sizeof(array) != G_N_ELEMENTS(array). CID 1362900 2016-06-30 23:38:26 +0200 Sebastian Dröge * ext/openh264/gstopenh264enc.cpp: openh264enc: Set frame timestamps before sending to the encoder 2016-06-30 23:35:33 +0200 Sebastian Dröge * ext/openh264/gstopenh264enc.cpp: openh264enc: Fix initial time-per-frame calculation 2016-06-30 23:33:38 +0200 Sebastian Dröge * ext/openh264/gstopenh264enc.cpp: * ext/openh264/gstopenh264enc.h: openh264enc: Remove meaningless drop bitrate handling This doesn't even have a property. 2016-06-30 23:29:13 +0200 Sebastian Dröge * ext/openh264/gstopenh264enc.cpp: * ext/openh264/gstopenh264enc.h: openh264enc: Expose maximum bitrate setting 2016-06-30 23:19:26 +0200 Sebastian Dröge * ext/openh264/gstopenh264enc.cpp: openh264enc: Actually hook up the rate-control property 2016-06-30 23:06:29 +0200 Sebastian Dröge * ext/openh264/gstopenh264enc.cpp: openh264enc: Use a constant SPS/PPS ID no matter if openh264 older or newer than 1.4 is used 2016-06-30 23:02:49 +0200 Sebastian Dröge * ext/openh264/gstopenh264enc.cpp: openh264enc: Make slice settings more explicit and don't set any number if not a fixed number of slices is selected 2016-06-29 15:56:47 -0400 Nicolas Dufresne * ext/webrtcdsp/gstwebrtcdsp.cpp: * ext/webrtcdsp/gstwebrtcechoprobe.cpp: * ext/webrtcdsp/gstwebrtcechoprobe.h: webrtcdsp: Rewrite echo data synchronization The previous code would run out of sync if there was packet lost or clock skews. When that happened, the echo cancellation feature would completely stop working. As this is crucial for audio calls, this patch re-implement synchronization completely. Instead of letting it drift until next discont, we now synchronize against the record data at every iteration. This way we simply never let the stream drift for longer then 10ms period. We also shorter the delay by using the latency up the probe (basically excluding the sink latency. This is a decent delay to avoid starving in the probe queue. https://bugzilla.gnome.org/show_bug.cgi?id=768009 2016-06-29 15:55:19 -0400 Nicolas Dufresne * ext/webrtcdsp/gstwebrtcdsp.cpp: webrtcdsp: We now fail if there is no echo probe When echo cancel is enabled, we now fail the pipeline if there is not echo probe. For this reason there is no need to check if probe pointer is set anymore. 2016-06-30 21:50:12 +1000 Matthew Waters * gst-libs/gst/gl/gstglviewconvert.c: glviewconvert: fix transformation matrix usage Calling glUniformMatrix before the shader is bound is invalid and would result in errors like: GL_INVALID_OPERATION in glUniformMatrix(program not linked) Move glUniformMatrix() to after the gst_gl_shader_use() call. 2016-06-28 16:07:43 -0400 Javier Martinez Canillas * sys/kms/gstkmssink.c: kmssink: fallback to universal planes if no overlay plane is found Without setting the DRM_CLIENT_CAP_UNIVERSAL_PLANES capability bit, only overlay planes are made available for compatibility with legacy clients. But if a CRTC doesn't have an overlay plane associated, then kmssink is not able to find a plane for the CRTC and the pipeline will fail, i.e: ERROR kmssink gstkmssink.c:482:gst_kms_sink_start: Could not find a plane for crtc If no overlay planes were found for a given CRTC, fallback to universal planes so DRM will also return primary planes that can be used instead. https://bugzilla.gnome.org/show_bug.cgi?id=768183 Signed-off-by: Javier Martinez Canillas 2016-06-28 20:51:56 -0400 Javier Martinez Canillas * docs/plugins/gst-plugins-bad-plugins.args: * sys/kms/gstkmssink.c: kmssink: add a plane-id property Without setting the DRM_CLIENT_CAP_UNIVERSAL_PLANES capability bit, only overlay planes are made available for compatibility with legacy clients. But if a CRTC doesn't have an overlay plane associated, then kmssink is not able to find a plane for the CRTC and the pipeline will fail, i.e: ERROR kmssink gstkmssink.c:482:gst_kms_sink_start: Could not find a plane for crtc This patch adds a plane-id property to the kmssink element so a specific plane can be used in case that a CRTC has only a primary plane associated. https://bugzilla.gnome.org/show_bug.cgi?id=768183 2016-06-30 10:33:30 +0200 Sebastian Dröge * ext/openh264/gstopenh264enc.cpp: openh264enc: Remove broken byte-stream to avc conversion and just output byte-stream as generated by the encoder The byte-stream to avc conversion did not consider NAL sizes bigger than 2^16, multiple layers, multiple NALs per layer, and various other things. This caused corrupted streams in higher bitrates and other circumstances. Let's just forward byte-stream as generated by the encoder and let h264parse handle conversion to avc if needed. That way we only have to keep around one version of the conversion and don't have to fix it in multiple places. 2016-06-29 18:36:56 +0200 Edward Hervey * gst/videoparsers/gsth264parse.c: h264parse: Drop filler data When skipping data, check if they are filler bytes. If so, drop the data instead of skipping. We don't want to output filler bytes, but they shouldn't cause a discontinuity. https://bugzilla.gnome.org/show_bug.cgi?id=768125 2016-06-30 08:31:20 +0200 Sebastian Dröge * sys/dvb/dvbbasebin.c: dvbbasebin: Use a non-timer GstPoll set_flushing() causes inconsistent states on timer polls and also signals a g_critical() nowadays because of that. 2016-06-30 14:04:36 +1000 Matthew Waters * gst-libs/gst/gl/gstglupload.c: glupload: fix raw data uploader with addition of GstVideoGLTextureType Fixes regression from 989200820d43c78fb179d7984827800d83787390 https://bugzilla.gnome.org/show_bug.cgi?id=768217 2016-06-29 23:55:18 -0400 Olivier Crête * gst-libs/gst/gl/gstglcolorconvert.c: glvideoconvert: RG/LA is available in OpenGL ES 3, so let that through 2016-06-29 18:35:17 +1000 Matthew Waters * sys/applemedia/videotexturecache.m: vtdec: use L/LA textures on GLES2 as well 2016-06-24 13:41:11 +1000 Matthew Waters * gst-libs/gst/gl/eagl/gstglcontext_eagl.m: Revert "Revert "gl/eagl: try getting a gles3 context"" This reverts commit eb142736318463e6e553c21707ba0d716f85a46f. vtdec now successfully outputs textures that can be converted by glcolorconvert in GLES3 contexts. 2016-06-25 00:05:37 +1000 Matthew Waters * sys/applemedia/videotexturecache.m: vtdec: add support for zerocopy decoding with GLES 3.x It seems that Red/RG textures aren't supported anymore for zerocopy decoding with GLES 3.x. Instead use Luminance/Luminance Alpha textures which are. 2016-06-28 13:51:22 +1000 Matthew Waters * ext/gl/gstgloverlay.c: * gst-libs/gst/gl/egl/gstglmemoryegl.c: * gst-libs/gst/gl/gstglbufferpool.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstglmemorypbo.c: * gst-libs/gst/gl/gstgloverlaycompositor.c: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglviewconvert.c: * sys/androidmedia/gstamcvideodec.c: * sys/applemedia/iosurfacememory.c: * sys/applemedia/iosurfacememory.h: * sys/applemedia/videotexturecache.m: * tests/check/libs/gstglcolorconvert.c: * tests/check/libs/gstglcontext.c: * tests/check/libs/gstglmemory.c: * tests/check/libs/gstglupload.c: glmemory: add the texture type to allocate to parameters Rather than assuming something. e.g. zerocopy on iOS with GLES3 requires the use of Luminance/Luminance Alpha formats and does not work with Red/RG textures. 2016-06-28 13:09:51 +1000 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: don't assume Red/RG textures will be used Take the used texture type from the memory instead. Fixes conversion from multi-planar YUV formats with two components per plane (NV12, NV21, YUY2, UYVY, GRAY16_*, etc) with Luminance Alpha input textures. This is also needed for zerocopy decoding on iOS with GLES 3.x. 2016-06-28 13:02:32 +1000 Matthew Waters * gst-libs/gst/gl/gstglcontext.c: glcontext: correct precondition for get_gl_version The intention was to assert if both maj and min were NULL (as there would be no point calling the function). Instead if either maj or min were NULL, the assert would occur. Fix that. 2016-06-28 19:26:29 +0300 Sebastian Dröge * sys/d3dvideosink/d3dhelpers.c: * sys/d3dvideosink/d3dvideosink.c: d3dvideosink: Replace some more gst_caps_to_string() with GST_PTR_FORMAT https://bugzilla.gnome.org/show_bug.cgi?id=768146 2016-06-28 11:50:59 -0400 Jonathan Roy * sys/d3dvideosink/d3dvideosink.c: d3dvideosink: leak on caps string https://bugzilla.gnome.org/show_bug.cgi?id=768146 2016-06-28 11:08:22 +0100 Luis de Bethencourt * gst-libs/gst/codecparsers/gstjpeg2000sampling.c: jpeg2000parse: fix typo in sampling check Fixing small typo that changes the value of the return. 2016-06-27 21:36:50 -0400 Olivier Crête * tests/check/Makefile.am: tests: Ignore kmssink for state change test It can only be put to READY if the DRM stuff is available. 2016-06-27 18:15:08 +0800 Haihua Hu * configure.ac: * ext/qt/qtitem.cc: qmlglsink: Fix build error when don't have QPA installed. Check header file existance and wrap the header file include in the necessary #ifdef to avoid build error. https://bugzilla.gnome.org/show_bug.cgi?id=767553 2016-06-24 18:14:06 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/dvbbasebin.c: dvbbasebin: make sure we have an error in case of parsing failure Drop a redundant comment and rellocate another one while at it. 2016-06-22 16:14:33 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: implement channels.conf format autodetection Simple autodetection avoids having to call the parsers one after the other. 2016-06-21 16:08:57 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: rename v5/zap parsers for congruency Add function prototypes while at it. 2016-04-12 21:04:25 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: fix modulation names Some names were incorrect. Authoritative source for the dvbv5 format taken from v4l-utils' lib/libdvbv5/dvb-v5.c Aditionally, add the missing setter mapping for the modulation param. This change makes ATSC work. https://bugzilla.gnome.org/show_bug.cgi?id=764957 2016-02-24 21:44:40 -0300 Thiago Santos * sys/dvb/parsechannels.c: dvbbasebin: also accept DVBv5 channels.conf format Confirmed working with ISDB-T & ATSC conf files. https://bugzilla.gnome.org/show_bug.cgi?id=764957 2016-06-21 11:48:36 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: fix ISDB-T property descriptions Drop some stale trailing whitespace while at it. 2016-06-21 11:32:07 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: fix misplaced space on doc block 2016-05-10 03:32:59 +1000 Jan Schmidt * gst/videoparsers/gsth264parse.c: * gst/videoparsers/gsth264parse.h: h264parse: When input alignment=AU, always drain each packet. If the input alignment claims AU alignment, each received buffer should contain a complete video frame, so never hold over parts of buffers for later processing. Also reduces latency, as packets are parsed/converted and output immediately instead of 1 buffer later. Fixes a problem where an (arguably disallowed) padding byte on the end of a buffer is detected as an extra byte in the following start code, and messes up the timestamping that should apply to that start code. 2016-06-24 13:05:24 +0100 Tim-Philipp Müller * win32/common/libgstcodecparsers.def: win32: update codecparsers .def file for new symbols 2016-06-24 09:41:18 +0100 Tim-Philipp Müller * ext/openjpeg/Makefile.am: * ext/openjpeg/gstopenjpegdec.h: * ext/openjpeg/gstopenjpegenc.c: openjpeg: fix more broken includes 2016-06-24 09:39:00 +0100 Tim-Philipp Müller * gst/videoparsers/gstjpeg2000parse.h: videoparsers: fix broken include 2016-06-21 12:41:46 -0400 Aaron Boxer * ext/openjpeg/Makefile.am: * ext/openjpeg/gstopenjpegdec.c: * ext/openjpeg/gstopenjpegdec.h: * ext/openjpeg/gstopenjpegenc.c: * gst-libs/gst/codecparsers/Makefile.am: * gst-libs/gst/codecparsers/gstjpeg2000sampling.c: * gst-libs/gst/codecparsers/gstjpeg2000sampling.h: * gst/videoparsers/Makefile.am: * gst/videoparsers/gstjpeg2000parse.c: * gst/videoparsers/gstjpeg2000parse.h: * gst/videoparsers/gstjpeg2000sampling.h: jpeg2000parse: use enums for colorspace and sampling, rather than strings Also, move gstjpeg2000sampling to codecparsers project https://bugzilla.gnome.org/show_bug.cgi?id=767908 2016-06-24 01:57:13 +0530 Nirbheek Chauhan * configure.ac: configure: Need to add -DGST_STATIC_COMPILATION when building only statically https://bugzilla.gnome.org/show_bug.cgi?id=767463 2016-06-23 15:57:58 +0300 Sebastian Dröge * gst-libs/gst/gl/egl/gsteglimage.c: eglimage: Only register debug category if dmabuf support is enabled It's not used otherwise currently and causes compiler warnings. 2016-06-22 22:28:03 -0400 Nicolas Dufresne * ext/webrtcdsp/gstwebrtcdsp.cpp: webrtcdsp: Offset timestamp with duration The saved timestamp is used to compute the delay of the probe data. As it's used at the following incoming buffer, it needs to be offset with the duration of the buffer to represent the end position. Also, properly initialize the saved timestamp and protect against TIME_NONE. 2016-06-22 21:54:13 -0400 Nicolas Dufresne * ext/webrtcdsp/gstwebrtcdsp.cpp: webrtcdsp: Synchronize with delays Until now, we were synchronizing both DSP and Probe adapter by waiting and clipping the probe adapter data. This increases the CPU usage, can cause copies if the audio is not 10ms aligned and the worst is that it prevents the processing from compensating for inaccurate latency. This is also a step forward toward supporting playback filters. 2016-06-22 21:45:08 -0400 Nicolas Dufresne * ext/webrtcdsp/gstwebrtcdsp.cpp: webrtdsp: Remove restriction on channels number Unlike 0.1, in 0.2 the reverse stream can have different number of channels. Remove the check that restrict it. 2016-06-22 21:44:35 -0400 Nicolas Dufresne * ext/webrtcdsp/gstwebrtcdsp.cpp: webrtcdsp: Style fix 2016-06-16 14:18:18 +1000 Alessandro Decina * sys/applemedia/vtdec.c: vtdec: minimize renegotiation to make hw decoding more reliable The hardware decoder can become (temporarily) unavailable across VTDecompressionSessionCreate/Destroy calls. During negotiation if the currently configured caps are still accepted by downstream we keep using them so we don't have to destroy and recreate the decoding session. This indirectly fixes https://bugzilla.gnome.org/show_bug.cgi?id=767429, by making vtdec stick to GLMemory. 2016-06-16 15:13:02 +1000 Matthew Waters * ext/qt/qtitem.cc: * ext/qt/qtplugin.pro: qmlglsink: add win32 support The current state of c++ ABI's on Window's and Gst's/Qt's conflicting mingw builds means that we cannot use mingw for building the qt plugin. Instead, a qmake .pro file is provided that is expected to be used with the msvc binaries provided by Qt like so: (with the PATH environment variable containing the path to the qt biniaries and PKG_CONFIG_PATH containing the path to GStreamer modules) cd /path/to/sources/gst-plugins-bad/ext/qt qmake -tp vc Then open the resulting VS project and build the library. Then cp debug/libgstqtsink.dll /path/to/prefix/lib/gstreamer-1.0/libgstqtsink.cll https://bugzilla.gnome.org/show_bug.cgi?id=761260 2016-06-21 11:40:22 -0400 Nicolas Dufresne * .gitignore: Add missing file to gitignore 2016-06-20 18:52:00 -0400 Nicolas Dufresne * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/inspect/plugin-androidcamera.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiofxbad.xml: * docs/plugins/inspect/plugin-bluez.xml: * docs/plugins/inspect/plugin-bs2b.xml: * docs/plugins/inspect/plugin-compositor.xml: * docs/plugins/inspect/plugin-dashdemux.xml: * docs/plugins/inspect/plugin-decklink.xml: * docs/plugins/inspect/plugin-dtls.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-fbdevsink.xml: * docs/plugins/inspect/plugin-fluidsynthmidi.xml: * docs/plugins/inspect/plugin-freeverb.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gstgtk.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-ivfparse.xml: * docs/plugins/inspect/plugin-ivtc.xml: * docs/plugins/inspect/plugin-jp2kdecimator.xml: * docs/plugins/inspect/plugin-kate.xml: * docs/plugins/inspect/plugin-kms.xml: * docs/plugins/inspect/plugin-ladspa.xml: * docs/plugins/inspect/plugin-midi.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mxf.xml: * docs/plugins/inspect/plugin-netsim.xml: * docs/plugins/inspect/plugin-openexr.xml: * docs/plugins/inspect/plugin-opengl.xml: * docs/plugins/inspect/plugin-openjpeg.xml: * docs/plugins/inspect/plugin-opusparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-qt.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rsvg.xml: * docs/plugins/inspect/plugin-rtponvif.xml: * docs/plugins/inspect/plugin-smoothstreaming.xml: * docs/plugins/inspect/plugin-sndfile.xml: * docs/plugins/inspect/plugin-srtp.xml: * docs/plugins/inspect/plugin-stereo.xml: * docs/plugins/inspect/plugin-teletext.xml: * docs/plugins/inspect/plugin-uvch264.xml: * docs/plugins/inspect/plugin-vcdsrc.xml: * docs/plugins/inspect/plugin-vdpau.xml: * docs/plugins/inspect/plugin-videofiltersbad.xml: * docs/plugins/inspect/plugin-videoframe_audiolevel.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-videosignal.xml: * docs/plugins/inspect/plugin-vmnc.xml: * docs/plugins/inspect/plugin-webp.xml: * docs/plugins/inspect/plugin-webrtcdsp.xml: * docs/plugins/inspect/plugin-wildmidi.xml: * docs/plugins/inspect/plugin-x265.xml: * docs/plugins/inspect/plugin-yadif.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst/pnm/gstpnmenc.c: doc: Automatic update This is an automatic update with manual merges of running "make update" in the doc/plugins directory. This should help later maintenance of the plugins doc. A lot of plugin are not referenced yet in the doc. Will come later. 2016-06-20 16:30:19 -0400 Nicolas Dufresne * docs/plugins/Makefile.am: doc: Add .cpp files to doc parser Also, complete the list of directory that need to be visited. 2016-06-06 15:10:05 -0400 Nicolas Dufresne * configure.ac: * ext/Makefile.am: * ext/webrtcdsp/Makefile.am: * ext/webrtcdsp/gstwebrtcdsp.cpp: * ext/webrtcdsp/gstwebrtcdsp.h: * ext/webrtcdsp/gstwebrtcechoprobe.cpp: * ext/webrtcdsp/gstwebrtcechoprobe.h: webrtcdsp: Add WebRTC Audio Processing support This DSP library can be used to enhance voice signal for real time communication call. In implements multiple filters like noise reduction, high pass filter, echo cancellation, automatic gain control, etc. The webrtcdsp element can be used along, or with the help of the webrtcechoprobe if echo cancellation is enabled. The echo probe should be placed as close as possible to the audio sink, while the DSP is generally place close to the audio capture. For local testing, one can use an echo loop pipeline like the following: autoaudiosrc ! webrtcdsp ! webrtcechoprobe ! autoaudiosink This pipeline should produce a single echo rather then repeated echo. Those elements works if they are placed in the same top level pipeline. https://bugzilla.gnome.org/show_bug.cgi?id=767800 2016-06-21 11:46:44 -0400 Nicolas Dufresne * common: Automatic update of common submodule From ac2f647 to f363b32 2016-03-22 16:51:53 +0800 Wang Xin-yu (王昕宇) * gst-libs/gst/gl/win32/gstglcontext_wgl.c: glcontext/wgl: try wglCreateContextAttribsARB even not gl3 core profile https://bugzilla.gnome.org/show_bug.cgi?id=764018 2016-06-21 18:28:46 +1000 Matthew Waters * gst-libs/gst/gl/gstglcontext.c: glcontext: fix get_current_gl_api() on win32 Another case of incorrect calling conventions. Using this function on win32 would corrupt the stack pointer and end in massive hilarity. 2016-06-15 12:47:05 +1000 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglsl.c: * gst-libs/gst/gl/gstglsl_private.h: * gst-libs/gst/gl/gstglviewconvert.c: glsl: fixup external-oes shaders by mangling the required extension Newer devices require using a different GLSL extension for accessing external-oes textures in a shader using the texture() functions. While the GL_OES_EGL_image_external_essl3 should supposedly be supported on a any GLES3 android device, the extension was defined after a lot of the older drivers were built so they will not know about it. Thus there are two possible interpretations of which of texture[2D]() should be supported for external-oes textures. Strict adherence to the GL_OES_EGL_image_external extension spec which uses texture2D() or following GLES3's pattern, also allowing texture() as a function for accessing external-oes textures This adds another mangling pass to convert #extension GL_OES_EGL_image_external : ... into #extension GL_OES_EGL_image_external_essl3 : ... on GLES3 and when the GL_OES_EGL_image_external_essl3 extension is supported. Only uses texture() when the GLES3 and the GL_OES_EGL_image_external_essl3 extension is supported for external-oes textures. Uses GLES2 + texture2D() + GL_OES_EGL_image_external in all other external-oes cases. https://bugzilla.gnome.org/show_bug.cgi?id=766993 2016-05-24 16:26:24 +0530 Nirbheek Chauhan * sys/winks/ksdeviceprovider.c: * sys/winks/kshelpers.c: * sys/winks/kshelpers.h: winks: Port to MSVC and pretend to be Windows XP strcasecmp is not defined on MSVC, so just use the glib wrapper. Also pretend to be Windows XP explicitly since the API we use was deprecated and removed (ifdef-ed) from the SDK after this version of Windows. This will be especially relevant once we stop supporting Windows XP soon: https://bugzilla.gnome.org/show_bug.cgi?id=756866 2016-03-02 02:17:54 +0530 Nirbheek Chauhan * win32/common/libgstadaptivedemux.def: * win32/common/libgstbadaudio.def: * win32/common/libgstbadbase.def: * win32/common/libgstbadvideo.def: * win32/common/libgstbasecamerabinsrc.def: * win32/common/libgstinsertbin.def: * win32/common/libgstmpegts.def: * win32/common/libgsturidownloader.def: win32: Add missing def files for libraries 2016-03-02 00:55:15 +0530 Nirbheek Chauhan * gst/audiovisualizers/gstspacescope.c: * gst/audiovisualizers/gstspectrascope.c: * gst/audiovisualizers/gstsynaescope.c: * gst/audiovisualizers/gstwavescope.c: build: Factor out endian-order RGB formats MSVC seems to ignore preprocessor conditionals inside static pad templates 2016-06-13 22:29:39 -0400 Aaron Boxer * ext/openjpeg/gstopenjpegdec.c: * ext/openjpeg/gstopenjpegdec.h: openjpegdec: use sampling field to determine RGB channel https://bugzilla.gnome.org/show_bug.cgi?id=767402 2016-06-02 13:53:38 +0200 Guillaume Desmottes * tests/check/elements/templatematch.c: templatematch: fix buffer leak in test Need to call gst_check_drop_buffers() to unref the buffers exchanged during the test. https://bugzilla.gnome.org/show_bug.cgi?id=767159 2016-05-19 13:31:56 +0300 Guillaume Desmottes * tests/check/elements/glimagesink.c: glimagesink: fix query leak in test https://bugzilla.gnome.org/show_bug.cgi?id=766663 2016-05-19 13:29:15 +0300 Guillaume Desmottes * tests/check/elements/glimagesink.c: glimagesink: properly setup/teardown tests tcase_add_checked_fixture() is suppose to call the setup and teardown functions so the tests don't have to do it manually. https://bugzilla.gnome.org/show_bug.cgi?id=766663 2016-05-19 13:09:41 +0300 Guillaume Desmottes * tests/check/libs/gstglupload.c: glupload: fix shader leak in test https://bugzilla.gnome.org/show_bug.cgi?id=766663 2016-05-19 12:51:17 +0300 Guillaume Desmottes * tests/check/elements/uvch264demux.c: uvch264demux: fix buffer leaks in test The mock chain functions aren't unreffing the buffers so the caller should do it. https://bugzilla.gnome.org/show_bug.cgi?id=766663 2016-05-19 12:36:42 +0300 Guillaume Desmottes * tests/check/elements/camerabin.c: camerabin: fix element leak in test https://bugzilla.gnome.org/show_bug.cgi?id=766663 2016-05-19 11:19:57 +0300 Guillaume Desmottes * tests/check/elements/autoconvert.c: fix buffer leaks in tests gst_check_drop_buffers() release the buffers exchanged during the test. https://bugzilla.gnome.org/show_bug.cgi?id=766663 2016-05-19 11:19:20 +0300 Guillaume Desmottes * tests/check/elements/audiomixer.c: * tests/check/elements/compositor.c: fix event leaks in tests The events are supposed to be unreffed when finishing the test, not reffed. https://bugzilla.gnome.org/show_bug.cgi?id=766663 2016-05-19 11:19:01 +0300 Guillaume Desmottes * tests/check/elements/audiointerleave.c: audiointerleave: fix message leaks by flushing the bus https://bugzilla.gnome.org/show_bug.cgi?id=766663 2016-05-19 11:16:37 +0300 Guillaume Desmottes * gst-libs/gst/audio/gstaudioaggregator.c: audioaggregator: fix buffer leak If the pad was still owning a buffer when being destroyed it was leaked. Fix a leak with the test_flush_start_flush_stop test. https://bugzilla.gnome.org/show_bug.cgi?id=766663 2016-05-18 16:58:44 +0300 Guillaume Desmottes * tests/check/elements/autoconvert.c: autoconvert: fix factories leak in test The factories returned by gst_registry_find_feature() have to be unreffed. https://bugzilla.gnome.org/show_bug.cgi?id=766663 2016-06-17 14:58:44 +0200 Michael Olbrich * gst-libs/gst/codecparsers/gsth264parser.c: h264parse: fix default time_offset_length The default value for time_offset_length should be 24, see section E2.2 of the H264 spec. https://bugzilla.gnome.org/show_bug.cgi?id=767792 2016-06-17 14:31:42 +0200 Joan Pau Beltran * ext/dc1394/gstdc1394src.c: dc1394src: check for disabled transmission in _stop_cam For symetry with _start_cam, check that the transmission is effectively disabled in _stop_cam. https://bugzilla.gnome.org/show_bug.cgi?id=763026 2016-06-17 15:32:08 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: do not rely on temp var for fail detection Use errno instead as local var might be overwritten before the check. 2016-06-14 15:29:08 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: rework set_pids() - Reflow to avoid unneeded nesting - Free aux pids array earlier - Adjust debug output to deliver more meaningful information 2016-06-14 14:24:35 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: drop pointless debug msg 2016-06-09 16:05:39 -0700 Reynaldo H. Verdejo Pinochet * gst-libs/gst/codecparsers/gsth264parser.h: * gst-libs/gst/codecparsers/gsth265parser.h: * gst-libs/gst/codecparsers/gstmpeg4parser.c: * gst-libs/gst/codecparsers/gstmpegvideoparser.c: * gst-libs/gst/codecparsers/gstmpegvideoparser.h: * gst-libs/gst/codecparsers/gstvc1parser.c: codecparsers: drop all otherwizes 2016-06-12 13:53:18 -0400 Aaron Boxer * gst/videoparsers/gstjpeg2000parse.c: * gst/videoparsers/gstjpeg2000parse.h: jpeg2000parse: support j2c format https://bugzilla.gnome.org/show_bug.cgi?id=767512 2016-06-16 01:54:16 +1000 Matthew Waters * tests/check/Makefile.am: tests/glcontext: link against gstvideo for gst_video_info_* fixes make distcheck complaining about it. 2016-04-14 18:14:32 +0300 Sergey Borovkov * configure.ac: * ext/qt/qtitem.cc: * gst-libs/gst/gl/egl/gstegl.h: qml: Enable qmlglsink for eglfs https://bugzilla.gnome.org/show_bug.cgi?id=763044 2016-06-16 00:44:48 +1000 Matthew Waters * ext/qt/qtitem.cc: qmlglsink: propagate GL context creation failure upwards Otherwise an application cannot know if the qmlglsink will be displaying frames incorrectly/at all. 2016-06-16 00:44:16 +1000 Matthew Waters * ext/qt/qtitem.cc: qmlglsink: also allow wayland-egl as a platform name 2016-06-12 15:35:28 +0800 Haihua Hu * configure.ac: * ext/qt/Makefile.am: * ext/qt/qtitem.cc: qmlglsink: Add Wayland support Don't use gstgldisplay to get wayland display. Should use QPA on wayland to get wayland display for QT. https://bugzilla.gnome.org/show_bug.cgi?id=767553 2016-06-16 00:46:57 +1000 Matthew Waters * tests/check/libs/gstglcontext.c: tests/glcontext: update test for gen,del_texture removal 2016-06-14 22:12:18 +0200 Stefan Sauer * ext/ladspa/gstladspa.c: ladspa: simplify registry cache structure creation Create and fill structure in one go. 2016-06-14 13:48:09 +0800 Haihua Hu * ext/gl/effects/gstgleffectssources.c: gleffects: fix little rectangle that appears at the center of squeeze and tunnel effects These two shader will calculate the vector length and use it as denominator. But length could be zero which will cause undefine behaviour. Add protection for this condition https://bugzilla.gnome.org/show_bug.cgi?id=767635 2016-06-15 18:10:59 +1000 Matthew Waters * gst-libs/gst/gl/gstglsl.c: glsl: add some debugging 2016-06-15 16:08:57 +1000 Matthew Waters * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: glutils: remove unused functions for texture creation/deletion Everyone uses GstGLMemory now and any future code should as well. 2016-06-15 15:47:47 +1000 Matthew Waters * gst-libs/gst/gl/gstglfilter.h: glfilter: remove unused class fields in/out_tex_id The functionality is not used by any subclass nor are the values set anywhere. 2016-06-15 15:08:39 +1000 Matthew Waters * ext/gl/gstgldeinterlace.c: gldeinterlace: remove dead code accessing filter->in_tex_id It's not set by anyone or anything and gldeinterlace is the only user of it now. 2016-06-15 14:40:40 +1000 Matthew Waters * gst-libs/gst/gl/gstglupload.c: gl/upload/meta: remove unneeded texture deletion The textures are managed by the GstGLMemory inside the output buffer. Freeing them prematurely may result in a use-after-free. 2016-05-30 14:10:23 +0200 Aleix Conchillo Flaqué * ext/srtp/gstsrtpenc.c: * ext/srtp/gstsrtpenc.h: srtpenc: remove get-rollover-counter signal and add stats property We remove get-rollover-counter signal in favor of the "stats" property. The "stats" property is a GstStructure with caps application/x-srtp-encoder-stats that contains an array of structures with caps application/x-srtp-stream. Each stream structure contains "ssrc" and "roc" fields. https://bugzilla.gnome.org/show_bug.cgi?id=733265 2016-05-25 12:55:36 +0200 Mats Lindestam * gst/videoparsers/gsth264parse.c: h264parse: support for handling of config-interval = -1 Added support for handling of config-interval = -1. config-inteval = -1 represents resending SPS and PPS for each I-/IDR-frame. https://bugzilla.gnome.org/show_bug.cgi?id=766803 2016-05-25 12:45:17 +0200 Mats Lindestam * gst/videoparsers/gsth264parse.c: h264parse: refactored handling of SPS/PPS when pushing frames https://bugzilla.gnome.org/show_bug.cgi?id=766803 2016-05-25 11:54:55 +0200 Mats Lindestam * gst/videoparsers/gsth264parse.c: * gst/videoparsers/gsth264parse.h: h264parse: change "config-interval" property type from uint to int So we can use -1 as special value like in rtph264pay. https://bugzilla.gnome.org/show_bug.cgi?id=766803 2016-06-13 09:20:22 +0300 Sebastian Dröge * sys/applemedia/avfassetsrc.m: avfassetsrc: Don't escape the URI before passing it to NSURL The URI must already be escaped by the caller, we don't support passing around invalid (unescaped) URIs via the GstURIHandler interface. Also it will escape too much of the URI in this case, e.g. ipod-library://item/item.m4a?id=3143338395173862951 becomes ipod-library://item/item.m4a%3Fid%3D3143338395173862951 https://bugzilla.gnome.org/show_bug.cgi?id=767492 2016-06-13 09:20:02 +0300 Sebastian Dröge * sys/applemedia/iosassetsrc.m: iosassetsrc: Print the correct URI if it was rejected We were printing the previously set URI instead of the new one. 2016-06-09 01:20:36 +0200 Sebastian Rasmussen * ext/curl/gstcurlsmtpsink.c: curlsmtpsink: Lock and don't send final boundary upon error Previously GstCurlSmtpSink could cause the pipeline thread to end up waiting for a stopped thread to perform work. The scenario was that the sink could be rendering a buffer and waiting for the curl transfer thread to have sent the data. As soon as the transfer thread has copied all data to curl's data buffer in gst_curl_base_sink_transfer_read_cb() then the render call would stop waiting and return GST_FLOW_OK. While this takes place the transfer thread may suffer from an error e.g. due gst_poll_wait() timing out. This causes the transfer thread to record the error, claim (it is not really true since there was an error) that the data has been sent and that a response has been received by trying to signal the pipeline thread (but this has already stopped waiting). Finally the transfer thread stops itself. A short while later the pipeline thread may attempt to push an EOS event into GstCurlSmtpSink. Since there is no check in gst_curl_smtp_sink_event() to check if the sink has suffered from any error it may attempt to add a final boundary and ask the, now deceased, transfer thread to transfer the new data. Next the sink element would have waited for the transfer to complete (using a different mechanism than normal transfers through GstCurlBaseSink). In this case there was an error check to avoid waiting if an error had already been seen. Finally GstCurlSmtpSink would chain up to GstCurlBaseSink which would then block waiting for a response (normally this would be prevented by the transfer thread suffering the error claiming that it had been received, but GstCurlSmtpSink clobbered this flag after the fact). Now GstCurlSmtpSink avoids this by locking over the entire event handing (preventing simultaneous changes to flags by the two threads) and also by avoiding to initiate transfer of final boundary if an error has already been seen. Also add GST_FIXME() for remaining similar issue where the pipeline thread may block indefinitely waiting for transfer thread to transfer data but the transfer thread errors out and fails to notify the pipeline thread that the transfer failed. https://bugzilla.gnome.org/show_bug.cgi?id=767501 2016-06-08 11:32:28 -0400 Aaron Boxer * gst/videoparsers/gstjpeg2000parse.c: * gst/videoparsers/gstjpeg2000parse.h: * gst/videoparsers/gstjpeg2000sampling.h: jpeg2000parse: Require either colorspace or sampling field in sink caps And always set the sampling field on the src caps, if necessary guessing a correct value for it from the colorspace field. Also, did some cleanup: removed sampling enum - redundant. https://bugzilla.gnome.org/show_bug.cgi?id=766236 2016-06-10 11:32:46 +0300 Heinrich Fink * ext/opencv/gstfacedetect.cpp: facedetect: Fix compiler warning with clang 3.8 Use namespace only after it was actually defined by a header. gstfacedetect.cpp:79:17: error: using directive refers to implicitly-defined namespace 'std' [-Werror] using namespace std; ^ 2016-06-06 16:35:15 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: unify exit paths on _start() 2016-06-06 15:31:31 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: use proper acronym for PID (Packet Identifier) Drop formatting tab from message while at it. 2016-06-06 12:25:22 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: set common PES filter params once and reuse Avoid setting the same harcoded values over and over again. 2016-06-09 22:01:45 +0100 Tim-Philipp Müller * ext/dc1394/gstdc1394src.c: dc1394src: minor clean-up We always call _parse_caps() with non-NULL out vars. 2016-06-09 22:01:13 +0100 Tim-Philipp Müller * ext/dc1394/gstdc1394src.c: dc1394src: fix some more c99-isms 2016-06-09 21:47:05 +0100 Tim-Philipp Müller * docs/plugins/Makefile.am: docs: fix for renamed dc1394 source file https://bugzilla.gnome.org/show_bug.cgi?id=763026 2016-06-07 15:50:50 +0200 Joan Pau Beltran * ext/dc1394/Makefile.am: * ext/dc1394/gstdc1394src.c: * ext/dc1394/gstdc1394src.h: dc1394src: prefix and file names according to Gstreamer conventions Replace the type and function prefix to follow the conventions: - Use `GST_TYPE_DC1394_SRC` instead of `GST_TYPE_DC1394`. - Use `GstDC1394Src` and `GstDC1394SrcClass` instead of `GstDc1394` and `GstDc1394Class`. - Use `gst_dc1394_src` instead of `gst_dc1394`. https://bugzilla.gnome.org/show_bug.cgi?id=763026 2016-05-10 18:30:35 +0200 Joan Pau Beltran * configure.ac: * ext/dc1394/Makefile.am: * ext/dc1394/gstdc1394.c: * ext/dc1394/gstdc1394.h: dc1394src: port to 1.X The dc1394src is a PushSrc element for IIDC cameras based on libdc1394. The implementation from the 0.x series is deffective: caps negotiation does not work, and some video formats provided by the camera are not supported. Refactor the code to port it to 1.X and enhance the support for the full set of video options of IIDC cameras: - The IIDC specification includes a set of camera video modes (video format, frame size, and frame rates). They do not map perfectly to Gstreamer formats, but those that do not match are very rare (if used at all by any camera). In addition, although the specification includes a raw format, some cameras use mono video formats to capture in Bayer format. Map corresponding video modes to Gstreamer formats in capabilities, allowing both gray raw and Bayer video formats for mono video modes. - The specification includes scalable video modes (Format7), where the frame size and rate can be set to arbitrary values (within the limits of the camera and the bus transport). Allow the use of such mode, using the frame size and rate from the negotiatied caps, and set the camera frame rate adjusting the packet size as in: The scalable modes also allow for a custom ROI offset. Support for it can be easily added later using properties. - Camera operation using libdc1394 is as follows: 1. Enumerate cameras on the system and open the camera identified the enumeration index or by a GUID (64bit hex code). 2. Query the video formats supported by the camera. 3. Configure the camera for the desired video format. 4. Setup the capture resources for the configured video format and start the camera transmission. 5. Capture frames from the camera and release them when not used. 6. Stop the camera transmission and clear the capture resources. 7. Close the camera freeing its resources. Do steps 2 and 3 when getting and setting the caps respectively. Ideally 4 and 6 would be done when going from PAUSED to PLAYING and viceversa, but since caps might not be set yet, the video mode is not properly configured leaving the camera in a broken state. Hence, setup capture and start transmission in the set caps method, and consequently clear the capture and stop the transmission when going from PAUSED to READY (instead of PLAYING to PAUSED). Symmetrycally, open the camera when going from READY to PAUSED, allowing to probe the camera caps in the negotiation stage. Implement that using the `start` and `stop` methods of `GstBaseSrc`, instead of the `change-state` method of `GstElement`. Stop the camera before setting new caps and restarting it again to handle caps reconfiguration while in PLAYING (it has no effect if the camera is not started). - Create buffers copying the bytes of the captured frames. Alternatively, the buffers could just wrap the bytes of the frames, releasing the frame in the buffer's destroy notify function, if all buffers were destroyed before going from PLAYING to PAUSED. - No timestamp nor offset is set when creating buffers. Timestamping is delegated to the parent class BaseSrc, setting `gst_base_src_set_live` TRUE, `gst_base_src_set_format` with GST_FORMAT_TIME and `gst_base_src_set_do_timestamp`. Captured frames have a timestamp field with the system time at the completion of the transmission of the frame, but it is not sure that this comes from a monotonic clock, and it seems to be left NULL in Windows. - Use GUID and unit properties to select the camera to operate on. The camera number used in version 0.X does not uniquely identify the device (it depends on the set of cameras currently detected). Since the GUID is 64bit identifier (same as MAC address), handle it with a string property with its hexadecimal representation. For practicality, operate on the first camera available if the GUID is null (default) and match any camera unit number if unit is -1. Alternatively, the GUID could be handed with an unsigned 64 bit integer type property, using `0xffffffffffffffff` as default value to select the first camera available (it is not a valid GUID value). - Keep name `GstDc1394` and prefix `gst_dc1394` as in version 0.X, although `GstDC1394Src` and `gst_dc1394_src` are more descriptive. - Adjust build files to reenable the compilation of the plugin. Remove dc1394 from the list of unported plugins in configure.ac. Add the missing flags and libraries to Makefile. Use `$()` for variable substitution, as many plugins do, although other plugins use `@@` instead. https://bugzilla.gnome.org/show_bug.cgi?id=763026 2016-06-08 18:02:32 +0200 Edward Hervey * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Move SEEK handling to a separate function Just for code readability. Doesn't change behaviour 2016-06-07 21:10:04 -0400 Nicolas Dufresne * ext/webp/gstwebpdec.c: webpdec: Wait for segment event before checking it The heuristic to choose between packetise or not was changed to use the segment format. The problem is that this change is reading the segment during the caps event handling. The segment event will only be sent after. That prevented the decoder to go in packetize mode, and avoid useless parsing. https://bugzilla.gnome.org/show_bug.cgi?id=736252 2016-06-07 21:04:21 -0400 Nicolas Dufresne * gst/vmnc/vmncdec.c: vmncdec: Wait for segment event before checking it The heuristic to choose between packetise or not was changed to use the segment format. The problem is that this change is reading the segment during the caps event handling. The segment event will only be sent after. That prevented the decoder to go in packetize mode, and avoid useless parsing. https://bugzilla.gnome.org/show_bug.cgi?id=736252 2016-06-07 14:15:41 +0100 Tim-Philipp Müller * ext/openjpeg/gstopenjpegenc.c: openjpeg: fix builddir != srcdir build, and distcheck 2016-06-01 19:02:33 -0400 Aaron Boxer * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/inspect/plugin-videoparsersbad.xml: * gst/videoparsers/Makefile.am: * gst/videoparsers/gstjpeg2000parse.c: * gst/videoparsers/gstjpeg2000parse.h: * gst/videoparsers/gstjpeg2000sampling.h: * gst/videoparsers/plugin.c: jpeg2000parse: Add JPEG2000 parser element https://bugzilla.gnome.org/show_bug.cgi?id=766236 2016-06-01 19:01:44 -0400 Aaron Boxer * ext/openjpeg/gstopenjpegenc.c: * gst/videoparsers/Makefile.am: * gst/videoparsers/gstjpeg2000sampling.h: openjpeg: set sampling in the caps https://bugzilla.gnome.org/show_bug.cgi?id=766236 2016-05-02 17:38:50 +0200 Jan Alexander Steffens (heftig) * gst/mpegtsmux/mpegtsmux.c: mpegtsmux: Set PTS on aligned buffers This was broken in 09c05df (make "alignment" property more useful for packetisation). https://bugzilla.gnome.org/show_bug.cgi?id=765926 2016-06-07 17:22:01 +1000 Alessandro Decina * sys/applemedia/vtdec.c: vtdec: always drain in ::negotiate Move calling gst_vtdec_push_frames_if_needed from ::set_format to ::negotiate so that we always drain even when renegotiation is triggered by downstream. 2016-06-07 16:00:01 +1000 Alessandro Decina * sys/applemedia/vtdec.c: vtdec: try to preserve downstream caps order vtdec specifies sysmem; GLMemory as template caps. When negotiating, we used to call gst_pad_peer_query_caps (..., filter) with our template caps as filter. The query does gst_caps_intersect (filter, peercaps) internally which gives precedence to the order of the filter caps. While we want to output sysmem by default, when negotiating with glimagesink which returns GLMemory; sysmem; we do want to do GL, so we now query using a NULL filter and intersect the result with our template caps giving precedence to downstream's caps. tl;dr: make sure we end up negotiating GLMemory with glimagesink 2016-06-06 14:08:43 -0400 Xavier Claessens * sys/androidmedia/gstahcsrc.c: ahcsrc: Avoid a div by 0 warning https://bugzilla.gnome.org/show_bug.cgi?id=767302 2016-06-06 12:38:45 -0400 Xavier Claessens * sys/androidmedia/gstamcvideoenc.c: amcvideoenc: Do not call gst_object_unref on GstCaps https://bugzilla.gnome.org/show_bug.cgi?id=767298 2016-05-19 11:16:50 +0200 Edward Hervey * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Set DISCONT on startup, resume and after seeks Initial buffers after STREAM_START and seeks should always have the DISCONT flag set. https://bugzilla.gnome.org/show_bug.cgi?id=766650 2015-09-23 02:51:57 +1000 Jan Schmidt * gst/mpegtsdemux/tsdemux.c: * gst/mpegtsdemux/tsdemux.h: tsdemux: Change the pad naming scheme to include a generation ID A simple fix for the problem of creating new pads with duplicate names when switching program, easier than the alternative of trying to work out which pads might persist and manage that. See https://bugzilla.gnome.org/show_bug.cgi?id=758454 2016-06-06 11:13:00 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: pause() should not inhibit signals but work exactly like play() https://bugzilla.gnome.org/show_bug.cgi?id=766607#c23 2016-06-03 15:58:52 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: improve description of PIDs property 2016-06-03 07:11:33 +0200 Edward Hervey * sys/applemedia/Makefile.am: applemedia: Only use the OpenGL framework on OSX It's not available on ios (uses OpenGLES already) https://bugzilla.gnome.org/show_bug.cgi?id=766973 2016-05-17 17:14:49 +0300 Guillaume Desmottes * gst-libs/gst/gl/egl/gstglmemoryegl.c: * gst-libs/gst/gl/gstglbuffer.c: * gst-libs/gst/gl/gstglmemorypbo.c: * gst-libs/gst/video/gstvideoaggregator.c: gst-libs: gl, video: use MAY_BE_LEAKED flag https://bugzilla.gnome.org/show_bug.cgi?id=767162 2016-05-18 12:48:48 +0300 Guillaume Desmottes * sys/bluez/gsta2dpsink.c: a2dpsink: unref avdtpsink if state transition failed If for some reason the avdtpsink element can't go READY then the gsta2dpsink can't either and so should release the ressources it allocates when trying to do so. Fix a leak with the generic/states test. https://bugzilla.gnome.org/show_bug.cgi?id=767161 2016-05-28 21:34:52 +0200 Havard Graff * sys/applemedia/Makefile.am: applemedia: CGLTexImageIOSurface2D needs the OpenGL framework on OSX https://bugzilla.gnome.org/show_bug.cgi?id=766973 2016-05-28 21:39:00 +0200 Havard Graff * sys/applemedia/avsamplevideosink.m: avsamplevideosink: check we are compiling for 10.1 up to 10.4 This API was deprecated in 10.4, so don't use it for 10.5 and onwards. https://bugzilla.gnome.org/show_bug.cgi?id=766973 2016-06-01 13:43:32 +0200 Heinrich Fink * sys/applemedia/vtenc.c: * sys/applemedia/vtenc.h: applemedia: vtenc: Register a hardware-only vtenc_h264_hw element on OSX Similar to vtdec_hw, this commit adds a vtenc_h264_hw element that fails caps negotiation unless a hardware encoder could actually be acquired. This is useful in situations where a fallback to a software encoder other than the vtenc_h264 software encoder is desired (e.g. to x264enc). https://bugzilla.gnome.org/show_bug.cgi?id=767104 2016-06-02 16:30:02 +1000 Alessandro Decina * sys/applemedia/vtdec.c: vtdec: make vtdec_hw fallback to software on renegotiation When renegotiating mid stream - for example with variable bitrate streams - and therefore destroying and recreating VTSessions, the hw decoder might become temporarily unavailable. To deal with this and avoid erroring out on bitrate changes, vtdec_hw now falls back to using the software decoder if the hw one was available at some point but isn't anymore. At renegotiation/bitrate change time, it will still retry to open the hardware one. 2016-06-02 13:10:51 +1000 Alessandro Decina * sys/applemedia/vtdec.c: vtdec: fix switching from GLMemory to Sysmem When renegotiating from GLMemory to Sysmem do teardown the texture_cache. Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=766190 2016-06-02 11:36:57 +1000 Alessandro Decina * sys/applemedia/vtdec.c: vtdec: optimize renegotiation ::negotiate can be called several times before the CAPS event is sent downstream so use the currently configured output state caps instead of the pad current caps when deciding whether to recreate the VTSession or not. This leads to creating/destroying less VTSessions which makes renegotiation more reliable especially when using hw decoding. 2016-06-01 13:52:10 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: remove comment on self-explanatory code 2016-06-01 13:18:21 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: avoid out-bound write on PID filter array There's no need for an end-of-list marker in the filter PIDs array if full, as the absolute maximum number of elements (MAX_FILTERS) is known. CID #1362441 2016-05-31 20:41:14 +0100 Tim-Philipp Müller * sys/androidmedia/gstahcsrc.c: androidmedia: fix error debug message when camera doesn't exist Makes no sense to include the system error here since errno will likely not be set and then it says 'system error: success' which is confusing. https://bugzilla.gnome.org/show_bug.cgi?id=767087 2016-05-31 18:58:43 +0900 Justin Kim * sys/androidmedia/gstahcsrc.c: ahcsrc: release resources in 'finalize' function In general, 'dispose' function is used for dropping all references and 'finalize' is called for releasing instances. https://bugzilla.gnome.org/show_bug.cgi?id=763309 2016-05-25 15:01:31 +0200 Guillaume Desmottes * gst-libs/gst/player/gstplayer.c: * tests/check/libs/player.c: player: inhibit signals after gst_player_stop() has been called Also wait for the state change to STOP to have been announced before destroying the player so it won't appear as leaked by leak detector tools. https://bugzilla.gnome.org/show_bug.cgi?id=766607 2016-05-25 12:48:13 +0200 Guillaume Desmottes * tests/check/libs/player.c: player: handle uri-loaded in test Had to adapt the existing tests because of this new callback. https://bugzilla.gnome.org/show_bug.cgi?id=766607 2016-05-25 16:57:49 -0700 Scott D Phillips * gst/videoparsers/gsth265parse.c: h265parse: Don't assume contiguous id's in make_codec_data vps/sps/pps id's are not required to be used contiguously. https://bugzilla.gnome.org/show_bug.cgi?id=766891 2016-05-28 01:22:32 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: add sample ATSC launch line 2016-05-28 21:36:04 +0200 Havard Graff * gst-libs/gst/gl/gstglquery.c: gl: glquery: cast to silence compiler warning https://bugzilla.gnome.org/show_bug.cgi?id=766973 2016-05-28 21:35:37 +0200 Havard Graff * ext/gl/gstgltestsrc.h: gltestsrc: gltestsrc.h already defines GstGLTestSrc And redefinition is not allowed. https://bugzilla.gnome.org/show_bug.cgi?id=766973 2016-05-27 23:24:54 +0200 Havard Graff * gst-libs/gst/player/gstplayer.c: player: use correct _NONE enum https://bugzilla.gnome.org/show_bug.cgi?id=766973 2016-05-28 10:44:04 +0100 Tim-Philipp Müller * gst-libs/gst/codecparsers/gsth264parser.c: * gst-libs/gst/codecparsers/gsth264parser.h: h264parser: maintain minimal ABI compat Because we can. https://bugzilla.gnome.org/show_bug.cgi?id=723352 2014-05-22 16:12:01 +0200 Sebastian Dröge * gst-libs/gst/codecparsers/gsth264parser.c: * gst-libs/gst/codecparsers/gsth264parser.h: h264parser: Remove unused fps_num/fps_den fields Instead the newly added function should be used to calculate the framerate properly. https://bugzilla.gnome.org/show_bug.cgi?id=723352 2016-05-25 10:59:00 +0100 Tim-Philipp Müller * ext/smoothstreaming/gstmssmanifest.c: smoothstreaming: update fps calculation for h264 codec parser API changes Use new gst_h264_video_calculate_framerate() API instead of fps_n/fps_d fields in SPS struct which are to be removed. Apparently H264 content in MSS is always non-interlaced/progressive, so we can just pass 0 for field_pic_flag and don't need to parse any slice headers first if there's no external signalling. But even if that's not the case the new code is not worse than the existing code. https://msdn.microsoft.com/en-us/library/cc189080%28VS.95%29.aspx https://bugzilla.gnome.org/show_bug.cgi?id=723352 2016-05-26 10:28:14 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: use single marker at end of filtering PID list Avoids at least ~100 unneeded assignment operations at runtime 2016-05-23 16:31:05 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: simplify reporting of set polarity 2016-05-23 14:41:40 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: fix bandwidth-hz property description Bandwidth Hz is no longer a DVBT-only property 2016-05-23 14:02:10 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: fix usage of PES & DVR acronyms everywhere Additionally, improve message on gst_poll_new() failure 2016-05-26 20:16:07 +1000 Matthew Waters * gst-libs/gst/gl/gstgldisplay.c: gldisplay: always unref the context on a collision Otherwise we will leak GstGLContext's when adding the same context more than once. Fixes a regression caused by 5f9d10f6036068502ad23e1ec86a73e341801ae1 in the gstglcontext unit test that failed with: Assertion 'tmp == NULL' failed 2016-05-25 13:38:47 -0400 Nicolas Dufresne * gst-libs/gst/base/gstaggregator.c: Revert "aggregator: Start the task when linked" This reverts commit 302580c3815136d29479c3a8cae611d6e2ff3709. 2016-05-20 14:34:37 -0400 Nicolas Dufresne * ext/gl/caopengllayersink.h: * ext/gl/caopengllayersink.m: caopengllayersink: Don't cache buffer pool Pools cannot be used by the two elements at the same time. https://bugzilla.gnome.org/show_bug.cgi?id=766611 2016-04-13 16:30:28 -0400 Nicolas Dufresne * gst-libs/gst/base/gstaggregator.c: aggregator: Start the task when linked Until now we would start the task when the pad is activated. Part of the activiation concist of testing if the pipeline is live or not. Unfortunatly, this is often too soon, as it's likely that the pad get activated before it is fully linked in dynamic pipeline. Instead, start the task when the first serialized event arrive. This is a safe moment as we know that the upstream chain is complete and just like the pad activation, the pads are locked, hence cannot change. https://bugzilla.gnome.org/show_bug.cgi?id=757548 2016-05-25 09:09:01 -0400 Xavier Claessens * gst-libs/gst/gl/win32/gstglcontext_wgl.c: gl: win32: Add debug category in gstglcontext_wgl.c https://bugzilla.gnome.org/show_bug.cgi?id=766867 2016-05-16 20:02:28 +0800 Haihua Hu * ext/gl/gstglimagesink.c: * ext/gl/gstglimagesink.h: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: glimagesink: support video rotation using transform matrix Add "rotate-method" to glimagesink and apply transform matrix to vertex coordinate to control rotation. https://bugzilla.gnome.org/show_bug.cgi?id=765795 2016-05-24 23:39:27 +1000 Matthew Waters * ext/gl/gstglbasemixer.c: glvideomixer: fix race retrieving the GL context from the display _get_gl_context() can be called concurrently from either propose_allocation() or decide_allocation(). If it so happens that this happens at the same time, the check for whether we already had a GL context was outside the lock. Inside the lock and loop, the first thing that happens is that we unref the current GL context (if valid) as if there was a conflict adding it to the display. If the timing was unlucky, subsequent use of the GL context would be referencing an already unreffed GL context object resulting in a critical: g_object_ref: assertion 'object->ref_count > 0' failed https://bugzilla.gnome.org/show_bug.cgi?id=766703 2016-05-24 23:38:22 +1000 Matthew Waters * gst-libs/gst/gl/gstgldisplay.c: gldisplay: add some debugging about retrieving GL contexts 2016-05-25 10:01:38 +0300 Sebastian Dröge * gst-libs/gst/gl/egl/gsteglimage.c: eglimage: Re-add accidentially removed GST_DEFINE_MINI_OBJECT_TYPE() 2016-05-23 15:24:53 +0300 Guillaume Desmottes * gst-libs/gst/player/gstplayer.c: player: fix suburi getter debug message The property is a string, not a boolean. https://bugzilla.gnome.org/show_bug.cgi?id=766607 2016-05-25 09:53:15 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: Don't set subtitle URI directly but dispatch to the player thread Otherwise we do state changes and everything in the application thread, which might block and more important can cause reentrant signals. https://bugzilla.gnome.org/show_bug.cgi?id=766607 2016-05-23 20:11:17 +0300 Sebastian Dröge * gst-libs/gst/gl/egl/gsteglimage.c: eglimage: Ensure that the debug category is always initalized Before the initializer was only run if dmabuf support was used. https://bugzilla.gnome.org/show_bug.cgi?id=766794 2016-05-24 23:30:09 +1000 Arjen Veenhuizen * ext/gl/gstgltransformation.c: gltransformation: make the pivot-z property READWRITE Instead of just being READABLE. https://bugzilla.gnome.org/show_bug.cgi?id=766818 2016-05-23 10:40:58 +0300 Guillaume Desmottes * ext/gl/gstgltestsrc.c: gltestsrc: fix src_impl leak https://bugzilla.gnome.org/show_bug.cgi?id=766661 2016-05-24 00:55:11 +0100 Tim-Philipp Müller * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/insertbin/Makefile.am: * gst-libs/gst/mpegts/Makefile.am: * gst-libs/gst/player/Makefile.am: g-i: pass compiler env to g-ir-scanner It's what introspection.mak does as well. Should fix spurious build failures on gnome-continuous. 2016-05-24 07:17:22 +1000 Jan Schmidt * gst/pnm/gstpnmdec.c: * gst/pnm/gstpnmdec.h: pnmdec: Fix ASCII parsing Parse gray16 properly in ascii mode, and fix some bugs around reading data in chunks when ascii values cross chunk boundaries 2016-05-19 01:28:04 +1000 Jan Schmidt * tests/check/Makefile.am: * tests/check/elements/pnm.c: pnm: Add a basic unit test Test that we can run an encode / decode cycle in various formats without errors 2016-05-19 01:04:36 +1000 Jan Schmidt * gst/pnm/gstpnmenc.c: pnmenc: Make output caps match the srcpad template Don't output 'image/pnm', which isn't even in the template caps. Instead, output a mime-type consistent with what we are encoding. 2016-05-18 17:19:40 +1000 Jan Schmidt * gst/pnm/gstpnmenc.c: pnmenc: Tidy up code, support BE/LE GRAY16 properly Remove code that dealt with odd strides separately - there's not really any overhead to just using 1 codepath for both matched and unmatched stride output. Add separate codepaths for BE vs LE GRAY16 input so they're handled properly 2016-05-16 21:22:57 +1000 Jan Schmidt * gst/pnm/gstpnmdec.c: * gst/pnm/gstpnmdec.h: pnmdec: Actually output LE or BE GRAY16 as negotiated Add codepaths to output GRAY16 in little or big endian as negotiated. Move all output format negotiation into a central function and clean it up 2015-10-22 17:06:01 +0200 Dimitrios Katsaros * gst/pnm/gstpnmdec.c: * gst/pnm/gstpnmdec.h: * gst/pnm/gstpnmutils.c: pnmdec: Implementation of GRAY16 handling https://bugzilla.gnome.org/show_bug.cgi?id=757022 2015-10-19 17:15:30 +0200 Dimitrios Katsaros * gst/pnm/gstpnmenc.c: pnmenc: Implementation of GRAY16 handling https://bugzilla.gnome.org/show_bug.cgi?id=757022 2016-05-20 19:25:57 +0200 Víctor Manuel Jáquez Leal * sys/kms/gstkmsbufferpool.c: kmsbufferpool: error only if no allocator Do not expect an allocator from the configuration, but expect to have already one set. 2016-05-15 11:52:55 +0200 Víctor Manuel Jáquez Leal * sys/kms/gstkmssink.c: kmssink: frame copy log in performance category Log the message when the frame is going to be copy (worse case) under the performance log category. https://bugzilla.gnome.org/show_bug.cgi?id=766466 2016-05-15 11:51:22 +0200 Víctor Manuel Jáquez Leal * sys/kms/gstkmssink.c: kmssink: use trace level for buffer render log Instead of using debug level for logging each buffer rendered, use trace level. https://bugzilla.gnome.org/show_bug.cgi?id=766466 2016-05-23 17:00:22 +0530 Arun Raghavan * gst-libs/gst/player/gstplayer-media-info.c: player: Fix documentation for gst_player_video_info_get_framerate() Document out parameters and fix function name. 2016-05-18 16:00:47 +0300 Guillaume Desmottes * tests/check/libs/player.c: player: use gst_check_init() in test Calling GST_DEBUG() in test rely on the default category to be defined, which is done in gst_check_init(). https://bugzilla.gnome.org/show_bug.cgi?id=766607 2016-05-20 17:28:52 -0400 Aaron Boxer * ext/openjpeg/gstopenjpegenc.c: openjpegenc: enable MCT for RGB video https://bugzilla.gnome.org/show_bug.cgi?id=766732 2016-05-20 14:08:03 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: group DVB-T2 substream-id check with its corresponding set_prop() 2016-05-20 13:57:45 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: add DVB-S2 sub-stream ID check Disable if invalid (> 255) instead of blindy setting this property regardless of its actual value. 2016-05-20 13:47:06 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: clarify consequence of passing a wrong ID to the substream filter 2016-05-19 17:05:33 +0300 Guillaume Desmottes * ext/gl/gltestsrc.c: gltestsrc: fix shaders ref counting The gltestsrc element uses two shaders: color_shader and snow_shader. Those are alternatively assigned to the SrcShader->shader pointer and their reference was transferred to it. Only the SrcShader->shader was unreffed (in _src_shader_deinit()) so only one shader was properly freed, the other one was leaked. Fixed this by giving an extra ref to SrcShader->shader and unreffing the 2 shaders in _src_smpte_free(). https://bugzilla.gnome.org/show_bug.cgi?id=766661 2016-05-19 16:55:31 +0300 Guillaume Desmottes * ext/gl/gstglmosaic.c: glmosaic: fix shader leak gst_gl_mosaic_init_shader() is called twice with test_glmosaic so the first shader was leaked. https://bugzilla.gnome.org/show_bug.cgi?id=766661 2016-05-16 17:11:53 -0400 Xavier Claessens * gst-libs/gst/gl/win32/gstglwindow_win32.c: gl: win32: Unparent internal window before destroying it For some reason DestroyWindow() deadlock if it's called from parent window's KeyPress event. https://bugzilla.gnome.org/show_bug.cgi?id=766533 2016-05-16 15:26:53 -0400 Xavier Claessens * gst-libs/gst/gl/win32/gstglwindow_win32.c: gl: win32: Don't steal parent focus when creating internal window This fix regression introduced by 0acc18c60f6f962cc6553f6047fdb64891bab544. https://bugzilla.gnome.org/show_bug.cgi?id=766520 2016-05-14 11:56:59 +0200 Olivier Crête * gst-libs/gst/video/gstvideoaggregator.c: videoaggregator: Don't wait if input buffer is after output If the input buffer is after the end of the output buffer, then waiting for more data won't help. We will never get an input buffer for this point. This fixes compositing of streams from rtspsrc. https://bugzilla.gnome.org/show_bug.cgi?id=766422 2016-05-19 09:25:57 -0700 Martin Kelly * sys/androidmedia/gst-android-hardware-camera.c: ahc: fix potential NULL deref This bug was found via cppcheck static analysis. If android.hardware.Camera.getParameters returns NULL, then object will be NULL, and we won't allocate params. This means that the GST_DEBUG statement referencing params->object will be invalid. Fix this by exiting early if android.hardware.Camera.getParameters returns NULL. https://bugzilla.gnome.org/show_bug.cgi?id=766638 2016-05-19 11:33:52 -0700 Martin Kelly * sys/androidmedia/gstahcsrc.c: ahc: fix typo in doc blurb https://bugzilla.gnome.org/show_bug.cgi?id=766679 2016-05-18 16:55:38 +0300 Guillaume Desmottes * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: fix pending tags leak https://bugzilla.gnome.org/show_bug.cgi?id=766662 2016-05-18 12:30:05 +0300 Guillaume Desmottes * sys/kms/gstkmssink.c: kmssink: chain up finalize method https://bugzilla.gnome.org/show_bug.cgi?id=766597 2016-05-18 12:33:51 -0700 Martin Kelly * tests/examples/opencv/gstfacedetect_test.c: * tests/examples/opencv/gsthanddetect_test.c: examples: opencv: typo fix https://bugzilla.gnome.org/show_bug.cgi?id=766639 2016-05-18 21:29:15 -0700 Stefan Sauer * ext/lv2/README: * ext/lv2/gstlv2.c: * ext/lv2/gstlv2.h: * ext/lv2/gstlv2filter.c: * ext/lv2/gstlv2source.c: * ext/lv2/gstlv2utils.c: * ext/lv2/gstlv2utils.h: lv2: support CVPorts CVPorts are ports that take a buffer. For now we just fill the buffers with the control value. 2016-05-18 21:26:50 -0700 Stefan Sauer * ext/lv2/gstlv2filter.c: * ext/lv2/gstlv2source.c: lv2: use _OBJECT log variants and lower log level when processing 2016-05-17 14:33:04 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: move ISDB-T bandwidth check to _is_valid_bandwidth() Allows test to be used for delivery system auto-detection. Additionally, add 0 (auto) as valid value. 2016-05-17 14:19:30 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: add '0' as a valid value for bandwidth Underlying API considers this the BANDWIDTH_HZ equivalent to the old BANDWIDTH_AUTO for BANDWIDTH. 2016-05-17 13:53:54 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: factor out and reuse DVB-T/T2 bandwidth checks Use new utility function as an additional check for delivery system auto-detection. 2016-05-17 12:06:45 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: recognize additional bandwidths at zap parsing Previously ignored 1.712, 5 and 10 MHz values are also valid 2016-05-16 12:27:50 +0100 Tim-Philipp Müller * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/video/gstvideoaggregator.c: * gst-libs/gst/video/gstvideoaggregator.h: * gst-libs/gst/video/gstvideoaggregatorpad.h: videoaggregator: canonicalise function names Had to be done at some point: gst_videoaggregator_* -> gst_video_aggregator_* Also fix up some function names with typos. 2016-05-15 23:31:33 -0700 Stefan Sauer * ext/lv2/gstlv2.c: * ext/lv2/gstlv2.h: lv2: cleanup the predicates Use the defines from the headers and get rid of our own namespace defines. Replace the 'role' prop with 'designation'. 2016-05-15 23:27:22 -0700 Stefan Sauer * ext/lv2/gstlv2utils.c: lv2: tweak enum logging Log more details when we find a bad scalepoint and downgrade the logging of the good enum valzes. 2016-05-15 22:05:43 -0700 Stefan Sauer * ext/lv2/README: * ext/lv2/gstlv2utils.c: lv2: generate enums from scalepoints Plugins can provide a set of named values for a control port. Ideally only those values are set for the property. Check if all scalepoints are integers and if so generate an enum type. 2016-05-15 19:45:26 -0700 Stefan Sauer * ext/lv2/gstlv2utils.c: lv2: reduce log spam for property bounds Only complain about bad bounds, if the plugin actually set those. Otherwise silently adjust our defaults. 2016-05-15 17:58:51 -0700 Stefan Sauer * ext/lv2/gstlv2.c: * ext/lv2/gstlv2.h: lv2: remove lv2_symbol_pred We're not actually using it. 2016-05-15 17:54:06 -0700 Stefan Sauer * ext/lv2/gstlv2source.c: lv2: remove leftover FIME 2016-05-15 00:41:12 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: special case detection when DVB-T and T2 seem valid There is no way to tell one over the other when parameters seem valid for DVB-T and DVB-T2 and the adapter supports both. Reason to go with the former here is that, from experience, most DVB-T2 channels out there seem to use parameters that are not valid for DVB-T, like QAM_256 https://bugzilla.gnome.org/show_bug.cgi?id=765731 2016-05-14 23:32:49 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: add transmission mode check for DTMB 2016-05-13 01:54:56 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: use proper fe_spectral_inversion enum identifiers 2016-05-13 01:25:08 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: explicitly disable stream filter for invalid ids 2016-05-13 00:50:45 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: do not assume DVB-T from zap file alone DVB-T/T2 have the same number of fields so we were wrongly assuming DVB-T for DVB-T2 broadcasts. Not setting the delivery system here allows for dvbsrc to make an informed guess based on the channel parameters. 2016-05-13 00:12:33 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: consider transmission mode for delsys autodetection 2016-05-13 00:04:08 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: factor out transmission mode check against delsys 2016-05-12 16:43:09 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: improve delivery system autodetection 2016-05-12 14:12:09 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: add modulation checks for DVB-T and T2 2016-05-15 14:46:40 -0700 Stefan Sauer * ext/ladspa/gstladspa.c: ladspa: use _OBJECT log variants for plugin_init Also trim leading whitespae. 2016-05-15 14:45:15 -0700 Stefan Sauer * ext/lv2/README: * ext/lv2/gstlv2.c: * ext/lv2/gstlv2.h: * ext/lv2/gstlv2filter.c: * ext/lv2/gstlv2source.c: * ext/lv2/gstlv2utils.c: * ext/lv2/gstlv2utils.h: lv2: add registry caching Use the plugin_cache extra data to avoid introspecting over and over again. 2016-05-14 12:35:15 -0700 Stefan Sauer * ext/lv2/README: * ext/lv2/gstlv2utils.c: lv2: implemnt the map-extension This is the most used one and at the same time easy to implement sing QGQuark. 2016-05-14 12:34:10 -0700 Stefan Sauer * ext/lv2/gstlv2.c: * ext/lv2/gstlv2utils.c: * ext/lv2/gstlv2utils.h: lvs: add require_feature checks Plugins can report what host features they need. Since we start to implement host feature check which plugins we can no suuport. 2016-05-15 14:34:33 +0200 Edward Hervey * gst/compositor/compositor.c: compositor: Check if we get a valid display ratio As is done everywhere else, and avoids setting bogus values And remove useless * checks (we always provide valid values and it's an internal function). CID #1320700 2016-05-15 14:16:55 +0200 Edward Hervey * ext/rtmp/gstrtmpsrc.c: rtmpsrc: Remove dead assignments * read is only used within the while loop * todo and bsize only need to be assigned once 2016-05-15 15:11:10 +0300 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: Add uri-loaded signal that is fired whenever a new URI is actually loaded This allows knowing the "boundary" from which on all following signals are for the new URI. https://bugzilla.gnome.org/show_bug.cgi?id=766062 2016-05-14 17:05:45 +0100 Matthew Waters * ext/opencv/gstfacedetect.cpp: opencv/facedetect: fix the build with opencv 3.1.0 - add using namespace std; for std::vector - use the cpp header imgproc.hpp file for the cv::ellipse function instead of the C header - Mat no longer takes IplImage in it's constructors, use the cvarrtomat() function instead. Fixes a couple of build errors: gstfacedetect.cpp:140:30: error: ‘vector’ does not name a type structure_and_message (const vector < Rect > &rectangles, const gchar * name, ^~~~~~ gstfacedetect.cpp:140:37: error: expected ‘,’ or ‘...’ before ‘<’ token structure_and_message (const vector < Rect > &rectangles, const gchar * name, ^ gstfacedetect.cpp: In function ‘void structure_and_message(int)’: gstfacedetect.cpp:143:13: error: ‘rectangles’ was not declared in this scope Rect sr = rectangles[0]; [...] gstfacedetect.cpp: In function ‘void gst_face_detect_run_detector(GstFaceDetect*, cv::CascadeClassifier*, gint, gint, cv::Rect, std::vector >&)’: gstfacedetect.cpp:562:31: error: no matching function for call to ‘cv::Mat::Mat(IplImage*&, cv::Rect&)’ Mat roi (filter->cvGray, r); [...] gstfacedetect.cpp: In function ‘GstFlowReturn gst_face_detect_transform_ip(GstOpencvVideoFilter*, GstBuffer*, IplImage*)’: gstfacedetect.cpp:594:44: error: no matching function for call to ‘cv::Mat::Mat(cv::Mat, bool)’ Mat mtxOrg (cv::cvarrToMat (img), false); [...] gstfacedetect.cpp:734:79: error: ‘ellipse’ was not declared in this scope ellipse (mtxOrg, center, axes, 0, 0, 360, Scalar (cr, cg, cb), 3, 8, 0); 2016-05-15 11:20:21 +0100 Tim-Philipp Müller * Makefile.am: build: add removed example dir to CRUFT_DIRS 2016-05-15 13:33:53 +0300 Sebastian Dröge * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faac.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-mimic.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-neon.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-opencv.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-y4mdec.xml: docs: Update for git master 2016-03-04 22:10:47 +0100 Carlos Rafael Giani * gst/rawparse/Makefile.am: * gst/rawparse/gstaudioparse.c: * gst/rawparse/gstunalignedaudioparse.c: * gst/rawparse/gstunalignedaudioparse.h: * gst/rawparse/plugin.c: * gst/rawparse/unalignedaudio.h: rawparse: Add unaligned raw audio parsing to audioparse and add new element This helps in cases where raw audio data is being delivered, but the buffers do not come in sample aligned sizes. The new unalignedaudioparse bin can be autoplugged and configures an internal audioparse element to align the data. audioparse itself gets support for audio/x-unaligned-raw input caps; the output caps then contain the same information, except that the name is changed to audio/x-raw (since audioparse aligns the data). This ensures that souphttpsrc ! audioparse still works. https://bugzilla.gnome.org/show_bug.cgi?id=689460 2016-05-15 13:14:41 +0300 Matthew Waters * gst-libs/gst/gl/gstgldisplay.c: gldisplay: demote no platform display debug to info Avoids confusing everyone with a warning that's not always fatal. https://bugzilla.gnome.org/show_bug.cgi?id=746933 2016-05-15 12:31:38 +0300 Matthew Waters * .gitignore: .gitignore: remove non-existent directory Partially reverts cdf91c455d4057a9d234766510bd2e8a44e1ed05 2016-05-15 19:05:48 +1000 Jan Schmidt * gst/mpegdemux/gstmpegdemux.c: mpegdemux: Handle system header when scanning for timestamps. When scanning for SCR / PTS / DTS, handle the case where the pack header is followed by the optional system header, so we can correctly collect timestamps in such cases. https://bugzilla.gnome.org/show_bug.cgi?id=623860 2016-05-15 19:04:20 +1000 Jan Schmidt * gst/mpegdemux/gstmpegdemux.c: mpegdemux: Fix backward timestamp scan on small files. When the file size is smaller than the configured 4MB scan limit for timestamps, don't underflow the guard variable when checking if it's time to stop. Limit the backward SCR scan to the same 4MB as the PTS scan. Add some comments. 2016-05-13 13:27:37 +0100 Tim-Philipp Müller * gst/mpegdemux/gstmpegdemux.c: mpegdemux: don't do bogus adjustments on seek if we have no first_pts Fixes bogus segment and gap events with start=GST_CLOCK_TIME_NONE if we failed to find a first_pts. https://bugzilla.gnome.org/show_bug.cgi?id=623860 2016-05-14 16:59:14 +0300 Alex-P. Natsios * configure.ac: configure: check for shm_open() in OpenBSD In OpenBSD there is no "actual" librt that programs can link with, instead the system/base libc provides the functions one would customarily find there. https://bugzilla.gnome.org/show_bug.cgi?id=766441 2016-05-14 16:32:06 +0300 Matthew Waters * ext/gl/gstgltransformation.c: * ext/gl/gstgltransformation.h: gltransformation: use the affine transformation meta if available downstream We can avoid a render pass if downstream supports the affine transformation meta and increase the performance of some pipelines involving gltransformation. Implemented by checking for the affine transformation in the allocation query from downstream and combining our matrix with that of upstream's (or creating our own). 2016-05-14 16:27:26 +0300 Matthew Waters * ext/gl/gstglimagesink.c: * ext/gl/gstglvideomixer.c: * gst-libs/gst/gl/gstglshaderstrings.c: * gst-libs/gst/gl/gstglshaderstrings.h: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: * gst-libs/gst/gl/gstglviewconvert.c: gl: take the affine transformation in NDC Provide a function to get the affine matrix in the meta in terms of NDC coordinates and use as a standard opengl matrix. Also advertise support for the affine transformation meta in the allocation query. 2016-05-14 15:50:57 +0300 Matthew Waters * ext/gl/gstglbasemixer.c: * ext/gl/gstglbasemixer.h: glbasemixer: actually attempt to propose an allocation upstream We were always failing the allocation query as a flag was never being set to signal a successful negotiation. Fix by setting the required flag on a successful caps event from upstream. 2016-05-12 10:52:06 -0700 Stefan Sauer * ext/lv2/Makefile.am: * ext/lv2/README: * ext/lv2/gstlv2.c: * ext/lv2/gstlv2.h: * ext/lv2/gstlv2source.c: lv2: add a source plugin Update the readme with a working example and list what feature are supported. 2016-05-11 23:12:07 -0700 Stefan Sauer * ext/lv2/gstlv2utils.c: lv2: add support for host features Implement a log handler as the first one. 2016-05-13 15:24:35 +0300 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: check the error of the presentation for out of date allows us to resize the swapchain correctly. 2016-05-12 19:44:26 +0100 Damian Ziobro * gst/mpegtsdemux/mpegtsbase.h: mpegtsbase: remove unused variables: upstream_live and queried_latency https://bugzilla.gnome.org/show_bug.cgi?id=766343 2016-05-11 15:45:47 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: improve debug output from _open_frontend() * Clarify message on delsys info gathering * Combine redundant INFO/DEBUG pair 2016-05-11 15:26:24 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: fix invalid dereference of delsys data Use GPOINTER_TO_INT to read GINT_TO_POINTER stored data. 2016-05-11 23:48:21 +0300 Sebastian Dröge * sys/androidmedia/gstamc.c: amcaudiodec: Set layout=interleaved in raw audio caps Otherwise the GAP event fallback negotiation will fail to produce complete srcpad caps, and thus fail. https://bugzilla.gnome.org/show_bug.cgi?id=766289 2016-05-11 16:42:35 +0200 Edward Hervey * sys/decklink/gstdecklinkvideosrc.cpp: decklinkvideosrc: Fix previous commit The frames queue might return nothing (be empty) if we're flushing. Move the assertion to after the flushing check 2016-05-10 22:04:48 -0700 Stefan Sauer * ext/lv2/gstlv2.c: lv2: skip plugins that need host features We haven't implemented this yet and those plugin would fail when we instantiate them. 2016-05-10 21:11:41 -0700 Stefan Sauer * ext/lv2/gstlv2utils.c: lv2: add classification from metadata This helps apps to structure the element collection. 2016-04-08 07:53:44 +0200 Stefan Sauer * ext/lv2/Makefile.am: * ext/lv2/gstlv2filter.c: * ext/lv2/gstlv2utils.c: * ext/lv2/gstlv2utils.h: lv2: extract helper code into lv2utils This is a preparaton for adding lv2-sources and -sinks. 2016-05-10 12:24:03 -0700 Stefan Sauer * ext/ladspa/gstladspasource.c: * ext/ladspa/gstladspautils.c: ladspa: code cleanup Whitespace cleanup and unify codeing style. 2016-05-10 12:22:04 -0700 Stefan Sauer * ext/ladspa/gstladspautils.c: ladspa: simplify the code Remove a local var and just use the parameter value. 2016-05-10 18:14:36 +0200 Philippe Normand * sys/applemedia/corevideobuffer.c: applemedia: fix core_video_meta init registration 2016-05-10 16:46:43 +0530 Nirbheek Chauhan * .gitignore: .gitignore: Ignore tests/examples/gl/gtk generated files And another test binary. 2016-05-10 16:24:08 +0530 Nirbheek Chauhan * configure.ac: * ext/openjpeg/gstopenjpeg.h: * ext/openjpeg/gstopenjpegdec.c: * ext/openjpeg/gstopenjpegenc.c: openjpeg: Port to 2.1 and require a pkg-config file for 2.0 and 2.1 The port was trivial, and according to the NEWS file nothing else has changed, but it is possible that other API was changed without proper notification. OpenJPEG upstream has shipped a pkg-config file for the past 4 years, and all distros should be shipping it by now. https://bugzilla.gnome.org/show_bug.cgi?id=766213 2016-05-10 09:40:38 +0100 Tim-Philipp Müller * sys/decklink/gstdecklinkvideosrc.cpp: decklinkvideosrc: fix use-after-free in error code path 2016-05-10 09:38:28 +0100 Tim-Philipp Müller * sys/decklink/gstdecklinkvideosrc.cpp: decklinkvideosrc: remove unnecessary checks for non-NULL frame We can't get a NULL frame here. CID 1359923 2016-05-09 15:23:32 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: abort at open frontend failure 2016-05-09 12:50:47 +0300 Sebastian Dröge * sys/applemedia/Makefile.am: applemedia: Ship all headers in tarballs Some were missing from noinst_HEADERS. https://bugzilla.gnome.org/show_bug.cgi?id=766163 2016-05-04 16:32:19 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: * sys/dvb/gstdvbsrc.h: dvbsrc: smarten-up delsys autodetection logic When there's no explicit delivery system information for a channel in the channel configuration file and the user hasn't selected one via setting the delsys property, we *guessed* it by selecting the last supported delsys reported by the driver. This change provides the basis for smarter delsys auto detection and implements a rule for DVB-T2. Rules for other delivery systems can be added in _guess_delsys() in a similar way. Additionally: Store list of adapter-supported delivery systems instead of querying the driver each time this information is needed. Related to: https://bugzilla.gnome.org/show_bug.cgi?id=765731 2016-05-03 15:00:55 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: remove remaining polling logic from _tune_fe() No need to do any polling here. 2016-05-06 10:51:39 +0200 Carlos Garcia Campos * gst-libs/gst/uridownloader/gsturidownloader.c: uridownloader: Take the ownership of the src element The URI downloader is creating the source element with gst_element_factory_make() that returns a floating reference that nobody is consuming. This is causing problems in WebKit, where the smart pointers used to take references of the source elment get confused and end up consuming the floating reference and then releasing the element, which usually crashes because the URI downloader still tries to use its src element. See https://bugs.webkit.org/show_bug.cgi?id=144040. This commit adds two helper functions to ensure and destroy the source element, to make the code simpler and less error prone. The ensure method takes care of checking if we can reuse the existing one or we need to create a new one, taking always its ownership. The destroy method simply avoids duplicated code to set the source to NULL state and then unref it. https://bugzilla.gnome.org/show_bug.cgi?id=766053 2016-04-29 12:31:01 +0100 Alex Ashley * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: fix threading issues in gst_adaptive_demux_wait_until function The gst_adaptive_demux_wait_until() function can be woken up either by its end_time being reached, or from other threads that want to interrupt the waiting thread. If the thread is interrupted, it needs to cancel its async clock callback by unscheduling the clock callback. However, the callback task might already have been activated, but is waiting for the mutex to become available. In this case, the call to unschedule does not stop the callback from executing. The solution to this second issue is to use a reference counted object that is decremented by both the gst_adaptive_demux_wait_until() function and the call to gst_clock_id_wait_async (). In this way, the GstAdaptiveDemuxTimer object is only deleted when both the gst_adaptive_demux_wait_until() function and the async callback are finished with the object. https://bugzilla.gnome.org/show_bug.cgi?id=765728 2016-03-03 15:50:49 +0900 Justin Kim * sys/androidmedia/Makefile.am: * sys/androidmedia/gst-android-graphics-surfacetexture.c: * sys/androidmedia/gst-android-graphics-surfacetexture.h: * sys/androidmedia/gst-android-hardware-camera.c: * sys/androidmedia/gst-android-hardware-camera.h: * sys/androidmedia/gstahcsrc.c: * sys/androidmedia/gstahcsrc.h: * sys/androidmedia/gstamc.c: androidmeida: replace with new surfacetexture for ahcsrc GstAmcSurfaceTexture is more clear and simple than GstAGSurfaceTexture. https://bugzilla.gnome.org/show_bug.cgi?id=763099 2016-05-05 23:53:05 +1000 Matthew Waters * ext/vulkan/Makefile.am: vulkan/build: add the build directory to the list of includes Fixes out of tree builds from tarballs. https://bugzilla.gnome.org/show_bug.cgi?id=764758 2016-05-05 23:18:11 +1000 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: fix up display synchronization Use the semaphores in the correct place, before and after the submission for acquiring and presenting the swapchain buffer. Waiting on the fence that only signals the command buffer completion rather than the completion of the presentation is racy with the destruction of the vulkan buffers associated with that image. Wait on the device to be idle instead after presenting. 2016-05-05 18:00:25 +1000 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: use gst_video_sink_center_rect for positioning the video Don't try to reimplement it badly. 2016-05-05 10:44:22 +0100 Tim-Philipp Müller * gst/mpegdemux/gstmpegdemux.c: mpegdemux: fix description 2016-05-05 10:41:53 +0100 Tim-Philipp Müller * gst/videofilters/gstvideodiff.c: videodiff: fix supported formats in template caps 2016-05-05 10:40:37 +0100 Tim-Philipp Müller * gst/videofilters/gstvideodiff.c: * gst/videofilters/gstvideodiff.h: videodiff: fill in FIXME metadata and docs with description https://bugzilla.gnome.org/show_bug.cgi?id=765989 2016-05-04 12:17:59 +1000 Matthew Waters * ext/gl/gstglimagesink.c: * ext/gl/gstglmixer.c: * ext/gl/gstglstereosplit.c: * gst-libs/gst/gl/egl/Makefile.am: * gst-libs/gst/gl/egl/gsteglimage.c: * gst-libs/gst/gl/egl/gsteglimage.h: * gst-libs/gst/gl/egl/gsteglimagememory.c: * gst-libs/gst/gl/egl/gsteglimagememory.h: * gst-libs/gst/gl/egl/gstgldisplay_egl.c: * gst-libs/gst/gl/egl/gstglmemoryegl.c: * gst-libs/gst/gl/egl/gstglmemoryegl.h: * gst-libs/gst/gl/gstglbufferpool.c: * gst-libs/gst/gl/gstglbufferpool.h: * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglupload.c: gl/egl: replace gsteglimagememory with an EGLImage wrapper That can be passed to GstGLMemoryEGL. This also ports the dmabuf uploader to GstEGLImage and GstGLMemoryEGL. 2016-01-21 22:18:17 +0900 Gwang Yoon Hwang * gst-libs/gst/gl/egl/Makefile.am: * gst-libs/gst/gl/egl/gstgldisplay_egl.c: * gst-libs/gst/gl/egl/gstglmemoryegl.c: * gst-libs/gst/gl/egl/gstglmemoryegl.h: * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstglupload.c: gl: implement GstGLMemoryEGL Because current GstEGLImageMemory does not inherit GstGLMemory, GLUpload allocates additional GLMemory and upload the decoded contents from the decoder which uses EGLImage (e.g. gst-omx in RPi). This work adds GstGLMemoryEGL to avoid this overhead. Decoders allocate GstGLMemoryEGL and decode its contents to the EGLImage of GstGLMemoryEGL. And GLUpload uses this memory without allocation of additional textures and blit operations. [Matthew Waters]: gst-indent the sources and fix a critical retreiving the egl display from the memory. https://bugzilla.gnome.org/show_bug.cgi?id=760916 2016-05-04 01:16:51 +1000 Matthew Waters * gst-libs/gst/gl/gstglbufferpool.c: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglviewconvert.c: glmemory: add wrapped data pointers to setup_buffer Allows creating wrapped memories with GstGLAllocationParams. The wrapped pointers will be set in the parameters before being passed to the memory allocation function. 2016-05-04 00:19:44 +1000 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/gl/gstglbasememory.c: * gst-libs/gst/gl/gstglbasememory.h: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstglmemorypbo.c: glbasememory: take a pointer as the wrapped gpu handle Allows passing arbitrary data to wrap the the specific memory implementation which is required for some memory implementations. 2016-05-04 11:30:11 +1000 Alessandro Decina * sys/applemedia/vtdec.c: applemedia: vtdec: output sysmem by default 2016-05-02 11:30:43 +0300 Sebastian Dröge * sys/directsound/gstdirectsoundsrc.c: directsoundsrc: Convert Windows strings to UTF8 before comparing against UTF8 strings The device name and descriptions returned are in the locale encoding, not UTF8. Our device name property is in UTF8 though, so we need to convert. https://bugzilla.gnome.org/show_bug.cgi?id=756948 2016-05-03 11:11:24 +0300 Sebastian Dröge * gst/compositor/compositor.c: compositor: Set blend functions in ::negotiated_caps() instead of ::fixate_caps() The latter should not change any state but just fixate the caps, while the former is always called when srcpads caps are decided. https://bugzilla.gnome.org/show_bug.cgi?id=765324 2016-04-20 15:11:44 +0300 Vivia Nikolaidou * sys/decklink/gstdecklink.cpp: decklink: Fix swapped name and nick in GEnumValues https://bugzilla.gnome.org/show_bug.cgi?id=742878 2016-04-14 18:26:33 +0300 Vivia Nikolaidou * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkvideosink.cpp: * sys/decklink/gstdecklinkvideosink.h: * sys/decklink/gstdecklinkvideosrc.cpp: * sys/decklink/gstdecklinkvideosrc.h: decklink: Add initial 10bit support for YUV modes https://bugzilla.gnome.org/show_bug.cgi?id=742878 2016-05-03 15:52:38 +0300 Sebastian Dröge * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklinkaudiosrc.cpp: decklink: Fix indentation 2016-05-03 19:58:00 +1000 Matthew Waters * configure.ac: * gst-libs/gst/gl/gstglapi.h: gl: fix gles3 header usage for older platforms Some platforms provide an old version of GLES2/gl2.h and GLES2/gl2ext.h that will fail when including GLES3/gl3.h due to missing typedef's. Seen on the RPi. 2016-04-29 23:32:03 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: avoid possible race on _output_frontend_stats() Make sure we send out our info message before we give up ownership of the structure. 2016-04-29 14:53:06 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: var rename in _output_frontend_params() Now it matches the rest of its status peers. Underscore was a leftover from previous times. 2016-04-29 14:45:22 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: always output known frontend status params The only mandatory frontend information for our use case is its status. Make sure we output what we know instead of choking at the first error getting SNR, BER or any of the other informational parameters. 2016-04-29 12:06:52 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: refactor signal locking loop Get rid of preliminar frontend status check. 2016-04-29 11:18:53 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: drop unneeded polling step on _tune_fe() Additional waiting was not needed. Specially considering it came after a successful READ_STATUS ioctl and was followed by an EINTR-resilent retry. 2016-04-29 17:19:19 -0300 Thiago Santos * gst/mpegtsmux/tsmux/tsmuxstream.c: mpegtsmux: effectively check if there is a language 'language' is an array and not a pointer. CID 1358835 2016-04-29 13:54:01 +0300 Sebastian Dröge * gst-libs/gst/player/Makefile.am: player: Add required paths via pkg-config for gstreamer-base-1.0 and gstreamer-video-1.0 for gobject-introspection The GstBase-1.0.gir and GstVideo-1.0.gir files are required by GstPlayer. Uninstalled builds fail if these files cannot be found. https://bugzilla.gnome.org/show_bug.cgi?id=765804 2016-04-08 16:47:15 +0800 Haihua Hu * ext/gl/Makefile.am: * ext/gl/gstgldeinterlace.c: * ext/gl/gstgldeinterlace.h: * ext/gl/gstopengl.c: gl: enable gldeinterlace on OpenGL ES 1.Porting the exist deinterlace shader and OpenGL callback to be compatible with OpenGL ES. 2.Add a our blur vertical shader to gldeinterlace. 3.Add a property named “method” to let user choose which deinterlace function to use. Default to choose blur vertical method for better performance. [Matthew Waters]: fix name of greedyh in method property (was greedhy) and port to git master. https://bugzilla.gnome.org/show_bug.cgi?id=764873 2016-04-28 15:19:17 +0530 Barun Kumar Singh * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/player/gstplayer.c: * gst-libs/gst/player/gstplayer.h: * win32/common/libgstplayer.def: player: Add audio-video-offset property and setter/getter API https://bugzilla.gnome.org/show_bug.cgi?id=765315 2016-04-19 19:43:03 +0300 Sebastian Dröge * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglsl.c: * gst-libs/gst/gl/gstglsl_private.h: * gst-libs/gst/gl/gstglviewconvert.c: glviewconvert: Port more things to GLES/GL 3 compatibility And move the shader mangling code into a single place instead of having a copy in glcolorconvert and glviewconvert. https://bugzilla.gnome.org/show_bug.cgi?id=765266 2016-04-19 19:27:33 +0300 Sebastian Dröge * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: GLES3 deprecates texture2D() and it does not work at all in newer versions than 3.3 Use the newer texture() function instead. This fixes glimagesink and other things on various Android devices. https://bugzilla.gnome.org/show_bug.cgi?id=765266 2016-04-19 10:27:43 -0300 Thiago Santos * gst-libs/gst/mpegts/gstmpegtsdescriptor.c: * gst-libs/gst/mpegts/gstmpegtsdescriptor.h: * gst/mpegtsmux/tsmux/tsmuxstream.c: * gst/mpegtsmux/tsmux/tsmuxstream.h: mpegtsmux: write language descriptor when language is available Adds a new function to mpegts lib to create a iso639 language descriptor from a language and use it in mpegtsmux to add a language descriptor to audio streams that have a language set. https://bugzilla.gnome.org/show_bug.cgi?id=763647 2016-04-26 16:48:58 +0800 Song Bing * sys/pvr2d/gstpvrbufferpool.c: pvrbufferpool: fix gst_meta_register() parameters https://bugzilla.gnome.org/show_bug.cgi?id=765581 2016-04-22 10:15:39 -0400 Nicolas Dufresne * gst-libs/gst/base/gstaggregator.c: aggregator: Check all pads for data when live When live, we still need to inspect all pads queue in order to determin if we have received the first buffer or not. https://bugzilla.gnome.org/show_bug.cgi?id=765431 2016-04-15 16:51:17 -0400 Nicolas Dufresne * gst-libs/gst/base/gstaggregator.c: aggregator: Fix locking when using the clock This fixes a race where we check if there is a clock, then it get removed and we endup calling gst_clock_new_single_shot_id() with a NULL pointer instead of a valid clock and also calling gst_object_unref() with a NULL pointer later. https://bugzilla.gnome.org/show_bug.cgi?id=757548 2016-04-25 16:50:55 +0300 Sebastian Dröge * gst/videoparsers/gsth265parse.c: h265parse: H265 level idc 0 is not valid Don't put level=0 into the caps, it confuses other elements. https://bugzilla.gnome.org/show_bug.cgi?id=765538 2016-04-25 16:50:18 +0300 Sebastian Dröge * gst/videoparsers/gsth264parse.c: h264parse: H264 level idc 0 is not valid Don't put level=0 into the caps, it confuses other elements. https://bugzilla.gnome.org/show_bug.cgi?id=765538 2016-04-22 14:51:31 +0200 Jerome Laheurte * sys/dshowsrcwrapper/gstdshowfakesink.cpp: * sys/dshowsrcwrapper/gstdshowvideosrc.cpp: dshowsrcwrapper: fix DirectShow caps negotiation and set capture pin caps Some cameras (IDS) have broken DirectShow drivers which incorrectly fill some fields in the VIDEOINFOHEADER structure; comparison between suggested and supported media types in CBaseRenderer should ignore deprecated and/or not essential fields; additionaly explicitely setting the mediatype for the capture pin before trying to connect it works around another IDS driver bug, and should have been already done anyway. https://bugzilla.gnome.org/show_bug.cgi?id=765428 2016-04-22 14:48:41 +0200 Jerome Laheurte * sys/dshowsrcwrapper/gstdshow.cpp: dshowsrcwrapper: add support for RGB32, RGB555, RGB565 and RGB8 color spaces Some cameras (IDS) only support those. https://bugzilla.gnome.org//show_bug.cgi?id=765427 2016-04-22 14:44:57 +0200 Jerome Laheurte * sys/dshowsrcwrapper/CMakeLists.txt: dshowsrcwrapper: fix include path and link error Add include path so that the cmake-generated project is able to find gstconfig.h Add /SAFESEH:NO to MSVC linker options so it can link with gstreamer libraries on Windows. https://bugzilla.gnome.org//show_bug.cgi?id=765426 2016-04-22 15:02:01 -0300 Thiago Santos * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/adaptive_demux_common.h: tests: adaptivedemux: only check for data length after seek When the test involves doing a seek, only check for data size after the seek. The final segment range after seek might be different/smaller than the threshold for doing the seek and doing the check before seeking would fail. 2016-02-16 14:26:55 +0000 Florin Apostol * tests/check/elements/test_http_src.c: * tests/check/elements/test_http_src.h: adaptivedemux: tests: use macro to define names of request and response structs Following the Don't Repeat Yourself principle, define macros for the structures that contain the request and response headers, so that the name is not repeated in multiple places in multiple files. https://bugzilla.gnome.org/show_bug.cgi?id=762144 2016-02-16 14:26:42 +0000 Florin Apostol * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/hls_demux.c: adaptivedemux: tests: improved checks for expected data Check the size of received data for each buffer received by AppSink https://bugzilla.gnome.org/show_bug.cgi?id=762144 2016-02-16 11:37:44 +0000 Florin Apostol * tests/check/elements/adaptive_demux_engine.c: * tests/check/elements/adaptive_demux_engine.h: * tests/check/elements/dash_demux.c: dashdemux: tests: added content protection test Test content protection Configure 3 content protection sources: - a uuid scheme/value pair - a non uuid scheme/value pair (dash recognises only uuid schemes) - a complex uuid scheme, with trailing spaces and capital letters in scheme uri Only the uuid scheme should be recognised. We expect to receive 2 content protection events https://bugzilla.gnome.org/show_bug.cgi?id=758064 2016-04-22 17:04:57 -0300 Thiago Santos * ext/dash/gstmpdparser.c: dash: strip lead/trailing whitespace from descriptortype attributes The spec says it is xs:anyURI and leading and trailing whitespace are to be ignored https://bugzilla.gnome.org/show_bug.cgi?id=758064 2016-02-16 14:26:05 +0000 Florin Apostol * tests/check/elements/dash_demux.c: dashdemux: tests: added test for media download error for in stream fragment Tested download error for a fragment that is not the last media fragment in the stream. https://bugzilla.gnome.org/show_bug.cgi?id=762144 2016-02-16 14:25:45 +0000 Florin Apostol * tests/check/elements/dash_demux.c: dashdemux: tests: added test for download errors during header download Test header download error. Let the adaptive demux download a few bytes, then instruct the GstTestHTTPSrc element to generate an error while the fragment header is still being downloaded. https://bugzilla.gnome.org/show_bug.cgi?id=762144 2016-02-16 14:25:32 +0000 Florin Apostol * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/adaptive_demux_common.h: * tests/check/elements/dash_demux.c: dashdemux: tests: refactor testFragmentDownloadError Renamed testFragmentDownloadError to testMediaDownloadErrorLastFragment. Added gst_adaptive_demux_test_unexpected_eos function. Remove unneeded testFragmentDownloadErrorCheckSizeOfDataReceived. https://bugzilla.gnome.org/show_bug.cgi?id=762144 2016-02-16 14:25:04 +0000 Florin Apostol * tests/check/elements/dash_demux.c: dashdemux: tests: tested latency query Updated query test to also check if dash responds correctly to a latency query. https://bugzilla.gnome.org/show_bug.cgi?id=762144 2016-02-16 14:24:49 +0000 Florin Apostol * tests/check/elements/dash_demux.c: dashdemux: tests: moved testQuery after testFragmentDownloadError Moved testQuery after testFragmentDownloadError so that testDownloadError and testFragmentDownloadError are grouped together. The commit just moved the testQueryCheckDataReceived and GST_START_TEST (testQuery) functions but git gets confused in matching the lines and reports a lot of changes in the patch. https://bugzilla.gnome.org/show_bug.cgi?id=762144 2016-02-16 14:24:26 +0000 Florin Apostol * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/adaptive_demux_common.h: * tests/check/elements/dash_demux.c: adaptivedemux: tests: create a GstDashDemuxTestCase class Create a GstDashDemuxTestCase class that extends from GstAdaptiveDemuxTestCase. This new class will contain all the DASH specific fields. https://bugzilla.gnome.org/show_bug.cgi?id=762144 2016-02-16 14:24:09 +0000 Florin Apostol * tests/check/elements/dash_demux.c: dashdemux: tests: added support to pass various parameters to http src callbacks Added support to pass various parameters to http src callbacks using GstStructure. https://bugzilla.gnome.org/show_bug.cgi?id=762144 2016-03-01 14:54:01 -0800 Scott D Phillips * gst/debugutils/gstchecksumsink.c: * gst/debugutils/gstchecksumsink.h: checksumsink: add "hash" property and allow more checksum types Now any GChecksumType can be used by GstChecksumSink, adding support for MD5, SHA-256 and SHA-512 in addition to SHA-1. https://bugzilla.gnome.org/show_bug.cgi?id=763006 2016-04-22 08:20:14 +0200 Edward Hervey * tests/check/Makefile.am: check: Fix LDADD/CFLAGS for player unit test It now requires libgstvideo 2016-02-16 14:44:39 +0000 Florin Apostol * tests/check/elements/adaptive_demux_engine.c: * tests/check/elements/adaptive_demux_engine.h: adaptivedemux: tests: use a GstTestClock as the system clock To allow the adaptivedemux live stream tests to run in non-realtime, use a GstTestClock as the system clock. This allows the unit tests to complete more quickly than if they had to complete in real time. https://bugzilla.gnome.org/show_bug.cgi?id=762147 2016-02-16 14:44:27 +0000 Florin Apostol * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: use realtime_clock for waiting for a condition There are several places in adaptivedemux where it waits for time to pass, for example to wait until it should next download a fragment. The problem with this approach is that it means that unit tests are forced to execute in realtime. This commit replaces the use of g_cond_wait_until() with single shot GstClockID that signals the condition variable. Under normal usage, this behaves exactly as before. A unit test can replace the system clock with a GstTestClock, allowing the test to control the timing in adaptivedemux. https://bugzilla.gnome.org/show_bug.cgi?id=762147 2016-02-16 14:44:10 +0000 Florin Apostol * ext/dash/gstdashdemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: use GstSystemClock to all real-time calculations A realtime clock is used in many places, such as deciding which fragment to select at start up and deciding how long to sleep before a fragment becomes available. For example dashdemux needs sample the client's estimate of UTC when selecting where to start in a live DASH stream. The problem with dashdemux calculating the client's idea of UTC is that it makes it difficult to create unit tests, because the passage of time is a factor in the test. This commit changes dashdemux and adaptivedemux to use the GstSystemClock, so that a unit test can replace the system clock when it needs to be able to control the clock. This commit makes no change to the behaviour under normal usage, as GstSystemClock is based upon the system time. https://bugzilla.gnome.org/show_bug.cgi?id=762147 2016-04-21 14:58:45 +0300 Sebastian Dröge * win32/common/libgstplayer.def: win32: Add new API to .def file 2016-04-19 10:59:46 +0530 Barun Kumar Singh * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/player/Makefile.am: * gst-libs/gst/player/gstplayer.c: * gst-libs/gst/player/gstplayer.h: * pkgconfig/gstreamer-player-uninstalled.pc.in: * pkgconfig/gstreamer-player.pc.in: player: Add support for multiview settings https://bugzilla.gnome.org/show_bug.cgi?id=765302 2016-04-21 10:06:40 +0900 Hyunjun Ko * sys/applemedia/vtenc.c: applemedia: vtenc: fix build break on iOS Fix 'conflicting types' error https://bugzilla.gnome.org/show_bug.cgi?id=765292 2016-04-20 15:34:55 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: add test for invalid DVB-T2 bandwidth 2016-04-20 14:47:22 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: warn on wrong DVB-T2 stream ID value Stream ID, used for DVB-T2/S2 and ISDB-S can not exceed 255 for the former. Change makes this explicit. 2016-04-20 21:07:28 +0900 Hyunjun Ko * sys/applemedia/vtenc.c: applemedia: vtenc: Fix a warning by weak-link symbol Fix this warning address of function 'VTCompressionSessionPrepareToEncodeFrames' will always evaluate to 'true' [-Wpointer-bool-conversion] https://bugzilla.gnome.org/show_bug.cgi?id=765292 2016-04-20 16:19:55 +0900 Hyunjun Ko * ext/gl/caopengllayersink.m: gl: caopengllayersink: fix a minor warning Fix "unused variable" warning https://bugzilla.gnome.org/show_bug.cgi?id=765292 2016-04-20 16:00:36 +0900 Hyunjun Ko * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: gl/cocoa: Fix incompatible type warning https://bugzilla.gnome.org/show_bug.cgi?id=765292 2016-04-19 14:57:22 +0530 Nirbheek Chauhan * sys/d3dvideosink/d3dhelpers.h: d3dvideosink: Don't include deprecated and unavailable d3dx9tex.h It's not needed, not on native Windows nor with mingw, and we don't use anything from it anyway https://bugzilla.gnome.org/show_bug.cgi?id=765250 2016-04-14 12:46:58 +0200 Philipp Zabel * sys/kms/gstkmssink.c: * sys/kms/gstkmssink.h: kmssink: add sync support for secondary pipes The vblank event request must specify the crtc for which to request the event. This fixes kmssink synchronisation for crtcs other than the first. https://bugzilla.gnome.org/show_bug.cgi?id=765064 2016-04-19 09:30:39 +0300 Sebastian Dröge * ext/gl/gstglimagesink.c: glimagesink: Fix indentation 2016-04-19 10:51:14 +0800 Haihua Hu * ext/gl/gstglimagesink.c: glimagesink: need to clean window_id when state change form READY to NULL When application change pipeline state NULL->READY and then READY->NULL, glimagesink will not clear glsink->window_id. After that, when application change state NULL->READY, the new_window_id is equal to window_id, glimagesink will not set window handle. It will use the internal window but not the window create by application. https://bugzilla.gnome.org/show_bug.cgi?id=765241 2016-04-18 13:46:55 -0300 Thiago Santos * gst-libs/gst/video/gstvideoaggregator.c: videoaggregator: plug caps leak It was losing ref of the original 'ret' caps that would be returned or returning it with 2 references to it. 2016-03-28 15:44:27 -0300 Thiago Santos * gst-libs/gst/video/gstvideoaggregator.c: * tests/check/elements/compositor.c: videoaggregator: properly handle interlace-mode restrictions videoaggregator can't handle interlace-mode changes so it must always restrict itself to the first interlacing mode it receives. Tests included https://bugzilla.gnome.org/show_bug.cgi?id=754495 2016-01-22 16:49:57 +0000 Raffaele Rossi * ext/dtls/README: dtsl: add some documentation https://bugzilla.gnome.org/show_bug.cgi?id=760994 2016-04-17 15:45:41 +0100 Heinrich Fink * ext/gl/caopengllayersink.m: gl/caopengllayersink: Actually unset caps_change flag after resize Otherwise, the sink would execute "on_resize" for each frame. https://bugzilla.gnome.org/show_bug.cgi?id=765194 2016-04-17 15:43:20 +0100 Heinrich Fink * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: gl/caopengllayer: Apply layer.contentsScale to viewport dims Fixes blurry content on HiDPI screens https://bugzilla.gnome.org/show_bug.cgi?id=765194 2016-04-16 22:33:48 +1000 Jan Schmidt * gst/mpegtsmux/mpegtsmux.c: mpegtsmux: Remove an unnecessary check for NULL before g_free 2016-04-15 13:22:51 -0700 Reynaldo H. Verdejo Pinochet * gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c: * gst/compositor/compositor.c: Drop usage of 'overlayed' to mean 'overlaid' 2016-04-15 13:10:41 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: show invalid delsys/mod combination if found 2016-04-15 11:29:48 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: add modulation check for ATSC 2016-04-11 23:45:22 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: do not autodetect delsys twice The process is dealt with the first time the adapter is opened, there is no need to do this again. 2016-04-14 22:32:05 -0700 Aleix Conchillo Flaqué * ext/srtp/gstsrtpdec.c: srtpdec: also check for "roc" in caps Currently, gst_srtp_dec_sink_setcaps is happy if the "roc" field is not provided in the caps. If it is not provided the stream will be properly inserted in the hash table with a default "roc". Then, when the first buffer arrives validate_buffer will find an existing stream in the hash table and will not signal request-key, not allowing the user to provide a "roc". This patch expects "roc" in gst_srtp_dec_sink_setcaps, if not found a request-key will be signaled and the user will be able to provide all the srtp fields, including "roc". https://bugzilla.gnome.org/show_bug.cgi?id=765079 2014-07-28 12:14:02 +0300 Sreerenj Balachandran * gst-libs/gst/codecparsers/gstmpegvideoparser.c: * gst-libs/gst/codecparsers/gstmpegvideoparser.h: codecparsers: mpegvideo: Parse more slice header fields https://bugzilla.gnome.org/show_bug.cgi?id=733872 2014-07-28 11:17:05 +0300 Sreerenj Balachandran * gst-libs/gst/codecparsers/gstmpegvideoparser.c: * gst-libs/gst/codecparsers/gstmpegvideoparser.h: codecparsers: mpegvideo: Add vbv_delay field to PictureHeader https://bugzilla.gnome.org/show_bug.cgi?id=733872 2014-07-28 11:14:22 +0300 Sreerenj Balachandran * gst-libs/gst/codecparsers/gstmpegvideoparser.c: * gst-libs/gst/codecparsers/gstmpegvideoparser.h: codecparsers: mpegvideo: Add more fields to the GstMpegVideoSequenceHdr Added the fields load_non_intra_quantiser_matrix and load_chroma_intra_quantiser_matrix to the sequence header structure. https://bugzilla.gnome.org/show_bug.cgi?id=733872 2016-04-14 10:02:32 +0100 Julien Isorce * README: * common: Automatic update of common submodule From 6f2d209 to ac2f647 2016-04-13 18:12:25 +0100 Damian Ziobro * gst/mpegtsmux/mpegtsmux.c: mpegtsmux: free pad_data->language before g_strdup in order to avoid memory leak https://bugzilla.gnome.org/show_bug.cgi?id=765005 2016-04-13 13:10:12 +0300 Sebastian Dröge * sys/applemedia/corevideobuffer.c: applemedia: GstCoreVideoMeta in the plugin using only public API has no ctx member 2016-04-13 13:09:05 +0300 Sebastian Dröge * sys/applemedia/coremediabuffer.c: applemedia: GstCoreMediaMeta in the plugin using only public API has no ctx member 2016-04-13 10:25:32 +0300 Sebastian Dröge * ext/directfb/dfbvideosink.c: * sys/pvr2d/gstpvrbufferpool.c: meta: Initialize all remaining metas in their init function https://bugzilla.gnome.org/show_bug.cgi?id=764902 2016-04-13 10:17:24 +0300 Sebastian Dröge * gst-libs/gst/codecparsers/gstmpegvideometa.c: * sys/applemedia-nonpublic/coremediabuffer.c: * sys/applemedia-nonpublic/corevideobuffer.c: * sys/applemedia/coremediabuffer.c: * sys/applemedia/corevideobuffer.c: meta: Initialize all GstMeta fields During allocation they are not initialized to all zeroes. https://bugzilla.gnome.org/show_bug.cgi?id=764902 2016-04-11 22:08:03 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/gstdvbsrc.c: dvbsrc: avoid redundant delsys querying There is no need to query the frontend for the list of supported delivery systems if we are selecting one from the list of autodetected ones. 2016-04-10 18:58:33 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb/parsechannels: add information to file not found error Adds useful failure info (like filename) comming from g_file_get_contents() as done for every other error in this block. 2016-04-13 00:43:18 +1000 Matthew Waters * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: * gst-libs/gst/gl/eagl/gstglwindow_eagl.m: gl/cocoa/eagl: don't leak GThread's when dispatching messages gst_gl_context_get_thread() returns a refed pointer, we need to unref it. 2016-04-12 11:14:22 +0100 Luis de Bethencourt * ext/gl/gstgltestsrc.c: gltestsrc: don't dereference null pointer funcs can be NULL, it is one of the two conditions of the OR statement above, so confirm it isn't before dereferencing with funcs->free. CID 1358388 2016-04-12 04:16:55 +1000 Jan Schmidt * gst/mpegtsdemux/mpegtsbase.c: mpegtsbase: Fix when applying new PMT with same program number When the sub-class is delaying deactivation of the old program, but it has the same program number as the new program, don't overwrite the old program in the hash table and then steal the new program back out of it. Instead, add the new program to the hash table after handling removal of the old one. 2016-04-06 04:15:40 +0000 Matthew Waters * gst-libs/gst/gl/gstglupload.c: glupload: keep the parent buffer around when converting EGLImage to 2D textures e.g. receiving and releasing a buffer from OMX too early will potentially cause textures to be overwritten while/before they are displayed. 2016-04-11 16:43:45 +0000 Matthew Waters * ext/gl/gstglbasemixer.c: glbasemixer: chain up to the parent implementation 2016-04-11 18:06:25 +1000 Matthew Waters * ext/vulkan/vkdevice.c: vulkan: prettify the various versions in the debug output output human readable numbers. 2016-04-11 20:23:45 +0100 Tim-Philipp Müller * ext/openh264/gstopenh264dec.cpp: openh264dec: minor clean-ups Remove unused property getters, setters; outdated comment. 2016-04-11 20:11:53 +0100 Tim-Philipp Müller * ext/openh264/gstopenh264dec.cpp: * ext/openh264/gstopenh264dec.h: * ext/openh264/gstopenh264enc.cpp: * ext/openh264/gstopenh264enc.h: openh264: remove unnecessary instance private structures Element instance structures are not public API, so no need for the extra indirection to hide the data. 2016-04-11 20:04:00 +0100 Tim-Philipp Müller * ext/openh264/gstopenh264dec.cpp: * ext/openh264/gstopenh264enc.cpp: openh264: fix indentation 2016-02-12 14:21:27 +0100 Philipp Zabel * sys/kms/gstkmsutils.c: kmssink: enable UYVY, YUY2, and YVYU (interleaved YUV 4:2:2) formats https://bugzilla.gnome.org/show_bug.cgi?id=761059 2016-02-12 14:17:32 +0100 Philipp Zabel * sys/kms/gstkmsutils.c: kmssink: enable NV16 (chroma-interleaved YUV 4:2:2) format https://bugzilla.gnome.org/show_bug.cgi?id=761059 2016-02-12 14:17:13 +0100 Philipp Zabel * sys/kms/gstkmsutils.c: kmssink: enable Y42B (planar YUV 4:2:2) format https://bugzilla.gnome.org/show_bug.cgi?id=761059 2016-03-04 16:53:58 +0100 Víctor Manuel Jáquez Leal * sys/kms/gstkmssink.c: * sys/kms/gstkmssink.h: kmssink: keep last rendered buffer in memory https://bugzilla.gnome.org/show_bug.cgi?id=761059 2016-02-20 23:13:54 +0100 Víctor Manuel Jáquez Leal * sys/kms/gstkmssink.c: * sys/kms/gstkmssink.h: kmssink: wait for page flip or vblank This patch requests for drmModePageFlip() for the used CRTC, if the kernel module suppports async page flip. If it does not, the element requests for a vblank event. A GstPoll waits for the event to happen. https://bugzilla.gnome.org/show_bug.cgi?id=761059 2016-02-10 20:43:47 +0100 Víctor Manuel Jáquez Leal * configure.ac: * sys/kms/Makefile.am: * sys/kms/gstkmsallocator.c: * sys/kms/gstkmsallocator.h: * sys/kms/gstkmssink.c: * sys/kms/gstkmssink.h: kmssink: add dmabuf support This patch will enable the import of dmabufs into a KMS buffer using the PRIME kernel interface. If the driver does not support prime import, the method is skipped. It has been tested with a Freescale I.MX6 board. https://bugzilla.gnome.org/show_bug.cgi?id=761059 2016-01-31 13:12:34 +0100 Víctor Manuel Jáquez Leal * sys/kms/gstkmssink.c: * sys/kms/gstkmsutils.c: * sys/kms/gstkmsutils.h: kmssink: calculate display ratio Get the aspect ratio given the information provided by libdrm, and with it calculate the display ratio. https://bugzilla.gnome.org/show_bug.cgi?id=761059 2016-01-20 12:00:51 +0100 Víctor Manuel Jáquez Leal * configure.ac: * sys/Makefile.am: * sys/kms/Makefile.am: * sys/kms/gstkmsallocator.c: * sys/kms/gstkmsallocator.h: * sys/kms/gstkmsbufferpool.c: * sys/kms/gstkmsbufferpool.h: * sys/kms/gstkmssink.c: * sys/kms/gstkmssink.h: * sys/kms/gstkmsutils.c: * sys/kms/gstkmsutils.h: kmssink: add plugin and sink element This is simple video sink that use libdrm/libkms API to render frames. The element uses planes to render through drmModeSetPlane(). It has been tested in an Exynos4412 board and in a Freescale I.MX6 board. https://bugzilla.gnome.org/show_bug.cgi?id=761059 2016-04-10 17:46:15 +1000 Matthew Waters * configure.ac: * ext/vulkan/Makefile.am: * ext/vulkan/vkapi.h: * ext/vulkan/vkdevice.c: * ext/vulkan/vkdisplay.c: * ext/vulkan/vkinstance.c: * ext/vulkan/vkwindow.c: * ext/vulkan/wayland/Makefile.am: * ext/vulkan/wayland/vkdisplay_wayland.c: * ext/vulkan/wayland/vkdisplay_wayland.h: * ext/vulkan/wayland/vkwindow_wayland.c: * ext/vulkan/wayland/vkwindow_wayland.h: * ext/vulkan/wayland/wayland_event_source.c: * ext/vulkan/wayland/wayland_event_source.h: vulkan: add a wayland winsys implementation 2016-04-10 17:43:39 +1000 Matthew Waters * ext/vulkan/xcb/vkwindow_xcb.c: * ext/vulkan/xcb/vkwindow_xcb.h: vulkan/xcb: getProcAddress winsys functions There's no guarantee that they will always be exposed by the vulkan loader. 2016-04-09 17:52:28 +1000 Matthew Waters * ext/vulkan/vkupload.c: vkupload: copy necessary buffer metadata timestamps, flags, etc 2016-04-11 08:34:00 +1000 Alessandro Decina * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: * gst-libs/gst/gl/eagl/gstglwindow_eagl.m: libgstgl: cocoa, eagl: use libdispatch to schedule GL calls Use libdispatch instead of GMainLoop to dispatch GL calls. libdispatch is more optimized and cuts a lot of poll()/pthread_* overhead. 2016-04-11 08:02:45 +1000 Alessandro Decina * gst-libs/gst/gl/gstglwindow.c: glwindow: reduce the number of GMutexes and GConds in send_message() Don't create many short lived locks/conds in gst_gl_window_send_message. This is a micro optimization to save a bunch of pthread_* calls which are expensive on OSX/iOS and possibly other platforms. 2016-04-10 22:18:38 +0100 Tim-Philipp Müller * win32/common/libgstgl.def: win32: update .def file for new gl api 2016-04-08 18:34:45 +1000 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: add necessary wait stages to the submission info 2016-04-08 18:32:41 +1000 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: add srgb formats to our list of formats intel returns them for their surface formats. 2016-04-08 18:09:53 +1000 Matthew Waters * ext/vulkan/vkimagememory.c: vulkan: silence a validation warning filling out the image barrier 2016-04-08 18:09:06 +1000 Matthew Waters * ext/vulkan/vkdevice.c: * ext/vulkan/vkinstance.c: vulkan: use the correct validation layer name The threading validation layer has changed names. 2016-04-08 14:07:55 +0300 Sebastian Dröge * sys/decklink/gstdecklink.cpp: decklink: Initialize capture_time to NONE so it can be used if no video frame is provided but audio is CID 1358390 2016-04-08 17:56:50 +1000 Matthew Waters * ext/vulkan/vkutils.c: * ext/vulkan/vkutils_private.h: vulkan: only warn on not found layers don't error out completely https://bugzilla.gnome.org/show_bug.cgi?id=764545 2016-04-08 17:41:07 +1000 Matthew Waters * ext/vulkan/vkdevice.c: * ext/vulkan/vkinstance.c: vulkan: don't g_error when failing to find validation layers Aborting the application is never a good thing to do for recoverable errors. Just warn and error out instead. https://bugzilla.gnome.org/show_bug.cgi?id=764545 2016-04-08 14:51:44 +1000 Matthew Waters * sys/nvenc/gstnvbaseenc.c: * sys/nvenc/gstnvbaseenc.h: nvenc: add some rate control modes/properties Supported modes are constant quantizer, cbr, vbr and vbr with a minimum quantizer. 2016-04-07 23:24:47 +1000 Matthew Waters * sys/nvenc/gstnvbaseenc.c: * sys/nvenc/gstnvbaseenc.h: * sys/nvenc/gstnvh264enc.c: nvenc: move codec config initialization from the implementation to the base class Supports a better separation of configuration parameters 2016-04-07 22:46:08 +1000 Matthew Waters * sys/nvenc/gstnvbaseenc.c: * sys/nvenc/gstnvbaseenc.h: * sys/nvenc/gstnvenc.c: * sys/nvenc/gstnvh264enc.c: nvenc: add preset selection Some presets are not always supported on all devices and will cause an error if used. Specifically, the LOSSLESS presets are known to not work everywhere. 2014-07-16 02:44:42 +0200 Marcin Kolny * ext/chromaprint/gstchromaprint.c: chromaprint: emit notify::fingerprint signal when fingerprint is ready In addition to adding the fingerprint to the tags. https://bugzilla.gnome.org/show_bug.cgi?id=733233 2016-04-04 20:55:51 +1000 Matthew Waters * ext/gl/gstglvideomixer.c: * gst-libs/gst/video/gstvideoaggregator.c: videoaggregator: repect the result of find_best_format in the default update_caps We weren't using the result of find_best_format at all. Also, move the find_best_format usage to the default update_caps() to make sure that it is also overridable. https://bugzilla.gnome.org/show_bug.cgi?id=764363 2016-04-05 21:40:58 -0400 Nicolas Dufresne * gst/librfb/gstrfbsrc.c: rfbsrc: Fix fallback to GstVideoBufferPool The replacement pool need to be added to the query, otherwise the baseclass won't see it. We also need to properly remove the rejected pools. https://bugzilla.gnome.org/show_bug.cgi?id=763441 2016-04-05 21:07:32 -0400 Nicolas Dufresne * gst/librfb/gstrfbsrc.c: * gst/librfb/gstrfbsrc.h: rfbsrc: Implement decide_allocation virtual This way we can use the base class for buffer allocation, hence use fill() instead of create() virtual. This also adds a strict check on the select pool buffer size as we don't support strides and padding. This is based on initial patch proposed by Sebastien Dröge, from which I also fixed a buffer pool leak. https://bugzilla.gnome.org/show_bug.cgi?id=763441 2016-04-05 15:31:49 -0400 Nicolas Dufresne * gst/librfb/gstrfbsrc.c: rfbsrc: Fix caps negotiation As we currently only use the server reported "natural" format, caps negotiation should simply be limited to telling the base class which format to use. Fix the negotiation by moving the associated code into negotiate() virtual function. Also, use gst_base_src_set_caps() rather then setting it on the pad directly. Also protect against this method being called multiple time (we can't renegotiate for now). This change also moves some network code that was being run during the application state change call, to be run on the streaming thread. https://bugzilla.gnome.org/show_bug.cgi?id=739598 2016-03-26 13:36:34 -0400 Nicolas Dufresne * gst/librfb/gstrfbsrc.c: rfbsrc: Implement unlock() method This prevent stalls when we try to stop the source while waiting for the server to send more updates. 2016-03-24 18:27:54 -0400 Nicolas Dufresne * gst/librfb/rfbdecoder.c: rfbsrc: Check for connection being closed Although it's not very well documented, g_input_stream_read_all() will set the number of bytes read to 0 if the connection is closed rather then returning an error. 2016-03-24 18:26:46 -0400 Nicolas Dufresne * gst/librfb/rfbdecoder.c: rfbsrc: Check for read/write error Check for read/write error. This prevent undefined behaviour that rely on unitialized buffer. 2016-03-24 18:14:17 -0400 Nicolas Dufresne * gst/librfb/gstrfbsrc.c: * gst/librfb/rfbdecoder.c: * gst/librfb/rfbdecoder.h: rfbsrc: Add a internal method to disconnect This also removes the disconnected boolean hack. 2016-03-24 18:14:37 -0400 Nicolas Dufresne * gst/librfb/gstrfbsrc.c: rfbsrc: Don't ignore errors This prevents recursion on error. This used to happen as we don't change the state when something fails. We end up running and failing in the same state forever. 2016-03-24 16:46:49 -0400 Nicolas Dufresne * gst/librfb/rfbdecoder.c: * gst/librfb/rfbdecoder.h: rfbsrc: Serialize write operations Currently we send key events from seperate threads. IOStream does not allow concurrent write operations, so protect this operation using a mutex. 2016-03-17 15:24:52 -0400 Nicolas Dufresne * gst/librfb/rfbdecoder.c: rfbsrc: Add 3.7/3.8 security type negotiation 2016-03-16 18:48:49 -0400 Nicolas Dufresne * gst/librfb/Makefile.am: * gst/librfb/gstrfbsrc.c: * gst/librfb/rfbdecoder.c: * gst/librfb/rfbdecoder.h: rfbsrc: Port to GSocketClient Using GSocketClient we can simplify a lot the read/write operation. This also provide an GSocketConnection (a GIOStream) which can then be used with the GTlsClientConnection for secure connections. Note that we use _write_all() to ensure all bytes have been read. This is to follow the fact the none of the _send() calls check the return value. 2016-03-16 16:49:29 -0400 Nicolas Dufresne * gst/librfb/Makefile.am: * gst/librfb/gstrfbsrc.h: * gst/librfb/rfb.h: * gst/librfb/rfbdecoder.c: rfbsrc: Remove useless library wrapping We use a sinlge .c file, simplify everything by removing that static library. 2016-03-16 16:49:09 -0400 Nicolas Dufresne * gst/librfb/Makefile.am: * gst/librfb/rfb.c: * gst/librfb/rfb.h: * gst/librfb/rfbbuffer.c: * gst/librfb/rfbbuffer.h: * gst/librfb/rfbcontext.h: * gst/librfb/rfbdecoder.h: * gst/librfb/rfbutil.h: rfbsrc: Cleanup dead code Remove all the unused stuff, the include header, definition and C code that don't contribute anything to this element. 2016-03-14 15:08:13 -0400 Nicolas Dufresne * gst/librfb/rfbdecoder.c: rfbsrc: Properly fallback to 3.3 If the major version is not 3, then the minor version provided should be ignored, as it is meaningless for our fallback. 2016-03-14 15:05:45 -0400 Nicolas Dufresne * gst/librfb/rfbdecoder.c: rfbsrc: Cleanly handle security negotiation failure When the security cannot be negotiated, the server returns security type of 0 (failure). In that case, the next step is to read the error reason string. 2016-04-01 14:36:15 +0100 Vincent Penquerc'h * ext/dash/gstmpdparser.c: mpdparser: clamp segment durations to each other and period end 5.3.2.1 in the spec. https://bugzilla.gnome.org/show_bug.cgi?id=751792 2015-09-10 13:22:58 +0100 Florin Apostol * tests/check/elements/dash_mpd.c: dashdemux: unit testing reproducing segment duration overflow unit test reproducing https://bugzilla.gnome.org/show_bug.cgi?id=751792 With minor changes by Vincent Penquerc'h. 2016-04-05 14:49:51 +0300 Sebastian Dröge * sys/decklink/gstdecklinkaudiosrc.cpp: decklinkaudiosrc: Don't accept packets without timestamps after a discont We have no idea which timestamps they are supposed to have so the only thing we can do at this point is to drop them. Packets without timestamps happen if audio was captured but no corresponding video, which shouldn't happen under normal circumstances. https://bugzilla.gnome.org/show_bug.cgi?id=747633 2016-04-04 22:21:30 +0300 Sebastian Dröge * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkaudiosrc.cpp: decklinkaudiosrc: Don't crash when receiving video frames but no audio And mark these events as disconts to reset time tracking in the audio source. https://bugzilla.gnome.org/show_bug.cgi?id=747633 2015-08-08 15:17:54 +0100 Tim-Philipp Müller * sys/decklink/gstdecklink.cpp: decklinkvideosrc: don't crash if we get NULL video frames in the callback For some reason we seem to sometimes get NULL video_frames in the ::VideoInputFrameArrived() callback, observed on Intensity Pro cards. https://bugzilla.gnome.org/show_bug.cgi?id=747633 2016-03-23 03:16:11 +0000 Matthew Waters * ext/gl/gstglvideomixer.c: glvideomixer: add support for the affine transformation meta 2016-03-23 03:14:40 +0000 Matthew Waters * ext/gl/gstglimagesink.c: glimagesink: support the affine transformation meta for any texture target 2016-04-05 16:22:49 +1000 Matthew Waters * ext/gl/gstglmixer.c: glmixer: set the current texture to 0 before mapping If we fail mapping, we don't want to use undefined video data in the subclass. 2015-09-08 14:37:57 +0200 Patricia Muscalu * ext/curl/gstcurlbasesink.c: curlsink: catch an unknown error In this case the socket callback has not been called by libcurl and the curlsink has not been notified about any connection problems by libcurl. This indicates that it's a bug in libcurl so catch it as an unknown error. https://bugzilla.gnome.org/show_bug.cgi?id=754432 2016-04-04 13:43:30 +1000 Matthew Waters * ext/gl/gstglmixerbin.c: glmixerbin: proxy the start-time-* properties from aggregator 2016-04-04 11:28:35 +0200 Santiago Carot-Nemesio * ext/dtls/gstdtlssrtpdec.c: * ext/dtls/gstdtlssrtpenc.c: dtls: Use unique names for internal elements to ease debugging https://bugzilla.gnome.org/show_bug.cgi?id=748651 2016-04-03 17:56:06 +0200 Aurélien Zanelli * gst-libs/gst/base/gstaggregator.c: aggregator: remove duplicated test of flow_return in pad_chain_internal https://bugzilla.gnome.org/show_bug.cgi?id=764549 2016-04-03 18:06:20 +0900 Kouhei Sutou * sys/directsound/Makefile.am: directsoundsrc: add missing -lole32 CLSIDFromString() requires ole32.dll. See https://msdn.microsoft.com/en-us/library/windows/desktop/ms680589%28v=vs.85%29.aspx CLSIDFromString() is introduced at f9464ce3549c2b3948a582464631ba4f8dd0d5e7 . https://bugzilla.gnome.org/show_bug.cgi?id=764523 2016-03-31 11:21:35 +0200 Christoffer Stengren * gst/gdp/dataprotocol.c: * gst/gdp/dataprotocol.h: * gst/gdp/gstgdpdepay.c: * gst/gdp/gstgdpdepay.h: gdpdepay: Query for buffer allocator before using default https://bugzilla.gnome.org/show_bug.cgi?id=764361 2016-03-22 19:27:39 +0200 Vivia Nikolaidou * gst/interlace/gstinterlace.c: interlace: Allow interlaced sink caps, do passthrough Allow interlace to receive already interlaced content, if compatible with its configuration. In that case, it will just do passthrough. https://bugzilla.gnome.org/show_bug.cgi?id=764036 2016-04-01 21:24:34 +0200 Stefan Sauer * ext/lv2/README: README: update to 1.0 and lilv 2016-04-01 18:33:13 +0200 Stefan Sauer * ext/lv2/gstlv2filter.c: lv2filter: remove the variable for the registry klass tag Just pass the string when registering. 2016-04-01 18:31:36 +0200 Stefan Sauer * ext/lv2/gstlv2filter.c: lv2filter: remove copy and paste of doc blob This doc block is already in gstlv2.c. 2016-04-01 12:59:19 +0200 Vanessa Chipirras Navalon * ext/opencv/gstsegmentation.cpp: * ext/opencv/gstsegmentation.h: opencv: segmentation: Ported to OpenCV version 3.1 Add namespace bgsegm, replacement functions and Template class for new OpenCV versions because these functions have been removed. cvarrToMat() is added because it is compatible with all versions of OpenCV and the use of class Mat constructor is eliminated, it is also deprecated in 3.X versions. Use the namespace cv because some functions are called many times. This patch keeps compatibility with 2.4 https://bugzilla.gnome.org/show_bug.cgi?id=760473 2016-04-01 14:12:08 +0300 Sreerenj Balachandran * gst-libs/gst/codecparsers/gstvp9parser.c: * gst-libs/gst/codecparsers/gstvp9parser.h: codecparser: vp9: move persistent fields from GstVp9FrameHdr to GstVp9Parser The subsampling_x, subsampling_y, bit_depth, color_space and color_range fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure. These fields are only present in keyframe or intra-only frame, no need to duplicate them for inter-frames. This is an ABI change. https://bugzilla.gnome.org/show_bug.cgi?id=764370 2016-04-01 12:08:53 +0200 Vanessa Chipirras Navalon * ext/opencv/gsttextoverlay.h: opencv: textoverlay: Ported to OpenCV version 3.1 imgproc_c.h is added because CvFont struct needs it in any 3.x version. We use this structure in GstOpencvTextOverlay. This keeps compatibility with 2.4. https://bugzilla.gnome.org/show_bug.cgi?id=760473 2016-04-01 11:56:20 +0300 Sebastian Dröge * gst/videoparsers/gsth264parse.c: h264parse: constrained-baseline is a subset of baseline We get into this code path if the profile is already constrained-baseline and downstream does not support constrained-baseline. So we should try baseline and the other compatible profiles. https://bugzilla.gnome.org/show_bug.cgi?id=764448 2016-03-22 07:19:03 +0000 Matthew Waters * gst-libs/gst/gl/egl/gsteglimagememory.c: eglimage: perform eglCreateImage in the gl thread while calling eglCreateImage without a GL context current in the executing thread works on the RPi, some other implementations will return errors. Marshall the eglCreateImage to the GL thread to appease these implementations. 2016-04-01 14:58:56 +1100 Matthew Waters * gst-libs/gst/gl/gstglviewconvert.c: glviewconvert: support outputting to multiple draw buffers on GLES3 A similar change that was done to glcolorconvert adding the necessary shader mangling. 2016-03-31 19:50:28 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: implement multiple render targets for GLES3 There are numerous slight differences required between Desktop GL and GLES3 for multiple render targets. 1. gl_FragData doesn't exist at all and one is required to use 'layout (location = ?) out ...' instead. 2. gl_FragColor doesn't exist, same as 1 3. texture2D() has been deprecated Fortunately most of these have been taken care of with GL3 and the shader mangling already exists so just expand the conditions they are used in. The gl_FragData issue requires a new mangle pass though. We also use this new pass on desktop GL for consistency. 2016-03-31 18:23:22 -0300 Thiago Santos * tests/check/elements/mssdemux.c: tests: mssdemux: do not use gst_object_unref for pure GObject* Deallocate GObject* with g_object_unref instead of gst_object_unref. Even if it works now, it is confusing and in the future it might not work if any GstObject specifics are added. https://bugzilla.gnome.org/show_bug.cgi?id=762142 2016-02-16 13:55:54 +0000 Florin Apostol * tests/check/elements/dash_demux.c: dashdemux: tests: use g_object_unref for test data The GstDashDemuxTestCase object is allocated using g_object_newv but in many places was being deallocated using gst_object_unref. This was caused by commit ae3ed25025e34ea9b09df59d22d7ebd7294560bc. https://bugzilla.gnome.org/show_bug.cgi?id=762142 2016-03-31 16:08:12 +0100 Luis de Bethencourt * ext/opencv/MotionCells.cpp: * ext/opencv/MotionCells.h: motioncells: fully construct MotionCells Some members of MotionCells were not being initialized in the constructor. Protect from potential garbage memory usage by fully initializing it. Moving m_frameSize out of the class because it is only used in performDetectionMotionCells(). CID 1197704 2016-04-01 00:23:25 +1100 Matthew Waters * ext/gl/Makefile.am: gl/build: add missing '\' at the end of the line in MakeFile.am Otherwise the following elements aren't included in the correct variable. Fixes error in 'make distcheck' failing to find gstgltestsrc.h 2016-03-31 23:07:17 +1100 Matthew Waters * tests/check/Makefile.am: gl/tests/pipelines: add custom _CFLAGS and LDADD As is done everywhere else. From what I can gather from make -C tests/check V=1 $(GST_PLUGINS_BAD_CFLAGS) is required in order to find in-tree headers as well as srcdir != builddir configurations. 2016-03-31 22:20:01 +1100 Matthew Waters * tests/check/Makefile.am: gl/tests: only build the simple-launch-lines test if we have GL 2016-03-31 20:00:37 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: don't use the predefined variable name sample Using 'sample' as a variable name is an error in GLES3 2016-03-22 23:10:24 +1100 Matthew Waters * tests/examples/gl/gtk/switchvideooverlay/Makefile.am: * tests/examples/gl/gtk/switchvideooverlay/main.cpp: gl/examples: fix switchvideooverlay for wayland and call XInitThreads() for X11 2016-03-21 15:25:21 +1100 Matthew Waters * configure.ac: * tests/examples/gl/gtk/Makefile.am: * tests/examples/gl/gtk/gtkvideooverlay/.gitignore: * tests/examples/gl/gtk/gtkvideooverlay/Makefile.am: * tests/examples/gl/gtk/gtkvideooverlay/gtkvideooverlay.vcproj: * tests/examples/gl/gtk/gtkvideooverlay/main.cpp: gl/examples: remove duplicated videooverlay example filtervideooverlay proved the exact same example (only with a extra glfiltercube). 2016-03-21 15:23:41 +1100 Matthew Waters * tests/examples/gl/gtk/3dvideo/main.cpp: gl/examples/3d: additions for wayland support 2016-03-17 23:51:44 +1100 Matthew Waters * tests/check/Makefile.am: * tests/check/pipelines/simple-launch-lines.c: gl/tests: add missing test to the build system Also update it for the current api 2016-03-17 23:50:00 +1100 Matthew Waters * ext/gl/effects/gstgleffectssources.c: * ext/gl/gstgldifferencematte.c: * ext/gl/gstgldifferencematte.h: gldifferencematte: port to gl3/gles2 2016-02-26 20:55:47 +1100 Matthew Waters * ext/gl/Makefile.am: * ext/gl/gltestsrc.c: * ext/gl/gstgltestsrc.c: * ext/gl/gstopengl.c: gltestsrc: port to gles2/gl3 This makes gltestsrc work everywhere \o/ - workaround RPi returning invalid values for positive coords in the checker shader - reduce the number of iterations in the mandelbrot shader for gles2 https://bugzilla.gnome.org/show_bug.cgi?id=751540 2016-02-26 16:57:47 +1100 Matthew Waters * ext/gl/gltestsrc.c: gltestsrc: port smpte pattern to shaders Loosely based on patch by Lubosz Sarnecki https://bugzilla.gnome.org/show_bug.cgi?id=751540 2016-02-26 12:02:15 +1100 Matthew Waters * ext/gl/gltestsrc.c: gltestsrc: implement the circular method https://bugzilla.gnome.org/show_bug.cgi?id=759801 2016-02-25 21:18:31 +1100 Matthew Waters * ext/gl/gltestsrc.c: * ext/gl/gltestsrc.h: * ext/gl/gstgltestsrc.c: * ext/gl/gstgltestsrc.h: gltestsrc: add a generic src framework Any unsupported pattern (circular) results in an error 2016-02-29 20:15:24 +1100 Matthew Waters * ext/gl/gstglstereosplit.c: * ext/gl/gstglstereosplit.h: glsterosplit: remove internal glupload/glcolorconvert They are provided separately as elements and no other element contains the internal references to glupload/glcolorconvert. 2016-03-31 19:43:04 +1100 Matthew Waters * configure.ac: * gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h: * gst-libs/gst/gl/gstglapi.h: * gst-libs/gst/gl/gstglcontext.c: gl: add support for building against GLES3 headers with a fallback to GLES2 headers if available. 2016-03-31 19:38:12 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemory.c: glmemory: add checking the read implementation format/type on gles2 platforms By default, reading GL_RED or GL_RG us unsupported by glReadPixels unless exposed through GL_COLOR_READ_IMPLEMENTATION_FORMAT/TYPE. This allows downloading multiple-planar video frames where possible. 2016-03-31 19:35:09 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasememory.c: glbasememory: rollback map state when subclass map fails Otherwise our state doesn't reflect reality. 2016-03-31 19:31:00 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemorypbo.c: glmemorypbo: unmap pbo memory on pbo read error Otherwise we are returning failure with a dangling map! Also only unset the NEED_DOWNLOAD flag in download_transfer() if the read actually succeeds. 2016-03-31 19:25:32 +1100 Matthew Waters * gst-libs/gst/gl/glprototypes/shaders.h: * gst-libs/gst/gl/gstglshader.c: * gst-libs/gst/gl/gstglshader.h: glshader: add glBindFragDataLocation There are some cases where it's needed for binding in/out variables in shaders. e.g. glsl 150 (gl 3.2) doesn't support the 'layout (location = ?)' specifiers in the shader source so we have to bind them ourselves. 2016-03-31 12:20:30 +0300 Sebastian Dröge * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Handle find_stream_for_pad() without g_assert_not_reached() if no pad is found Happens e.g. if a RECONFIGURE event is sent from downstream while we're switching pads at this very moment. The old pad is gone and the stream has a new pad. https://bugzilla.gnome.org/show_bug.cgi?id=764404 2016-03-31 01:21:42 +1100 Matthew Waters * sys/nvenc/gstnvbaseenc.c: nvenc: add support for building against version 6 of the SDK While mostly API compatible, the ABI has changed so binaries will not work across header versions (and ultimately nvidia driver releases). https://bugzilla.gnome.org/show_bug.cgi?id=763324 2016-03-30 22:34:59 +0100 Vanessa Chipirras Navalon * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/inspect/plugin-opencv.xml: * ext/opencv/Makefile.am: * ext/opencv/gstopencv.cpp: * ext/opencv/gstpyramidsegment.cpp: * ext/opencv/gstpyramidsegment.h: opencv: pyramidsegment: delete element cvPyrSegmentation() has been deprecated in OpenCV 3.0, and there isn't any function to replace it. Deleting this element so we can support OpenCV 3.1 without build issues. https://bugzilla.gnome.org/show_bug.cgi?id=760473 2016-01-26 16:52:37 +0100 Vanessa Chipirras Navalon * ext/opencv/gstcvsmooth.cpp: opencv: gstcvsmooth: Ported to OpenCV version 3.1 cvarrToMat() is added because it is compatible with all versions of Opencv and the use the class constructor Mat is eliminated because is deprecated in 3.X versions. This keeps compatibility with 2.4. https://bugzilla.gnome.org/show_bug.cgi?id=760473 2016-01-27 10:05:13 +0100 Vanessa Chipirras Navalon * ext/opencv/gstgrabcut.cpp: opencv: grabcut: Ported to OpenCV version 3.1 cvarrToMat() is added because it is compatible with all versions of Opencv and using the class Mat constructor is eliminated, because is deprecated in 3.X versions. The use the using namespace cv because is called some functions many times. This keeps compatibility with 2.4. https://bugzilla.gnome.org/show_bug.cgi?id=760473 2016-01-27 15:37:39 +0100 Vanessa Chipirras Navalon * ext/opencv/gstfaceblur.cpp: opencv: faceblur: Ported to OpenCV version 3.1 cvarrToMat() is added because it is compatible with all versions of Opencv and the use of the class constructor Mat is eliminated because is deprecated in 3.X versions. Included 'using namespace std' because it is needed for the Vector class in 3.X versions. This keeps compatibility with 2.4. https://bugzilla.gnome.org/show_bug.cgi?id=760473 2016-01-27 15:51:37 +0100 Vanessa Chipirras Navalon * ext/opencv/gsthanddetect.cpp: opencv: handdetect: Ported to OpenCV version 3.1 cvarrToMat() is added because it is compatible with all versions of Opencv and the use of the class constructor Mat is eliminated because is deprecated in 3.X versions. Included 'using namespace std' because it is needed for the vector class in 3.X versions. This keeps compatibility with 2.4. https://bugzilla.gnome.org/show_bug.cgi?id=760473 2016-01-27 16:51:13 +0100 Vanessa Chipirras Navalon * ext/opencv/gstretinex.cpp: opencv: retinex: Ported to OpenCV version 3.1 cvarrToMat() is added because it is compatible with all versions of Opencv and using the class constructor Mat is eliminated because is deprecated in 3.X versions. This keeps compatibility with 2.4. https://bugzilla.gnome.org/show_bug.cgi?id=760473 2016-01-28 16:19:46 +0100 Vanessa Chipirras Navalon * ext/opencv/gstdisparity.cpp: * ext/opencv/gstdisparity.h: opencv: disparity: Ported to OpenCV version 3.1 'METHOD_VAR', 'METHOD_GC' is removed because there aren't equivalent functions in new OpenCV versions. 'img_right_as_cvMat_rgb', 'img_left_as_cvMat_rgb' and 'depth_map_as_cvMat2' variables is removed because these aren't used. cvarrToMat() is added because it is compatible with all versions of Opencv and using the class Mat constructor is eliminated, because is deprecated in 3.X versions. The use 'using namespace cv' because is called some functions many times. This keeps compatibility with 2.4. https://bugzilla.gnome.org/show_bug.cgi?id=760473 2016-02-01 13:58:49 +0100 Vanessa Chipirras Navalon * ext/opencv/gstskindetect.cpp: opencv: skindetect: Ported to OpenCV version 3.1 cvCVPixToPlane() has been deprecated in OpenCV 3.0, and there is function to replace it cvSplit(). The include compat.hpp is deleted because in 3.X versions doen't exist and it isn't necessary for 2.4.X versions in this element. This keeps compatibility with 2.4. https://bugzilla.gnome.org/show_bug.cgi?id=760473 2016-01-28 17:40:51 +0100 Vanessa Chipirras Navalon * configure.ac: * ext/opencv/gstopencvutils.cpp: opencv: Ported to OpenCV version 3.1 OpenCV configure.ac was changed to work with new versions of OpenCV 3.X. A new include is added gstopencvutils.cpp because it contains the previous. This keeps compatibility with 2.4. https://bugzilla.gnome.org/show_bug.cgi?id=760473 2016-03-30 10:34:07 +0300 Sebastian Dröge * sys/androidmedia/gstahcsrc.c: ahcsrc: There's no point in read-only CONSTRUCT properties And creating one is causing assertions. Also get rid of the other CONSTRUCT property as it's a) unneeded for default initialization and b) you're not supposed to use constructor properties when creating element instances and the GStreamer API doesn't provide direct ways for doing so. https://bugzilla.gnome.org/show_bug.cgi?id=764339 2016-03-07 14:57:35 +0100 Edward Hervey * ext/teletextdec/gstteletextdec.c: teletexdec: Simplify negotiation code No need to use a while() loop if we're going only going to use the first structure of the caps ... CID #1341748 2016-03-28 13:52:07 +0300 Sebastian Dröge * tests/check/libs/aggregator.c: aggregator: Fix leak in unit test GST_PAD_PROBE_HANDLED means that we should've unreffed the probe data, it was handled by us in one way or another. 2016-03-28 08:46:10 +0530 Nirbheek Chauhan * .gitignore: .gitignore: Ignore some more test temporary files 2016-03-28 08:45:45 +0530 Nirbheek Chauhan * tests/check/elements/compositor.c: tests/compositor: Add test for aggregator pad numbering Tests that the behaviour in 7a5cb5a473 is being conformed to. 2016-03-27 19:06:50 +0530 Nirbheek Chauhan * gst-libs/gst/base/gstaggregator.c: aggregator: Fix strcmp test for sink template 2016-03-27 18:41:30 +0530 Nirbheek Chauhan * gst-libs/gst/base/gstaggregator.c: aggregator: Don't try to be too smart while allocating pad names Previously, while allocating the pad number for a new pad, aggregator was maintaining an interesting relationship between the pad count and the pad number. If you requested a sink pad called "sink_6", padcount (which is badly named and actually means number-of-pads-minus-one) would be set to 6. Which means that if you then requested a sink pad called "sink_0", it would be assigned the name "sink_6" again, which fails the non-uniqueness test inside gstelement.c. This can be fixed by instead setting padcount to be 7 in that case, but this breaks manual management of pad names by the application since it then becomes impossible to request a pad called "sink_2". Instead, we fix this by always directly using the requested name as the sink pad name. Uniqueness of the pad name is tested separately inside gstreamer core. If no name is requested, we use the next available pad number. Note that this is important since the sinkpad numbering in aggregator is not meaningless. Videoaggregator uses it to decide the Z-order of video frames. 2016-02-23 15:11:36 +0100 Thibault Saunier * configure.ac: * ext/lv2/Makefile.am: * ext/lv2/gstlv2.c: * ext/lv2/gstlv2.h: * ext/lv2/gstlv2filter.c: lv2: Port filters to GStreamer 1.0 and use lilv instead of slv2 Properly separate files as we will not have only one single base class for all elements as we used to with 0.10, but the same way it is done with ladspa, we subclass GstAudioFilter, GstBaseSource etc... https://bugzilla.gnome.org/show_bug.cgi?id=678207 2016-03-27 14:29:58 +0530 Nirbheek Chauhan * ext/gtk/gstgtkglsink.c: * ext/gtk/gstgtksink.c: * ext/gtk/gtkgstbasewidget.c: gtk: Fix logging in base widget and fix desc of GL sink Set a default category for gtkgstbasewidget lest the logging go to the 'default' category where it can't be found easily 2016-03-27 03:11:45 +0200 Yann Jouanin * ext/rtmp/gstrtmpsrc.c: * ext/rtmp/gstrtmpsrc.h: rtmpsrc plugin : add timeout option https://bugzilla.gnome.org/show_bug.cgi?id=764251 2016-03-18 13:35:37 +0200 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Instead of releasing request pads on stop(), clear them only Request pads are requested by applications and as such should only be released by them again. Instead of releasing them when stopping the muxer, just clear their state so that they can be used again when starting the muxer again. https://bugzilla.gnome.org/show_bug.cgi?id=763862 2016-03-05 09:47:27 +0200 Sebastian Dröge * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/player/gstplayer-media-info-private.h: * gst-libs/gst/player/gstplayer-media-info.c: * gst-libs/gst/player/gstplayer-media-info.h: * gst-libs/gst/player/gstplayer.c: * win32/common/libgstplayer.def: player: Add is_live flag to the GstPlayerMediaInfo https://bugzilla.gnome.org/show_bug.cgi?id=763126 2016-02-29 11:39:54 +0200 Sebastian Dröge * gst/sdp/Makefile.am: * gst/sdp/gstsdpelem.c: * gst/sdp/gstsdpsrc.c: * gst/sdp/gstsdpsrc.h: sdp: Add new sdpsrc element This can read from an SDP file or get the SDP data via property. Works around the problem that sdpdemux inside decodebin fails because the GST_STATE_CHANGE_NO_PREROLL is not observed by the pipeline. See https://bugzilla.gnome.org/show_bug.cgi?id=702495 https://bugzilla.gnome.org/show_bug.cgi?id=762860 2016-03-25 17:49:14 +1100 Matthew Waters * ext/gtk/gtkgstglwidget.c: gtk/gl: don't assert when gdk doesn't provide a GL context Allows the application to check whether gtkglsink is supported by setting the element to READY. https://bugzilla.gnome.org/show_bug.cgi?id=764148 2016-03-07 19:41:19 -0300 Thiago Santos * gst/mpegtsdemux/mpegtsbase.c: mpegtsbase: plug EIT string leak 2016-03-07 19:06:19 -0300 Thiago Santos * sys/dvb/dvbbasebin.c: dvbbasebin: unref pat table after usage Remember to unref the GPtrArray of the PAT table after use 2016-03-04 20:05:38 -0300 Thiago Santos * sys/dvb/dvbbasebin.c: dvbbasebin: plug some leaks Plug various leaks in dvbbasebin. 2016-03-03 11:31:01 -0300 Thiago Santos * gst/mpegtsdemux/mpegtspacketizer.c: mpegtspacketizer: simplify variable reset Just set it directly to 0, instead of checking and reseting 2016-03-01 18:21:12 -0300 Thiago Santos * sys/dvb/gstdvbsrc.c: dvbsrc: print time in same format Makes it easier to compare 2016-03-15 16:22:59 -0700 Martin Kelly * sys/androidmedia/gst-android-hardware-camera.c: * sys/androidmedia/gstahcsrc.c: ahc: use g_slice_new instead of g_slice_new0 In many cases, we use g_slice_new0 and then immediately overwrite the allocated memory. This is inefficient. Since we're going to immediately overwrite it, we might as well use plain g_slice_new. https://bugzilla.gnome.org/show_bug.cgi?id=763998 2016-03-10 08:50:28 +0900 Vineeth TM * sys/d3dvideosink/d3dvideosink.c: d3dvideosink: post message to application for unhandled keyboard/mouse events https://bugzilla.gnome.org/show_bug.cgi?id=763403 2016-03-10 08:49:01 +0900 Vineeth TM * ext/directfb/dfbvideosink.c: dfbvideosink: post message to application for unhandled keyboard/mouse events https://bugzilla.gnome.org/show_bug.cgi?id=763403 2016-03-10 08:44:57 +0900 Vineeth TM * ext/gtk/gstgtkbasesink.c: gtkbasesink: post message to application for unhandled keyboard/mouse events https://bugzilla.gnome.org/show_bug.cgi?id=763403 2016-03-03 20:10:16 +0900 Justin Kim * sys/androidmedia/gstahcsrc.c: * sys/androidmedia/gstahcsrc.h: ahcsrc: remove probe_properties It's a residue of 0.10. https://bugzilla.gnome.org/show_bug.cgi?id=763100 2016-03-04 15:50:26 +0900 Vineeth TM * ext/apexsink/gstapexsink.c: * ext/assrender/gstassrender.c: * ext/bz2/gstbz2dec.c: * ext/bz2/gstbz2enc.c: * ext/curl/gstcurlbasesink.c: * ext/daala/gstdaaladec.c: * ext/daala/gstdaalaenc.c: * ext/dash/gstdashdemux.c: * ext/directfb/dfbvideosink.c: * ext/dtls/gstdtlsdec.c: * ext/dtls/gstdtlsenc.c: * ext/dtls/gstdtlssrtpdec.c: * ext/dtls/gstdtlssrtpdemux.c: * ext/dtls/gstdtlssrtpenc.c: * ext/dts/gstdtsdec.c: * ext/faac/gstfaac.c: * ext/faad/gstfaad.c: * ext/flite/gstflitetestsrc.c: * ext/fluidsynth/gstfluiddec.c: * ext/gl/caopengllayersink.m: * ext/gl/gstglcolorconvertelement.c: * ext/gl/gstgldownloadelement.c: * ext/gl/gstglfilterbin.c: * ext/gl/gstglimagesink.c: * ext/gl/gstglmixer.c: * ext/gl/gstglmixerbin.c: * ext/gl/gstglsrcbin.c: * ext/gl/gstglstereomix.c: * ext/gl/gstglstereosplit.c: * ext/gl/gstgltestsrc.c: * ext/gl/gstgluploadelement.c: * ext/gl/gstglvideoflip.c: * ext/gme/gstgme.c: * ext/gsm/gstgsmdec.c: * ext/gsm/gstgsmenc.c: * ext/gtk/gstgtkglsink.c: * ext/gtk/gstgtksink.c: * ext/hls/gsthlsdemux.c: * ext/hls/gsthlssink.c: * ext/kate/gstkatedec.c: * ext/kate/gstkateenc.c: * ext/kate/gstkateparse.c: * ext/kate/gstkatetiger.c: * ext/libde265/libde265-dec.c: * ext/libmms/gstmms.c: * ext/libvisual/visual-gl.c: * ext/mimic/gstmimdec.c: * ext/mimic/gstmimenc.c: * ext/modplug/gstmodplug.cc: * ext/mpeg2enc/gstmpeg2enc.cc: * ext/mplex/gstmplex.cc: * ext/musepack/gstmusepackdec.c: * ext/nas/nassink.c: * ext/neon/gstneonhttpsrc.c: * ext/openal/gstopenalsink.c: * ext/openal/gstopenalsrc.c: * ext/opencv/gstcvequalizehist.cpp: * ext/opencv/gstcvlaplace.cpp: * ext/opencv/gstcvsobel.cpp: * ext/opencv/gstdisparity.cpp: * ext/opencv/gstedgedetect.cpp: * ext/opencv/gstfaceblur.cpp: * ext/opencv/gstfacedetect.cpp: * ext/opencv/gstgrabcut.cpp: * ext/opencv/gsthanddetect.cpp: * ext/opencv/gstmotioncells.cpp: * ext/opencv/gstpyramidsegment.cpp: * ext/opencv/gstretinex.cpp: * ext/opencv/gstsegmentation.cpp: * ext/opencv/gstskindetect.cpp: * ext/opencv/gsttemplatematch.cpp: * ext/opencv/gsttextoverlay.cpp: * ext/openexr/gstopenexrdec.cpp: * ext/openh264/gstopenh264dec.cpp: * ext/openh264/gstopenh264enc.cpp: * ext/openjpeg/gstopenjpegdec.c: * ext/openjpeg/gstopenjpegenc.c: * ext/openni2/gstopenni2src.cpp: * ext/opus/gstopusparse.c: * ext/qt/gstqtsink.cc: * ext/resindvd/resindvdbin.c: * ext/resindvd/resindvdsrc.c: * ext/resindvd/rsndec.c: * ext/resindvd/rsninputselector.c: * ext/resindvd/rsnparsetter.c: * ext/rsvg/gstrsvgdec.c: * ext/rsvg/gstrsvgoverlay.c: * ext/rtmp/gstrtmpsink.c: * ext/rtmp/gstrtmpsrc.c: * ext/sbc/gstsbcdec.c: * ext/sbc/gstsbcenc.c: * ext/schroedinger/gstschrodec.c: * ext/schroedinger/gstschroenc.c: * ext/sdl/sdlaudiosink.c: * ext/smoothstreaming/gstmssdemux.c: * ext/sndfile/gstsfdec.c: * ext/sndfile/gstsfsink.c: * ext/sndfile/gstsfsrc.c: * ext/sndio/sndiosink.c: * ext/sndio/sndiosrc.c: * ext/soundtouch/gstpitch.cc: * ext/spandsp/gstdtmfdetect.c: * ext/spandsp/gstspanplc.c: * ext/spandsp/gsttonegeneratesrc.c: * ext/spc/gstspc.c: * ext/srtp/gstsrtpdec.c: * ext/srtp/gstsrtpenc.c: * ext/teletextdec/gstteletextdec.c: * ext/timidity/gsttimidity.c: * ext/timidity/gstwildmidi.c: * ext/voaacenc/gstvoaacenc.c: * ext/voamrwbenc/gstvoamrwbenc.c: * ext/vulkan/vksink.c: * ext/wayland/gstwaylandsink.c: * ext/webp/gstwebpdec.c: * ext/webp/gstwebpenc.c: * ext/x265/gstx265enc.c: * ext/xvid/gstxviddec.c: * ext/xvid/gstxvidenc.c: * ext/zbar/gstzbar.c: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/insertbin/gstinsertbin.c: * gst/adpcmdec/adpcmdec.c: * gst/adpcmenc/adpcmenc.c: * gst/aiff/aiffmux.c: * gst/aiff/aiffparse.c: * gst/asfmux/gstasfmux.c: * gst/asfmux/gstasfparse.c: * gst/asfmux/gstrtpasfpay.c: * gst/audiobuffer/gstaudioringbuffer.c: * gst/audiofxbad/gstaudiochannelmix.c: * gst/audiomixer/gstaudiointerleave.c: * gst/audiomixer/gstaudiomixer.c: * gst/audiovisualizers/gstspacescope.c: * gst/audiovisualizers/gstspectrascope.c: * gst/audiovisualizers/gstsynaescope.c: * gst/audiovisualizers/gstwavescope.c: * gst/autoconvert/gstautoconvert.c: * gst/autoconvert/gstautovideoconvert.c: * gst/bayer/gstrgb2bayer.c: * gst/camerabin2/gstdigitalzoom.c: * gst/camerabin2/gstviewfinderbin.c: * gst/camerabin2/gstwrappercamerabinsrc.c: * gst/cdxaparse/gstcdxaparse.c: * gst/cdxaparse/gstvcdparse.c: * gst/coloreffects/gstchromahold.c: * gst/coloreffects/gstcoloreffects.c: * gst/compositor/compositor.c: * gst/dataurisrc/gstdataurisrc.c: * gst/dccp/gstdccpclientsink.c: * gst/dccp/gstdccpclientsrc.c: * gst/dccp/gstdccpserversink.c: * gst/dccp/gstdccpserversrc.c: * gst/debugutils/fpsdisplaysink.c: * gst/debugutils/gstchecksumsink.c: * gst/debugutils/gstchopmydata.c: * gst/debugutils/gstcompare.c: * gst/debugutils/gstdebugspy.c: * gst/debugutils/gsterrorignore.c: * gst/dvbsuboverlay/gstdvbsuboverlay.c: * gst/dvdspu/gstdvdspu.c: * gst/faceoverlay/gstfaceoverlay.c: * gst/festival/gstfestival.c: * gst/fieldanalysis/gstfieldanalysis.c: * gst/freeverb/gstfreeverb.c: * gst/gaudieffects/gstburn.c: * gst/gaudieffects/gstchromium.c: * gst/gaudieffects/gstdilate.c: * gst/gaudieffects/gstdodge.c: * gst/gaudieffects/gstexclusion.c: * gst/gaudieffects/gstgaussblur.c: * gst/gaudieffects/gstsolarize.c: * gst/gdp/gstgdpdepay.c: * gst/gdp/gstgdppay.c: * gst/geometrictransform/gstgeometrictransform.c: * gst/hdvparse/gsthdvparse.c: * gst/id3tag/gstid3mux.c: * gst/inter/gstinteraudiosink.c: * gst/inter/gstinteraudiosrc.c: * gst/inter/gstintersubsink.c: * gst/inter/gstintersubsrc.c: * gst/inter/gstintervideosink.c: * gst/inter/gstintervideosrc.c: * gst/interlace/gstinterlace.c: * gst/ivfparse/gstivfparse.c: * gst/ivtc/gstcombdetect.c: * gst/ivtc/gstivtc.c: * gst/jp2kdecimator/gstjp2kdecimator.c: * gst/jpegformat/gstjifmux.c: * gst/jpegformat/gstjpegparse.c: * gst/librfb/gstrfbsrc.c: * gst/midi/midiparse.c: * gst/mixmatrix/mixmatrix.c: * gst/mpegpsmux/mpegpsmux.c: * gst/mpegtsdemux/mpegtsbase.c: * gst/mpegtsdemux/mpegtsparse.c: * gst/mpegtsmux/mpegtsmux.c: * gst/mve/gstmvemux.c: * gst/mxf/mxfdemux.c: * gst/mxf/mxfmux.c: * gst/netsim/gstnetsim.c: * gst/nuvdemux/gstnuvdemux.c: * gst/onvif/gstrtponvifparse.c: * gst/onvif/gstrtponviftimestamp.c: * gst/overlay/gstoverlay.c: * gst/patchdetect/gstpatchdetect.c: * gst/pcapparse/gstirtspparse.c: * gst/pcapparse/gstpcapparse.c: * gst/pnm/gstpnmdec.c: * gst/pnm/gstpnmenc.c: * gst/rawparse/gstrawparse.c: * gst/removesilence/gstremovesilence.c: * gst/sdi/gstsdidemux.c: * gst/sdi/gstsdimux.c: * gst/sdp/gstsdpdemux.c: * gst/segmentclip/gstaudiosegmentclip.c: * gst/segmentclip/gstvideosegmentclip.c: * gst/siren/gstsirendec.c: * gst/siren/gstsirenenc.c: * gst/smooth/gstsmooth.c: * gst/speed/gstspeed.c: * gst/subenc/gstsrtenc.c: * gst/subenc/gstwebvttenc.c: * gst/tta/gstttadec.c: * gst/tta/gstttaparse.c: * gst/vbidec/gstvbidec.c: * gst/videoframe_audiolevel/gstvideoframe-audiolevel.c: * gst/videomeasure/gstvideomeasure_collector.c: * gst/videomeasure/gstvideomeasure_ssim.c: * gst/videoparsers/gstdiracparse.c: * gst/videoparsers/gsth263parse.c: * gst/videoparsers/gsth264parse.c: * gst/videoparsers/gsth265parse.c: * gst/videoparsers/gstmpeg4videoparse.c: * gst/videoparsers/gstmpegvideoparse.c: * gst/videoparsers/gstpngparse.c: * gst/videoparsers/gstvc1parse.c: * gst/vmnc/vmncdec.c: * gst/y4m/gsty4mdec.c: * gst/yadif/gstyadif.c: * sys/acmenc/acmenc.c: * sys/acmmp3dec/acmmp3dec.c: * sys/androidmedia/gstahcsrc.c: * sys/applemedia-nonpublic/celvideosrc.c: * sys/applemedia-nonpublic/miovideosrc.c: * sys/applemedia/atdec.c: * sys/applemedia/avfassetsrc.m: * sys/applemedia/avfvideosrc.m: * sys/applemedia/avsamplevideosink.m: * sys/applemedia/iosassetsrc.m: * sys/applemedia/qtkitvideosrc.m: * sys/applemedia/vtdec.c: * sys/avc/gstavcsrc.cpp: * sys/bluez/gsta2dpsink.c: * sys/bluez/gstavdtpsink.c: * sys/bluez/gstavdtpsrc.c: * sys/d3dvideosink/d3dvideosink.c: * sys/decklink/gstdecklinkaudiosink.cpp: * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/directsound/gstdirectsoundsrc.c: * sys/dshowsrcwrapper/gstdshowaudiosrc.cpp: * sys/dshowsrcwrapper/gstdshowvideosrc.cpp: * sys/dshowvideosink/dshowvideosink.cpp: * sys/dvb/dvbbasebin.c: * sys/dvb/gstdvbsrc.c: * sys/dxr3/dxr3audiosink.c: * sys/dxr3/dxr3spusink.c: * sys/dxr3/dxr3videosink.c: * sys/fbdev/gstfbdevsink.c: * sys/linsys/gstlinsyssdisink.c: * sys/linsys/gstlinsyssdisrc.c: * sys/nvenc/gstnvbaseenc.c: * sys/nvenc/gstnvh264enc.c: * sys/opensles/openslessink.c: * sys/opensles/openslessrc.c: * sys/pvr2d/gstpvrvideosink.c: * sys/qcam/gstqcamsrc.c: * sys/shm/gstshmsink.c: * sys/shm/gstshmsrc.c: * sys/tinyalsa/tinyalsasink.c: * sys/uvch264/gstuvch264_mjpgdemux.c: * sys/uvch264/gstuvch264_src.c: * sys/vcd/vcdsrc.c: * sys/vdpau/gstvdpsink.c: * sys/vdpau/h264/gstvdph264dec.c: * sys/vdpau/mpeg/gstvdpmpegdec.c: * sys/vdpau/mpeg4/gstvdpmpeg4dec.c: * sys/wasapi/gstwasapisink.c: * sys/wasapi/gstwasapisrc.c: * sys/wininet/gstwininetsrc.c: * sys/winscreencap/gstdx9screencapsrc.c: * sys/winscreencap/gstgdiscreencapsrc.c: * tests/check/elements/autoconvert.c: * tests/check/elements/camerabin.c: * tests/check/elements/test_http_src.c: * tests/check/libs/aggregator.c: * tools/element-templates/sinkpad: * tools/element-templates/sinkpad-audio: * tools/element-templates/sinkpad-simple: * tools/element-templates/sinkpad-template: * tools/element-templates/srcpad: * tools/element-templates/srcpad-audio: * tools/element-templates/srcpad-simple: * tools/element-templates/srcpad-template: bad: use new gst_element_class_add_static_pad_template() https://bugzilla.gnome.org/show_bug.cgi?id=763081 2016-03-07 17:23:23 -0800 Martin Kelly * sys/androidmedia/gst-android-hardware-camera.c: ahc: eliminate AHC*_CALL macros Currently, we use AHC*_CALL macros to call many of the Camera functions. However, we already have helper classes to call the Camera functions, so eliminate the macros. As a nice side-benefit, we also get improved error handling and reporting when something goes wrong calling these functions, because a GError gets populated, and we log a GST_ERROR when something fails. This was harder to do using macros, as all error handling was hidden from the caller. https://bugzilla.gnome.org/show_bug.cgi?id=763065 2016-02-18 11:29:06 -0800 Martin Kelly * sys/androidmedia/gst-android-hardware-camera.c: ahc: use gst unref functions https://bugzilla.gnome.org/show_bug.cgi?id=763065 2016-02-18 14:08:13 -0800 Martin Kelly * sys/androidmedia/gst-android-hardware-camera.c: ahc: use gst new object functions https://bugzilla.gnome.org/show_bug.cgi?id=763065 2016-03-17 13:44:13 +0000 Vincent Penquerc'h * gst/interlace/gstinterlace.c: interlace: fix negotiation with fixed framerate downstream https://bugzilla.gnome.org/show_bug.cgi?id=762924 2016-03-24 14:08:46 +0200 Sebastian Dröge * tests/examples/gl/gtk/fxtest/fxtest.c: gl/gtk: Fix compiler warning in example fxtest.c: In function ‘main’: fxtest.c:190:3: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] GtkWidget *window; ^~~~~~~~~ 2016-03-24 13:33:12 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.8.0 === 2016-03-24 12:33:19 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-mimic.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: * win32/common/config.h: Release 1.8.0 2016-03-24 12:05:23 +0200 Sebastian Dröge * 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/ky.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: Update .po files 2016-03-23 13:43:46 +0100 Thibault Saunier * ext/vulkan/vkinstance.c: vulkan: Minor string fix 2016-03-23 22:13:47 +1100 Matthew Waters * ext/vulkan/vkinstance.c: vulkan: VK_API_VERSION has been removed In a stable release too, naughty. Use VK_API_VERSION_1_0 instead https://bugzilla.gnome.org/show_bug.cgi?id=764066 2016-03-22 07:20:59 +0000 Matthew Waters * gst-libs/gst/gl/glprototypes/sync.h: gl/proto: sync operations are available on GLES 3.0 Without the GST_GL_API_GLES2 bit set, we will not even attempt to look for the function pointers in the core library and will fallback to glFlush/glFinish. 2016-03-22 07:16:34 +0000 Matthew Waters * configure.ac: gl/build: add GST_GL_HAVE_DMABUF to gstglconfig.h it's exposed in public API so hiding it in an AC_DEFINE for config.h only works when building libgstgl itself. Attempting to use libgstgl (especially on egl platforms) will throw a compilation error. 2016-03-21 15:22:15 +0900 Jimmy Ohn * gst/mxf/mxfdemux.c: mxfdemux: Fix query memory leak Peer query isn't being freed in case of GST_QUERY_SEEKING. https://bugzilla.gnome.org/show_bug.cgi?id=763974 2016-03-18 19:45:09 +0200 Sebastian Dröge * ext/vulkan/Makefile.am: vulkan: Ship missing headers with tarballs https://bugzilla.gnome.org/show_bug.cgi?id=763877 2016-03-17 19:24:32 +0000 Aleksander Wabik * gst/videoparsers/gsth264parse.c: * gst/videoparsers/gsth265parse.c: h264parse, h265parse: fix handling of downstream force-key-unit events The parser handles the downstream force-key-unit event incorrectly, it tries to parse it as an upstream force-key-unit event, does not check the return value, and then uses uninitialized memory in "all_headers" boolean variable. https://bugzilla.gnome.org/show_bug.cgi?id=763793 2016-03-17 22:43:12 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemory.c: glmemory: unset GL_UNPACK_ROW_LENGTH in opengl3 If the user uploads their own texture without setting the unpack length, then then the result will have the appearance of stride mismanagement due to an incorrect row length. 2016-03-17 16:34:42 +1100 Matthew Waters * tests/examples/gl/qt/mousevideooverlay/main.cpp: * tests/examples/gl/qt/qglwidgetvideooverlay/main.cpp: * tests/examples/gl/qt/qglwtextureshare/main.cpp: gl/examples/qt: restrict the GL API to opengl where needed Until the examples are ported to opengl3/gles2, they will not work with any other GL api. 2016-03-17 16:31:52 +1100 Matthew Waters * tests/examples/gl/gtk/filtervideooverlay/Makefile.am: * tests/examples/gl/gtk/filtervideooverlay/main.cpp: * tests/examples/gl/gtk/fxtest/Makefile.am: * tests/examples/gl/gtk/fxtest/fxtest.c: * tests/examples/gl/gtk/fxtest/pixbufdrop.c: * tests/examples/gl/gtk/gtkvideooverlay/Makefile.am: * tests/examples/gl/gtk/gtkvideooverlay/main.cpp: gl/examples/gtk: call XInitThreads Fixes some sporadic X11 threading assertions. 2016-03-17 03:06:05 +1100 Matthew Waters * gst-libs/gst/gl/gstglutils.c: glutils: remove custom code for setting caps features Just use gst_caps_set_features() instead. 2016-03-17 01:52:00 +1100 Matthew Waters * gst-libs/gst/gl/gstglfilter.c: glfilter: only allow the same src/sink caps when we are in passthrough mode If we are given caps with extra features (like the overlay composition features), we can only deal with that when we are in passthrough mode. Previously we were bailing entirely and not allowing passthrough filter elements with things like textoverlay. Fixes the following pipeline (assuming glfilter supports passthrough): gl ! textoverlay ! glfilter ! ... ! glimagesinkelement https://bugzilla.gnome.org/show_bug.cgi?id=763756 2016-03-16 22:48:00 +1100 Matthew Waters * gst-libs/gst/gl/gstglupload.c: glupload: deal with the ANY caps feature correctly When transforming, xplode it out into the necessary caps features both with and without the passthough features. Fixes negotiation in the following class of pipelines: gl ! textoverlay ! glupload ! glimagesinkelement https://bugzilla.gnome.org/show_bug.cgi?id=763756 2016-03-16 22:19:25 +1100 Matthew Waters * ext/wayland/wldisplay.c: wayland: fix null pointer dereference on error gnome-shell doesn't the support wl_scaler interface which makes creating a wayland display fail creation. Found in the generic state changes test 2016-03-16 22:16:34 +1100 Matthew Waters * ext/gl/gstglstereomix.c: * ext/gl/gstglstereosplit.c: glstereo{mix,split}: allow running on GLES 2/3 It's mostly supported for GLES 2.x, fully supported on GLES 3.x 2016-03-16 12:03:53 +0200 Sebastian Dröge * sys/opensles/openslesringbuffer.c: openslesringbuffer: Warn if the position reported by OpenSL is higher than what we queued up so far This would hint at wrong position reporting, and apparently sometimes happens after a seek. 2016-03-16 11:34:46 +0200 Sebastian Dröge * gst/mxf/mxfjpeg2000.c: mxfmux: Fix typo in JPEG2000 colorspace sRGC -> sRGB === release 1.7.91 === 2016-03-15 12:13:17 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-mimic.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: * win32/common/config.h: Release 1.7.91 2016-03-15 11:56:59 +0200 Sebastian Dröge * 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/ky.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: Update .po files 2016-03-12 15:44:54 +0000 Tim-Philipp Müller * gst/mpegtsdemux/tsdemux.c: tsdemux: add video/x-h265 to template caps 2016-03-12 03:00:14 +1100 Jan Schmidt * gst/mpegtsdemux/mpegtsbase.c: * gst/mpegtsdemux/tsdemux.c: mpegts: Don't leave freed programs in the hash table When the sub-class claims a program for later freeing, make sure it's not left in the hash table, or it can cause crashes on shutdown. Make sure tsdemux frees any program it has kept around at shutdown if it wasn't freed already. https://bugzilla.gnome.org/show_bug.cgi?id=763503 2016-03-11 17:34:03 +0200 Sreerenj Balachandran * gst/videoparsers/gsth265parse.c: videoparsers: h265: Fix segfault while transforming hevc to nal aligned bytestream Create temporary ParseFrame and copy the nal size buffer region for each nal unit like we did for h264. https://bugzilla.gnome.org/show_bug.cgi?id=763494 2016-03-11 10:08:28 +0200 Sebastian Dröge * sys/androidmedia/gstamc.c: * sys/androidmedia/gstamcaudiodec.c: * sys/androidmedia/gstamcvideodec.c: * sys/androidmedia/gstamcvideoenc.c: amc: Correctly handle NULL input buffers https://bugzilla.gnome.org/show_bug.cgi?id=763401 2016-03-11 10:00:39 +0200 Sebastian Dröge * sys/androidmedia/gstamc.c: * sys/androidmedia/gstjniutils.c: amcvideodec: getOutputBuffers() returns a NULL array when a surface was configured So don't error out if it does. https://bugzilla.gnome.org/show_bug.cgi?id=763401 2016-03-11 01:40:39 +1100 Matthew Waters * ext/gl/gstgleffects.c: * ext/gl/gstgleffects.h: gleffects; give each effect a unique long name and description Gives applications that scrape the factory details more detailed and unique details on the exact element. https://bugzilla.gnome.org/show_bug.cgi?id=760566 2016-03-10 17:46:05 +1100 Matthew Waters * gst-libs/gst/gl/gstglshader.c: * gst-libs/gst/gl/gstglslstage.c: glshader: some compatibility changes for GL 1.4 GL 1.4 (with GL_ARB_shader_objects) doesn't have glIsProgram or glIsShader equivalents. As they are simply assertions, skip them when there isn't a valid function pointer. 2016-03-10 00:29:41 +1100 Matthew Waters * ext/gl/gstglfilterapp.c: glfilterapp: update for the use of shaders Fixes black output when placed in pipelines (using the default drawing). https://bugzilla.gnome.org/show_bug.cgi?id=763365 2016-03-10 00:27:53 +1100 Matthew Waters * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: glfilter: retrieve the shader attributes from the GL thread Otherwise we will receive bogus values https://bugzilla.gnome.org/show_bug.cgi?id=763365 2016-03-10 00:24:48 +1100 Matthew Waters * tests/examples/gl/generic/cube/main.cpp: * tests/examples/gl/generic/cubeyuv/main.cpp: gl/examples/cube*: choose opengl by default The examples don't work with any other GL API. Also fix the yuv example to not translate the cube out of the clipping area. 2016-03-10 00:23:14 +1100 Matthew Waters * tests/examples/gl/gtk/fxtest/fxtest.c: gl/examples/fxtest: add needed glupload to the pipeline Fixes a negotiation failure in the example 2016-03-07 13:04:08 +0100 Edward Hervey * gst-libs/gst/codecparsers/gstmpegvideoparser.c: * gst-libs/gst/codecparsers/gstmpegvideoparser.h: * gst/videoparsers/gstmpegvideoparse.c: mpegvideoparser: Handle non-hierarchical profiles again This is a regression from since mpegvideoparser was switched to use the codecparsing library. The problem is that the high bit of the profile_and_level is used to specify non-hierarchical profiles and levels. Unfortunately we were discarding that information. Expose that escape bit, and use it in the element https://bugzilla.gnome.org/show_bug.cgi?id=763220 2016-03-09 11:58:43 +0900 Vineeth TM * ext/gl/gstglimagesink.c: glimagesink: Fix window memory leak https://bugzilla.gnome.org/show_bug.cgi?id=763356 2016-03-08 11:41:49 +0100 Edward Hervey * gst/mpegtsdemux/tsdemux.c: tsdemux: Don't reset/recalculate segments with accurate seeks When dealing with accurate seeks, we must send out a segment which is exactly what is requested. https://bugzilla.gnome.org/show_bug.cgi?id=763262 2016-03-08 02:06:46 +1100 Matthew Waters * ext/gl/gstglvideomixer.c: glvideomixer: signal continuation in reset We want to iterate over all the pads, not just the first one. Fix by returning TRUE in the GstAggregatorPadForeachFunc. Removes a GST_IS_GL_CONTEXT() assertion on shutdown with >2 inputs using gst-launch. 2016-03-08 00:35:22 +1100 Matthew Waters * gst-libs/gst/gl/gstgldisplay.c: * tests/check/libs/gstglcontext.c: gldisplay: make readding the same context a no-op With e38af2304427db908a16bbae0e60aa68be1ba5b5 returning the correct contexts, gst_gl_display_add_context() was susceptible to causing infinte loops when adding the same GstGLContext more than once. Fix and add a test for gst_gl_display_add_context(). Fixes glvideomixer gst-validate tests. 2016-03-07 08:52:54 +0200 Sebastian Dröge * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h: * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: * gst-libs/gst/gl/eagl/gstglcontext_eagl.h: * gst-libs/gst/gl/eagl/gstglcontext_eagl.m: * gst-libs/gst/gl/eagl/gstglwindow_eagl.m: Revert "libgstgl: cocoa, eagl: don't marshal GL calls to the context thread" This reverts commit 797d6415dfd6e111efb2cab544958a67cbf22b17. We're frozen for 1.8.0 release and this change might have bigger impact. 2016-03-07 16:03:25 +1100 Alessandro Decina * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h: * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: * gst-libs/gst/gl/eagl/gstglcontext_eagl.h: * gst-libs/gst/gl/eagl/gstglcontext_eagl.m: * gst-libs/gst/gl/eagl/gstglwindow_eagl.m: libgstgl: cocoa, eagl: don't marshal GL calls to the context thread Execute GL calls without marshalling them to the context thread. In the cocoa and eagl backends calling gst_gl_context_activate is cheap and therefore calling it on the current thread and serializing GL calls with a per-context lock is more efficient (faster and has less overhead) than marshalling everything to the context thread. This optimization cuts a large overhead in g_poll (continuously waking up the context thread) and in g_mutex_*/g_cond_* (waiting for results from the context thread). 2016-03-05 17:16:24 +0100 Mark Nauwelaerts * gst-libs/gst/gl/gstgldisplay.c: gldisplay: really retrieve glcontext for a specific thread When requesting a glcontext (regardless of thread), the result was correct. However, when requesting current glcontext on a specific thread, it could come up with a glcontext active on another thread. https://bugzilla.gnome.org/show_bug.cgi?id=763168 2016-03-06 19:35:38 +1100 Matthew Waters * gst-libs/gst/gl/gstglapi.c: * gst-libs/gst/gl/gstglapi.h: * gst-libs/gst/gl/gstglbasefilter.c: * gst-libs/gst/gl/gstglbasefilter.h: * gst-libs/gst/gl/gstglbufferpool.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglcontext.h: * gst-libs/gst/gl/gstgldebug.c: * gst-libs/gst/gl/gstgldebug.h: * gst-libs/gst/gl/gstgldisplay.h: * gst-libs/gst/gl/gstglshader.c: * gst-libs/gst/gl/gstglsl.c: * gst-libs/gst/gl/gstglslstage.c: * gst-libs/gst/gl/gstglslstage.h: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglupload.h: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglviewconvert.c: gl: misc docs fixes/additions 2016-03-06 19:32:21 +1100 Matthew Waters * gst-libs/gst/gl/gstgl_enums.h: * gst-libs/gst/gl/gstglbasememory.c: * gst-libs/gst/gl/gstglbasememory.h: * gst-libs/gst/gl/gstglbuffer.c: * gst-libs/gst/gl/gstglbuffer.h: * gst-libs/gst/gl/gstglformat.c: * gst-libs/gst/gl/gstglformat.h: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstglmemorypbo.c: gl*memory: document new functionality and objects 2016-03-06 19:23:06 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs.types: docs: add new GL api to .types file for type/signal introspection 2016-03-06 19:22:31 +1100 Matthew Waters * docs/libs/Makefile.am: docs: ignore some private GL headers 2016-03-06 19:18:54 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-docs.sgml: * docs/libs/gst-plugins-bad-libs-sections.txt: docs/gl: add gl functions/structs from -unused into the docs 2016-03-05 19:48:45 +0100 Mark Nauwelaerts * gst-libs/gst/gl/gstglfilter.c: glfilter: handle some more unfixed fields when fixating caps 2016-03-05 11:38:46 +0200 Sebastian Dröge * tests/examples/gtk/Makefile.am: gtk: examples: #define GST_USE_UNSTABLE_API and link with X11_LIBS X11_LIBS is needed for XInitThreads() and without the #define we get warnings about the GL API being still unstable. 2016-03-02 19:32:13 +0900 Justin Kim * sys/androidmedia/gst-androidcamera.c: androidmedia: Remove unused file ahcsrc is registered by gstamc.c https://bugzilla.gnome.org/show_bug.cgi?id=763098 2016-02-17 09:36:15 -0800 Martin Kelly * sys/androidmedia/gstamc.c: amc: properly deinit when ahcsrc register fails In the androidmedia plugin_init, we initialize various resources on the Android device. If anything fails during this series of initializations, we need to deinitialize any initializations that already occurred. However, we don't do so if we fail to register the ahcsrc element. Fix this. https://bugzilla.gnome.org/show_bug.cgi?id=763065 2016-02-18 11:00:50 -0800 Martin Kelly * sys/androidmedia/gst-android-hardware-camera.c: ahc: correct error message The error message is specific to only one of the failure cases and is misleading in the others. Correct it to be more generic and cover all the failure cases. https://bugzilla.gnome.org/show_bug.cgi?id=763065 2016-02-16 11:45:01 -0800 Martin Kelly * sys/androidmedia/gst-android-hardware-camera.c: ahc: remove unneeded #include https://bugzilla.gnome.org/show_bug.cgi?id=763065 2016-02-18 16:00:18 -0800 Martin Kelly * sys/androidmedia/gstahcsrc.c: ahc: typo fix https://bugzilla.gnome.org/show_bug.cgi?id=763065 2016-03-03 22:15:07 -0500 Joe Gorse * ext/hls/Makefile.am: hls: Add OPENSSL_CFLAGS to CFLAGS https://bugzilla.gnome.org/show_bug.cgi?id=763079 2016-03-03 19:45:43 -0500 Nicolas Dufresne * gst-libs/gst/gl/gstglbasememory.c: glbasememory: Don't change maxsize at run-time Maxsize is initialized once and should never change. Allocating data should have no impact on the selected max size for this memory. This causing memory map failure as the maxsize would become smaller then size. This happened when using direct rendering in avviddec on GL that does not support PBO transfer. https://bugzilla.gnome.org/show_bug.cgi?id=763045 2016-03-01 18:22:37 +0300 Sergey Borovkov * ext/qt/qtitem.cc: qml: Fix leak of the OpenGL contexts [Matthew Waters]: add NULL checks before unreffing https://bugzilla.gnome.org/show_bug.cgi?id=762999 2016-02-29 14:24:46 -0800 Reynaldo H. Verdejo Pinochet * ext/vulkan/vksink.c: vksink: fix spelling on failed _ensure_data() error message 2016-03-02 21:46:44 +0200 Vivia Nikolaidou * ext/mpeg2enc/gstmpeg2enc.cc: mpeg2enc: Provide format as a string instead of a char to gst_structure_new The format was provided as 'I420' instead of "I420", causing a crash. 2015-01-20 16:20:10 +0100 Aurélien Zanelli * gst/mpegtsdemux/mpegtspacketizer.c: mpegtspacketizer: handle early PTS conversion when a group has been found In some cases, the PTS might be smaller than the first observed PCR value which causes element to apply wraparound leading to bogus timestamp. To solve this, we only apply it if the PTS-PCR difference is greater that 1 second to be sure that it's a real wraparound. Moreover, using unsigned 32 bits values to handle wrapover could end up with bogus value, so it use pts value to handle it. Also, convert pcr time to gst time before comparing it to pts. Since refpcr is expressed in PCR time base while pts is expressed in GStreamer time. https://bugzilla.gnome.org/show_bug.cgi?id=743259 2016-03-02 10:41:17 +0200 Sebastian Dröge * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Fix REMOVE_SNAP_FLAGS() macro !(flag1 | flag2 | flag3) is always evaluation to 0. ~ was meant here instead of !. CID 1352032. === release 1.7.90 === 2016-03-01 18:23:36 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-mimic.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: * win32/common/config.h: Release 1.7.90 2016-03-01 17:10:28 +0200 Sebastian Dröge * po/af.po: * po/az.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/gl.po: * po/hr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/ky.po: * po/lt.po: * po/lv.po: * po/mt.po: * po/nb.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: Update .po files 2016-03-01 16:53:50 +0200 Sebastian Dröge * po/bg.po: * po/fr.po: * po/nl.po: po: Update translations 2016-02-29 12:35:58 +0200 Sreerenj Balachandran * gst/videoparsers/gsth264parse.c: videoparsers: h264: Disable passthorugh mode enabling Enabling passthorugh mode is causing multiple issue: For nal aligned multiresoluton streams, passthrough mode make h264parse unable to advertise the new resoultions. Also causing issues while parsing MVC streams which have two separate layers (base-view and non-base-view). This fix is only a temporary workaround. For MVC, proper fixes needed in many places: (handle prefix nal unit, handle non-base-view slice nal extension, fix the picture_start detection for multi-layer-mvc streams etc) https://bugzilla.gnome.org/show_bug.cgi?id=758656 2016-02-29 11:53:19 +0200 Sebastian Dröge * gst/sdp/gstsdpdemux.c: sdpdemux: Set caps to application/x-rtp instead of application/x-unknown as returned by the SDP helpers The SDP helpers can't know if this is going to be RTP, SRTP, or .... https://bugzilla.gnome.org/show_bug.cgi?id=762860 2016-02-29 11:51:28 +0200 Sebastian Dröge * gst/sdp/gstsdpdemux.c: sdpdemux: Add pads with the correct names in case an rtpbin is used They're supposed to be stream_%u and not recv_rtp_src_%u_%u_%u. https://bugzilla.gnome.org/show_bug.cgi?id=762860 2016-02-29 10:38:32 +0900 Vineeth TM * ext/vulkan/vkswapper.c: * ext/vulkan/vkutils.c: vkswapper/vkutils: Fix gerror memory leak https://bugzilla.gnome.org/show_bug.cgi?id=762842 2016-02-29 10:37:11 +0900 Vineeth TM * ext/vulkan/vkdevice.c: vkdevice: Fix duplicate assignment of queue variable https://bugzilla.gnome.org/show_bug.cgi?id=762842 2016-02-29 10:33:45 +0900 Vineeth TM * ext/vulkan/vksink.c: vksink: Fix GError memory leak https://bugzilla.gnome.org/show_bug.cgi?id=762842 2016-02-28 14:06:14 +0000 Tim-Philipp Müller * win32/common/libgstgl.def: win32: update exports for new libgstgl function 2016-02-28 10:12:01 +0200 Sebastian Dröge * sys/androidmedia/gstamcvideodec.c: amcvideodec: When outputting on a surface, accept all color formats We don't have to understand them, we handle them as a GL texture. https://bugzilla.gnome.org/show_bug.cgi?id=762792 2016-02-26 18:17:37 -0300 Thiago Santos * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * tests/check/elements/dash_demux.c: adaptivedemux: handle snap seeking without setting any position When the start_type is GST_SEEK_TYPE_NONE for a forward seek (or stop_type for a reverse) is not set on a snap seeking operation, the element should use the current position and then snap as requested. Also fixes uninitialized variable complaint by clang about 'ts' variable. 2016-02-26 17:31:44 -0300 Thiago Santos * ext/dash/gstmpdparser.c: dashdemux: sync index and the selected chunk when seeking Otherwise the chunk selected isn't matched to the index and the timing will be different, causing it to actually start from a different position 2016-02-26 12:41:13 +0200 Sebastian Dröge * common: Automatic update of common submodule From a253974 to 6f2d209 2016-02-17 20:13:21 +1100 Matthew Waters * gst-libs/gst/gl/egl/gsteglimagememory.c: eglimagememory: add compatibility definitions for EGL dmabuf e.g. the RPi doesn't have them defined 2016-02-26 00:35:30 +0000 Tim-Philipp Müller * Makefile.am: * ext/opus/Makefile.am: * ext/opus/gstopus.c: opus: rename plugin to opusparse for the time being Until we fix it up and get rid of the opus dependency and move it elsewhere too. 2016-02-19 00:38:33 +0000 Tim-Philipp Müller * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/inspect/plugin-opus.xml: * ext/opus/Makefile.am: * ext/opus/gstopus.c: * ext/opus/gstopuscommon.c: * ext/opus/gstopuscommon.h: * ext/opus/gstopusdec.c: * ext/opus/gstopusdec.h: * ext/opus/gstopusenc.c: * ext/opus/gstopusenc.h: * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/opus.c: opus: remove Opus encoder/decoder, moved to -base https://bugzilla.gnome.org/show_bug.cgi?id=756282 2016-02-26 08:34:11 +1100 Matthew Waters * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstglcontext.h: glcontext: add a method to add a context to another share group Intended for use with wrapped contexts that are created shared with gst's gl contexts in order to manage the internal sharegroup state correctly. e.g. with caopengllayer (which is used in glimagesink and caopengllayersink on OS X), we create a CGL context from the gst context and the sharing state was not being correctly set on either GL context and gst_gl_context_is_shared() was always returning FALSE. With 11fb4fff80b63b9d67a731d4bb238b6c0a29d774 only flushing with multiple shared contexts, the required flush was not occuring causing screen corruption or stuttering. Note: this didn't affect GST_GL_API=opengl pipelines https://bugzilla.gnome.org/show_bug.cgi?id=762620 2016-02-17 15:20:47 +0000 Tim-Philipp Müller * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/inspect/plugin-opus.xml: * ext/opus/Makefile.am: * ext/opus/gstopus.c: * ext/opus/gstrtpopusdepay.c: * ext/opus/gstrtpopusdepay.h: * ext/opus/gstrtpopuspay.c: * ext/opus/gstrtpopuspay.h: opus: remove Opus RTP elements, they have moved to -good https://bugzilla.gnome.org/show_bug.cgi?id=756282 2016-01-18 08:50:34 +0000 Alex Ashley * tests/check/elements/hls_demux.c: hlsdemux: tests: pass test name into test setup function All hlsdemux tests create a GstStructure called "state" that can be used by test cases to store information during a test. The name of this structure is arbitrary. When the code was written, the intention was to use the name of the test, to aid debugging. However, during development this was lost, so that the state GstStructure is always given the name "setup_test_variables". This commit changes this so that the name of the test is used. https://bugzilla.gnome.org/show_bug.cgi?id=762684 2016-02-23 12:42:19 -0300 Thiago Santos * tests/check/elements/compositor.c: tests: compositor: drop special case for valgrind timeout The default one is 6 minutes, the test was using 5 minutes so just resort to using the default. For the non-valgrind test also use the default 20 secs instead of reducing it to 6s. No real reason to set a custom value here. 2016-02-23 12:17:59 -0300 Thiago Santos * tests/check/elements/compositor.c: tests: compositor: add tests for caps queries Verifies that proper caps are returned based on what downstream restricts. 2016-02-18 10:57:51 -0300 Thiago Santos * gst-libs/gst/video/gstvideoaggregator.c: * tests/check/elements/compositor.c: videoaggregator: fix caps queries to allow proper renegotiation When caps are already negotiated it should be possible to select formats other than the one that was negotiated. If downstream allows alpha video caps and it has already negotiated to a non-alpha format, caps queries should still return the alpha caps as a possible format as caps renegotiation can happen. Includes tests (for compositor) to check that caps queries done after a caps has been negotiated returns complete results https://bugzilla.gnome.org/show_bug.cgi?id=757610 2016-02-24 17:07:17 +0200 Sebastian Dröge * sys/applemedia/vtdec.c: vtdec: Negotiate the decoder in set_format() already Don't wait until later, we want to know here if the codec can be opened or not for the requested format. This was removed (accidentially?) by 119e09eac315f79ac2cf45b4441ad1d932130614 Without this decodebin has no way to switch to a different decoder if this one does not work. https://bugzilla.gnome.org/show_bug.cgi?id=762613 2016-02-25 11:34:40 +0200 Joe Gorse * sys/applemedia/avfvideosrc.m: avfvideosrc: Frame durations as CTime to the API, not double Newer iOS seems to automatically convert, older iOS/OSX just crashes. https://bugzilla.gnome.org/show_bug.cgi?id=762575 2016-02-24 23:48:19 +1100 Matthew Waters * sys/nvenc/gstnvbaseenc.c: nvenc: release the frames and list when searching for an output buffer Fixes a massive leak in: videotestsrc ! nvh264enc ! fakesink 2016-02-23 23:10:20 +1100 Matthew Waters * ext/qt/gstqtsink.cc: * ext/qt/qtitem.cc: qt: use a static_cast instead of dynamic one The dynamic_cast is a little but of overkill as the app will still crash if it fails in the later g_assert. Allows compilation with -fno-rtti https://bugzilla.gnome.org/show_bug.cgi?id=762526 2016-02-24 10:45:17 +0800 Wang Xin-yu (王昕宇) * ext/gl/gstglmosaic.c: * ext/gl/gstglstereomix.c: * ext/gl/gstglvideomixer.c: glmixer: iterator didn't advance in continue statement Leading to a deadlock. https://bugzilla.gnome.org/show_bug.cgi?id=760873 2016-02-23 18:17:42 +0200 Sebastian Dröge * gst/dataurisrc/gstdataurisrc.c: dataurisrc: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps() Remove calls to gst_pad_has_current_caps() which then go on to call gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just use gst_pad_get_current_caps() and check for NULL. https://bugzilla.gnome.org/show_bug.cgi?id=759539 2016-02-23 18:13:37 +0200 Dave Craig * ext/opencv/gstdisparity.cpp: disparity: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps() Remove calls to gst_pad_has_current_caps() which then go on to call gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just use gst_pad_get_current_caps() and check for NULL. https://bugzilla.gnome.org/show_bug.cgi?id=759539 2016-02-23 10:49:40 +0000 Florin Apostol * ext/dash/gstdashdemux.c: dashdemux: correctly handle an HTTP-XSDATE that is exactly the size of the date string The code in the gst_dash_demux_parse_http_xsdate() was trying to handle the case where the string is not null terminated by resizing the buffer and appending a zero byte. This does not work if the buffer is exactly the length of the string because the gst_buffer_resize() function does not re-allocate the buffer, it just changes its size. If a buffer is passed to gst_dash_demux_parse_http_xsdate() that is exactly the length of the string, the function fails with an assert failure in gst_buffer_resize(). https://bugzilla.gnome.org/show_bug.cgi?id=762148 2016-02-23 11:59:52 +0200 Sebastian Dröge * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: docs: Add audiointerleave 2016-02-22 10:21:47 +0100 Peter Seiderer * sys/fbdev/gstfbdevsink.c: fbdevsink: fix bytes per pixel calculation Simple pipeline $ gst-launch-1.0 videotestsrc ! fbdevsink crashes with SIGSEGV in case the frambuffer xres is smaller than the virtual xres resolution, e.g.: $ fbset mode "800x480-0" # D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz geometry 800 480 1920 1200 16 timings 0 0 0 0 0 0 0 accel true rgba 5/11,6/5,5/0,0/0 endmode Debug: $ gdb gst-launch-1.0 (gdb) run videotestsrc ! fbdevsink (gdb) where #0 0xb6bd2d24 in __memcpy_neon () at ../sysdeps/arm/armv7/multiarch/memcpy_impl.S:591 #1 0xb69b04e8 in gst_fbdevsink_show_frame (videosink=0x10a3378, buf=0xb5c08838) at gstfbdevsink.c:269 #2 0xb69e88c4 in gst_base_sink_do_preroll (sink=sink@entry=0x10a3378, obj=0xb5c08838, obj@entry=0xa0) at gstbasesink.c:2281 #3 0xb69e92bc in gst_base_sink_do_sync (basesink=basesink@entry=0x10a3378, obj=0xa0, obj@entry=0xb5c08838, late=0x0, late@entry=0xb6548ba0, step_end=0x140, step_end@entry=0xb6548ba4) at gstbasesink.c:2500 #4 0xb69ea67c in gst_base_sink_chain_unlocked ( basesink=basesink@entry=0x10a3378, obj=0x0, obj@entry=0xb5c08838, is_list=is_list@entry=0, pad=) at gstbasesink.c:3486 #5 0xb69ec1c0 in gst_base_sink_chain_main (basesink=0x10a3378, pad=, obj=0xb5c08838, is_list=0) at gstbasesink.c:3647 #6 0xb6eb5b10 in gst_pad_chain_data_unchecked (pad=0x10a6170, type=, data=0xb5c08838) at gstpad.c:4086 #7 0xb6eb7a34 in gst_pad_push_data (pad=pad@entry=0x10a6020, type=type@entry=4112, data=0xb5c08838) at gstpad.c:4338 #8 0xb6ebf344 in gst_pad_push (pad=pad@entry=0x10a6020, buffer=) at gstpad.c:4454 #9 0xb69f22f0 in gst_base_src_loop (pad=0x10a6020) at gstbasesrc.c:2845 #10 0xb6eeddfc in gst_task_func (task=0x10a8828) at gsttask.c:331 #11 0xb6d485a0 in g_thread_pool_thread_proxy (data=) at gthreadpoQuit (gdb) frame 1 #1 0xb69b04e8 in gst_fbdevsink_show_frame (videosink=0x10a3378, buf=0xb5c08838) at gstfbdevsink.c:269 269 gstfbdevsink.c: No such file or directory. (gdb) p fbdevsink $1 = (GstFBDEVSink *) 0x10a3378 (gdb) p *fbdevsink $2 = {videosink = {element = {element = {object = {object = { g_type_instance = {g_class = 0x10a2d60}, ref_count = 3, qdata = 0x0}, lock = {p = 0x0, i = {0, 0}}, name = 0x10a2f30 "fbdevsink0", parent = 0x10a70a0, flags = 32, control_bindings = 0x0, control_rate = 100000000, last_sync = 18446744073709551615, _gst_reserved = 0x0}, state_lock = {p = 0x109f9a8, i = {0, 0}}, state_cond = {p = 0x0, i = { 3, 0}}, state_cookie = 2, target_state = GST_STATE_PAUSED, current_state = GST_STATE_READY, next_state = GST_STATE_PAUSED, pending_state = GST_STATE_PAUSED, last_return = GST_STATE_CHANGE_ASYNC, bus = 0x108bcb8, clock = 0x0, base_time = 0, start_time = 0, numpads = 1, pads = 0x109cc20, numsrcpads = 0, srcpads = 0x0, numsinkpads = 1, sinkpads = 0x109cc30, pads_cookie = 1, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}, sinkpad = 0x10a6170, pad_mode = GST_PAD_MODE_PUSH, offset = 0, can_activate_pull = 0, can_activate_push = 1, preroll_lock = {p = 0x1, i = {1, 0}}, preroll_cond = {p = 0x0, i = {0, 0}}, eos = 0, need_preroll = 1, have_preroll = 0, playing_async = 1, have_newsegment = 1, segment = {flags = GST_SEGMENT_FLAG_NONE, rate = 1, applied_rate = 1, format = GST_FORMAT_TIME, base = 0, offset = 0, start = 0, stop = 18446744073709551615, time = 0, position = 33333333, duration = 18446744073709551615, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}, clock_id = 0x0, sync = 1, flushing = 0, running = 0, max_lateness = 20000000, priv = 0x10a3188, _gst_reserved = { 0x0 }}, width = 0, height = 0, priv = 0x10a3180, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}, fixinfo = { id = '\000' , smem_start = 1078984704, smem_len = 4608000, type = 0, type_aux = 0, visual = 2, xpanstep = 1, ypanstep = 1, ywrapstep = 0, line_length = 3840, mmio_start = 0, mmio_len = 0, accel = 0, capabilities = 0, reserved = {0, 0}}, varinfo = { xres = 800, yres = 480, xres_virtual = 1920, yres_virtual = 1200, xoffset = 0, yoffset = 0, bits_per_pixel = 16, grayscale = 0, red = { offset = 11, length = 5, msb_right = 0}, green = {offset = 5, length = 6, msb_right = 0}, blue = {offset = 0, length = 5, msb_right = 0}, transp = {offset = 0, length = 0, msb_right = 0}, nonstd = 0, activate = 0, height = 4294967295, width = 4294967295, accel_flags = 1, pixclock = 0, left_margin = 0, right_margin = 0, upper_margin = 0, lower_margin = 0, hsync_len = 0, vsync_len = 0, sync = 0, vmode = 0, rotate = 0, colorspace = 0, reserved = {0, 0, 0, 0}}, fd = 5, framebuffer = 0xb654a000 , device = 0x10a38d8 "/dev/fb0", width = 320, height = 240, cx = 240, cy = 120, linelen = 1280, lines = 240, bytespp = 4, fps_n = 30, fps_d = 1} (gdb) p map $3 = {memory = 0xb5d24008, flags = GST_MAP_READ, data = 0xb5d24058 '\377' , "\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\340\377\377\a\377\a\377\a\377\a\377\a\377\a\377\a\377\a\377\a"..., size = 153600, maxsize = 153603, user_data = {0x0, 0xb69e3ba4 , 0x10a3378, 0x0}, _gst_reserved = {0x1, 0x10a3378, 0xb6f50dd8 <_gst_debug_min>, 0xb5c08838}} (gdb) p i $4 = 121 Fix this by changing the fbdevsink->bytespp calculation using the frame buffer xres_virtual size instead of xres. https://bugzilla.gnome.org/show_bug.cgi?id=762482 2016-02-22 12:53:00 +0200 Sebastian Dröge * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c: * gst-libs/gst/player/gstplayer-video-overlay-video-renderer.h: * win32/common/libgstplayer.def: player: Expose more GstVideoOverlay API in the GstPlayerVideoOverlayVideoRenderer Expose the expose() and set_render_rectangle() methods. These are useful for proper functioning of the video overlay in various situations and toolkits. 2016-02-22 21:03:14 +1100 Matthew Waters * ext/gl/gstglstereosplit.c: * gst-libs/gst/gl/gstglbasefilter.c: gl: fix the build 2d287812 was incomplete 2016-02-22 20:49:52 +1100 Matthew Waters * ext/gl/gstglbasemixer.c: * ext/gl/gstglstereosplit.c: * ext/gl/gstgltestsrc.c: * gst-libs/gst/gl/gstglbasefilter.c: gl: error out if the configured GL API is unsupported by our element https://bugzilla.gnome.org/show_bug.cgi?id=759801 2016-01-24 17:40:37 +0300 Sergey Borovkov * ext/qt/qtitem.cc: * ext/qt/qtitem.h: qmlglsink: Schedule onSceneGrpahInitialized to execute on render thread onSceneGraphInitialized() is called from non render thread currently when scene graph is already initialized. https://bugzilla.gnome.org/show_bug.cgi?id=761003 2016-01-07 18:26:26 +0000 Tim-Philipp Müller * gst/aiff/aiffparse.c: aiffparse: fix negotiation errors with multi-channel files Set fallback channel layout on files with more than two channels. Not clear where to retrieve the real layout from or what the default layout is for AIFF files, the spec only seems to specify some layout for up to 6 channels and the file in question doesn't have a CHAN chunk. https://bugzilla.gnome.org/show_bug.cgi?id=676425 2016-02-21 10:34:56 +0000 Tim-Philipp Müller * gst/cdxaparse/cdxaparse.vcproj: * gst/mixmatrix/mixmatrix.vcproj: * gst/overlay/overlay.vcproj: * gst/rtjpeg/rtjpeg.vcproj: * gst/smooth/smooth.vcproj: * gst/speed/speed.vcproj: * gst/stereo/stereo.vcproj: * win32/MANIFEST: * win32/gst.sln: * win32/vs6/gst_plugins_bad.dsw: * win32/vs6/libgstdshow.dsp: * win32/vs6/libgstdshowdecwrapper.dsp: * win32/vs6/libgstflv.dsp: * win32/vs6/libgstmpegvideoparse.dsp: * win32/vs6/libgstneon.dsp: * win32/vs8/gst-plugins-bad.sln: * win32/vs8/libgstdirectsound.vcproj: * win32/vs9/gst-plugins-bad.sln: * win32/vs9/libgstdshowsrcwrapper.vcproj: win32: remove outdated build cruft This hasn't been touched for generations, doesn't work, and is just causing confusion. We also don't want to maintain these files manually. 2016-02-20 12:55:08 +0000 Tim-Philipp Müller * ext/daala/gstdaaladec.c: daala: don't use exported but undeclared core debug category symbols It's not right and won't work on Windows with MSVC. 2016-02-19 14:27:59 -0800 Scott D Phillips * gst-libs/gst/codecparsers/gsth265parser.c: codecparsers: h265: Fix initialization of slice_deblocking_filter_disabled_flag H.265 7.4.7.1 says: > When slice_deblocking_filter_disabled_flag is not present, it is > inferred to be equal to pps_deblocking_filter_disabled_flag. https://bugzilla.gnome.org/show_bug.cgi?id=762351 2016-02-19 16:40:54 -0300 Thiago Santos * gst-libs/gst/codecparsers/gstmpeg4parser.c: mpeg4parser: prevent assertion when scanning for sync code Only search if there is indeed enough data to be searched otherwise an assertion is raised 2016-02-19 17:48:55 +0100 Edward Hervey * gst/mpegtsdemux/mpegtsparse.c: tsparse: Fix per-program-pad pushing This fixes a couple of issues regarding the output of (request) per-program pads output: We would never push out PAT sections (ok, that was one reallly stupid mistake. I guess nobody ever uses this feature ...). In the case where the PMT section of a program was bigger than one packet, we would only end up pushing the last packet of that PMT. Which obviously results in the resulting stream never containing the proper (complete) PMT. The problem was that the program is only started (in the base class) after the PMT section is completely parsed. When dealing with single-program pads, tsparse only wants to push the PMT corresponding to the requested program (and not the other ones). tsparse did that check by looking at the streams of the program... ... but that program doesn't exist for the first packets of the initial PMT. The fix is to use the base class program information (if it parsed the PAT it already has some information, like the PMT PID for a given program) if the program hasn't started yet. 2016-02-19 17:45:26 +0100 Edward Hervey * gst/mpegtsdemux/mpegtsparse.c: * gst/mpegtsdemux/mpegtsparse.h: tsparse: Use GstFlowCombiner In addition to the fact that it's a sane thing to do for multi-source pad elements, it also avoids the situation where just using a request pad (and not the main static pad) would result in the processing stopping. 2016-02-19 12:38:31 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.7.2 === 2016-02-19 11:50:25 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-mimic.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-opencv.xml: * docs/plugins/inspect/plugin-opus.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: * win32/common/config.h: Release 1.7.2 2016-02-19 10:32:28 +0200 Sebastian Dröge * 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/ky.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: Update translations 2016-02-18 14:32:23 +0000 Julien Isorce * pkgconfig/gstreamer-bad-audio-uninstalled.pc.in: * pkgconfig/gstreamer-bad-base-uninstalled.pc.in: * pkgconfig/gstreamer-bad-video-uninstalled.pc.in: * pkgconfig/gstreamer-codecparsers-uninstalled.pc.in: * pkgconfig/gstreamer-gl-uninstalled.pc.in: * pkgconfig/gstreamer-insertbin-uninstalled.pc.in: * pkgconfig/gstreamer-mpegts-uninstalled.pc.in: * pkgconfig/gstreamer-player-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-bad-uninstalled.pc.in: * pkgconfig/gstreamer-wayland-uninstalled.pc.in: uninstalled.pc: add support for non libtool build systems Currently the .la path is provided which requires to use libtool as mentioned in the GStreamer manual section-helloworld-compilerun.html. It is fine as long as the application is built using libtool. So currently it is not possible to compile a GStreamer application within gst-uninstalled with CMake or other build system different than autotools. This patch allows to do the following in gst-uninstalled env: gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0 \ gstreamer-gl-1.0) Previously it required to prepend libtool --mode=link https://bugzilla.gnome.org/show_bug.cgi?id=720778 2016-02-18 16:21:38 +0000 Julien Isorce * gst-libs/gst/gl/gstgldebug.c: gldebug: make sure debug is initialized when calling gst_gl_insert_debug_marker Usually gl debug is initialized in gst_gl_context_create_thread. But this function is not used when using the GstGLContextGPUProcess from ChromiumGStreamerBackend. Received signal 11 SEGV_MAPERR 000000000000 gst_debug_category_get_threshold gst_gl_insert_debug_marker gst_gl_base_filter_gl_start 2016-02-18 10:33:20 +0200 Sebastian Dröge * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/egl/gstglcontext_egl.c: * gst-libs/gst/gl/utils/gles_versions.h: * gst-libs/gst/gl/utils/opengl_versions.h: gl: Fix compiler warning about unused const variable with gcc 6 CC libgstgl_x11_la-gstglcontext_glx.lo In file included from gstglcontext_glx.c:39:0: ../utils/opengl_versions.h:52:43: error: ‘gles2_versions’ defined but not used [-Werror=unused-const-variable] static const struct { int major, minor; } gles2_versions[] = { ^~~~~~~~~~~~~~ 2016-02-18 10:29:21 +0200 Sebastian Dröge * gst-libs/gst/gl/Makefile.am: gl: Move private headers from SOURCES to noinst_HEADERS 2016-02-18 00:24:04 +0200 Sebastian Dröge * ext/modplug/gstmodplug.cc: modplug: Fix compiler warning about C++11 compatibility gstmodplug.cc:94:17: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix] #define FORMATS "{ "GST_AUDIO_NE (S32)", "GST_AUDIO_NE (S16)", U8 }" ^ gstmodplug.cc:94:39: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix] #define FORMATS "{ "GST_AUDIO_NE (S32)", "GST_AUDIO_NE (S16)", U8 }" ^ 2016-02-16 15:10:34 +0100 David Fernandez * ext/curl/gstcurlbasesink.c: curlbasesink: don't send empty buffers Fixes problem in curlhttpsink when qtmux uses faststart. https://bugzilla.gnome.org/show_bug.cgi?id=762013 2016-02-17 11:16:53 +0100 Thibault Saunier * ext/ladspa/gstladspafilter.c: ladspa: Fix some debugs 2016-01-26 09:34:00 +0900 Vineeth TM * sys/uvch264/gstuvch264_src.c: uvch264_src: Fix caps memory leak v4l_caps and new_caps are being allocated new memory before freeing the old allocation. https://bugzilla.gnome.org/show_bug.cgi?id=761108 2015-12-24 15:36:54 +0900 Vineeth TM * gst/mpegtsdemux/mpegtsbase.c: mpegtsbase: Refactor code to check for subclass seek handling If subclass is not able to handle seek event, then there is no need to stop streaming and send flush events. We should simply return FALSE https://bugzilla.gnome.org/show_bug.cgi?id=758516 2015-12-24 15:10:16 +0900 Vineeth TM * gst/mpegtsdemux/mpegtsbase.c: mpegtsbase: Add condition to check for non working negative rate tsdemux is not able to handle negative playback rates. But in mpegtsbase, the same check is not being done. added a check to not handle negative rate while seeking unless the same is handled upstream. https://bugzilla.gnome.org/show_bug.cgi?id=758516 2016-02-17 13:00:46 +1100 Matthew Waters * gst-libs/gst/gl/gstglfilter.c: glfilter: insert the debug marker from the GL thread https://bugzilla.gnome.org/show_bug.cgi?id=761538 2016-02-17 11:42:23 +1100 Matthew Waters * ext/gl/gstglimagesink.c: glimagesink: remove unsed reconfigure variable 2016-01-13 13:17:56 +1100 Matthew Waters * ext/gl/gstglimagesink.c: * ext/gl/gstglimagesink.h: glimagesink: don't push a reconfigure event from the GL thread Doing so may cause deadlocks when other elements attempt destroy or created GL resources. https://bugzilla.gnome.org/show_bug.cgi?id=760559 2016-01-21 10:40:36 +0800 Wang Xin-yu (王昕宇) * ext/gl/gstglvideomixer.c: glvideomixer: don't leak pad's vertex buffer on release_pad https://bugzilla.gnome.org/show_bug.cgi?id=760873 2016-02-17 01:08:18 +1100 Matthew Waters * ext/gl/gstglmixer.c: * ext/gl/gstglmixer.h: * ext/gl/gstglmosaic.c: * ext/gl/gstglmosaic.h: * ext/gl/gstglstereomix.c: * ext/gl/gstglstereomix.h: * ext/gl/gstglvideomixer.c: * ext/gl/gstglvideomixer.h: glmixer: Remove usage of GstGLMixerFrameData Subclasses can just iterate over the list of pads themselves https://bugzilla.gnome.org/show_bug.cgi?id=760873 2016-01-13 14:41:22 +1100 Matthew Waters * ext/gl/gstglmixer.c: glmixer: don't hold the object lock while calling into GL Doing so can deadlock between the GL thread and the object lock e.g. when performing reconfigure events in glimagesink on a resize event. https://bugzilla.gnome.org/show_bug.cgi?id=760559 2016-02-16 22:34:43 +0000 Tim-Philipp Müller * common: Update common: make check-exports not fail for libgstgl.def Should fix distcheck on some build bots. 2016-01-26 09:37:04 +0900 Vineeth TM * sys/acmenc/acmenc.c: * sys/acmmp3dec/acmmp3dec.c: acmenc/acmmp3dec: remove unnecessary break after return https://bugzilla.gnome.org/show_bug.cgi?id=761109 2015-07-21 18:02:38 -0300 Thiago Santos * configure.ac: configure: improve check for wayland-scanner binary The plugin doesn't need the wayland-scanner package to be built or run, it only needs the wayland-scanner program during compile time. When cross-compiling, build systems might not have the wayland-scanner package for the target system as it is a developer's tool, while it should still be possible to use wayland-scanner from the host system. This patch fixes it by not requiring the wayland-scanner package but just the binary itself. Note that the check is done outside of the PKG_CHECK_MODULES as it doesn't work inside of it. https://bugzilla.gnome.org/show_bug.cgi?id=752688 2016-01-21 11:53:33 +0100 Philippe Normand * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: restore bitrate averaging support This was accidentally removed in commit ccff3be3. https://bugzilla.gnome.org/show_bug.cgi?id=733959 2016-01-20 15:33:28 +0100 Philippe Normand * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: remove queue2 overrun notification Due to performance impact concerns this is removed. An alternative approach would be to rely on buffering messages monitoring. https://bugzilla.gnome.org/show_bug.cgi?id=733959 2016-02-16 16:18:21 +1100 Matthew Waters * ext/vulkan/vkdevice.c: vkdevice: add the necessary but arbitrary queue priority Silences an error in the validation layers. 2016-02-16 16:12:07 +1100 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: add the necessary call to check if the physical device supports the surface Silences an error in the validation layers. 2016-02-16 15:53:56 +1100 Matthew Waters * ext/vulkan/vkapi.h: * ext/vulkan/vkinstance.c: vulkan: update to SDK 1.0.3.1 2016-02-16 15:36:41 +1100 Matthew Waters * configure.ac: vulkan/build: search for the correct library SDK 1.0.1 used libvulkan-1.so, 1.0.2 uses libvulkan.so 2016-02-16 11:51:28 +1100 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: iterate over the device queue's using the new iteration API 2016-02-16 11:49:24 +1100 Matthew Waters * ext/vulkan/vkdevice.c: * ext/vulkan/vkdevice.h: vkdevice: add callback iteration over the device queue's 2016-02-16 11:22:37 +1100 Matthew Waters * ext/vulkan/vkqueue.c: * ext/vulkan/vkqueue.h: vkqueue: add context helpers 2016-02-11 01:31:14 +1100 Matthew Waters * ext/vulkan/vkdevice.c: * ext/vulkan/vkdevice.h: * ext/vulkan/vkdisplay.c: * ext/vulkan/vkdisplay.h: * ext/vulkan/vkinstance.c: * ext/vulkan/vkinstance.h: * ext/vulkan/vksink.c: * ext/vulkan/vkupload.c: * ext/vulkan/vkutils.c: * ext/vulkan/vkutils.h: vkutils: move object-specific context queries to their respective files vkutils now just contains some utility functions to further simplify retrieving multiple objects. 2016-02-11 00:50:53 +1100 Matthew Waters * ext/vulkan/vkdevice.c: * ext/vulkan/vkdevice.h: vkdevice: remove unneeded error parameter from get_queue() 2016-02-10 18:06:46 +1100 Matthew Waters * ext/vulkan/vkupload.c: * ext/vulkan/vkupload.h: vkupload: implement an uploader abstraction 2016-02-10 19:50:27 +1100 Matthew Waters * ext/vulkan/vkdisplay.c: vkdisplay: unref the instance fixes memory leak 2016-02-10 19:34:55 +1100 Matthew Waters * ext/vulkan/vkdevice.c: * ext/vulkan/vkinstance.c: * ext/vulkan/vkswapper.c: vulkan: chain up in finalize They were missing in some cases 2016-02-10 18:58:32 +1100 Matthew Waters * ext/vulkan/vksink.c: vksink: only unref if the pointers are non-NULL 2016-02-10 18:05:47 +1100 Matthew Waters * ext/vulkan/vkimagememory.c: vkimagememory: free the managing struct on _free fixes a memory leak 2016-02-09 18:26:40 +1100 Matthew Waters * ext/vulkan/vkdevice.c: vkdevice: perform a waitIdle before destroying the device 2016-02-09 17:46:53 +1100 Matthew Waters * ext/vulkan/vkbuffermemory.c: * ext/vulkan/vkbuffermemory.h: * ext/vulkan/vkimagememory.c: * ext/vulkan/vkimagememory.h: Revert "vulkan: remove views from the memory objects." This reverts commit 1ea817298ee4d5ef9b00f888f8ebe16a888b1150. 2016-02-09 17:31:26 +1100 Matthew Waters * ext/vulkan/vkbuffermemory.c: * ext/vulkan/vkbuffermemory.h: * ext/vulkan/vkbufferpool.c: * ext/vulkan/vkimagememory.c: * ext/vulkan/vkimagememory.h: vulkanmemory: remove bind variants 2016-02-09 16:21:00 +1100 Matthew Waters * ext/vulkan/vkbuffermemory.c: * ext/vulkan/vkbuffermemory.h: * ext/vulkan/vkimagememory.c: * ext/vulkan/vkimagememory.h: vulkan: remove views from the memory objects. They are not used and it's not possible to create the view before binding the VkDeviceMemory object to them. 2016-02-09 11:34:57 +1100 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: alpha flags are now supported by LunarG's driver 2016-02-09 00:07:38 +1100 Matthew Waters * ext/vulkan/Makefile.am: * ext/vulkan/vk.h: * ext/vulkan/vk_fwd.h: * ext/vulkan/vkbufferpool.c: * ext/vulkan/vkbufferpool.h: * ext/vulkan/vkupload.c: vulkan: add a vulkanbuffer bufferpool 2016-02-08 22:49:15 +1100 Matthew Waters * ext/vulkan/Makefile.am: * ext/vulkan/gstvulkan.c: * ext/vulkan/vksink.c: * ext/vulkan/vkswapper.c: * ext/vulkan/vkswapper.h: * ext/vulkan/vkupload.c: * ext/vulkan/vkupload.h: vulkan: add upload element 2016-02-08 18:28:29 +1100 Matthew Waters * ext/vulkan/vkutils.c: vkutils: fix assert inversion 2016-02-08 18:27:16 +1100 Matthew Waters * ext/vulkan/vkbuffermemory.h: * ext/vulkan/vkimagememory.h: vulkan: add caps feature names for the buffer and image memories 2016-02-08 14:44:20 +1100 Matthew Waters * ext/vulkan/vksink.c: * ext/vulkan/vkutils.c: * ext/vulkan/vkutils.h: vulkan: add device to handle_context_query 2016-02-08 14:32:10 +1100 Matthew Waters * ext/vulkan/vksink.c: * ext/vulkan/vkutils.c: vulkan: move instance_open into the utility ensure_element_data So callers don't have to perform it themselves. 2016-02-08 14:25:49 +1100 Matthew Waters * ext/vulkan/vkinstance.c: * ext/vulkan/vkinstance.h: * ext/vulkan/vksink.c: vkinstance: add signal for overriding device creation 2016-02-08 12:22:11 +1100 Matthew Waters * ext/vulkan/vkbuffermemory.c: * ext/vulkan/vkbuffermemory.h: * ext/vulkan/vkimagememory.c: * ext/vulkan/vkimagememory.h: * ext/vulkan/vkmacros.h: * ext/vulkan/vkmemory.c: * ext/vulkan/vkmemory.h: * ext/vulkan/vkswapper.c: vulkan: separate allocation and binding of memory 2016-02-08 12:14:44 +1100 Matthew Waters * ext/vulkan/vkbuffermemory.c: vkbuffermemory: follow the rest of the struct macros 2016-02-05 19:31:49 +1100 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: use buffer memory to upload video frames to the GPU 2016-02-05 19:18:40 +1100 Matthew Waters * ext/vulkan/Makefile.am: * ext/vulkan/vk.h: * ext/vulkan/vk_fwd.h: * ext/vulkan/vkbuffermemory.c: * ext/vulkan/vkbuffermemory.h: * ext/vulkan/vkinstance.c: vulkan: add a buffer memory allocator Wraps the VkBuffer in a GstMemory subclass. 2016-02-05 19:11:51 +1100 Matthew Waters * ext/vulkan/vkmemory.h: vkmemory: align struct members in the header 2016-02-05 19:10:43 +1100 Matthew Waters * ext/vulkan/vkmacros.h: vkmacros: use specific _INIT macros to initialize structures 2016-02-05 19:09:41 +1100 Matthew Waters * ext/vulkan/vkimagememory.c: * ext/vulkan/vkimagememory.h: vkimagememory: add get_{width,height) functions 2016-01-27 15:20:49 +1100 Matthew Waters * configure.ac: * ext/vulkan/vkapi.h: * ext/vulkan/vkdevice.c: * ext/vulkan/vkinstance.c: * ext/vulkan/vkinstance.h: * ext/vulkan/vkswapper.c: * ext/vulkan/xcb/vkwindow_xcb.c: vulkan: update to release 1.0.1.1 2016-01-22 14:34:06 +1100 Matthew Waters * ext/vulkan/xcb/vkwindow_xcb.c: vulkan/xcb: flush after mapping the window Otherwise the map may not reach the server and not appear. 2016-01-04 16:51:26 +1100 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: fix semaphore usage 2015-12-31 16:34:24 +1100 Matthew Waters * ext/vulkan/vkdevice.c: * ext/vulkan/vkinstance.c: vulkan: add some debugging about the supported extensions 2015-12-31 15:58:37 +1100 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: get the function pointers from the correct object GetPhysicalDevice* functions are instance functions rather than device functions. 2015-12-31 15:38:37 +1100 Matthew Waters * ext/vulkan/vkinstance.c: * ext/vulkan/vkinstance.h: vkinstance: add the necessary winsys extension 2015-12-31 15:34:45 +1100 Matthew Waters * ext/vulkan/vk_fwd.h: * ext/vulkan/vkdisplay.h: vkdisplay: forward declare GstVulkanDisplayType 2015-12-31 15:32:15 +1100 Matthew Waters * ext/vulkan/vkapi.h: vkapi: remove unneeded headers vkapi is for accessing the vulkan headers with the correct defines applied so doesn't need any interal headers. 2015-12-30 15:15:40 +1100 Matthew Waters * ext/vulkan/vkimagememory.c: vkimagememory: fix the memory barrier access masks silences the following warnings from the validation layer AccessMask xxx must have required access bit xxx and may have optional bits 0 when layout is VK_IMAGE_LAYOUT_TRANSFER_{SRC,DST}_OPTIMAL 2015-12-30 15:14:23 +1100 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: only wait on the semaphore once It's invalid usage and we may deadlock 2015-12-31 01:27:54 +1100 Matthew Waters * ext/vulkan/vkimagememory.c: vkimagememory: initialize flags and don't crash on errors 2015-12-30 14:06:01 +1100 Matthew Waters * ext/vulkan/vkdevice.c: * ext/vulkan/vkerror.c: * ext/vulkan/vkerror.h: * ext/vulkan/vkinstance.c: * ext/vulkan/vkswapper.c: vulkan: update error db for 0.10.2 2015-12-29 16:05:17 +1100 Matthew Waters * ext/vulkan/vk.h: * ext/vulkan/vkapi.h: * ext/vulkan/vkdevice.c: * ext/vulkan/vkdevice.h: * ext/vulkan/vkdisplay.c: * ext/vulkan/vkdisplay.h: * ext/vulkan/vkimagememory.c: * ext/vulkan/vkinstance.c: * ext/vulkan/vkmacros.h: * ext/vulkan/vkmemory.c: * ext/vulkan/vkmemory.h: * ext/vulkan/vkswapper.c: * ext/vulkan/vkswapper.h: * ext/vulkan/vkutils.c: * ext/vulkan/vkwindow.c: * ext/vulkan/vkwindow.h: * ext/vulkan/xcb/vkdisplay_xcb.c: * ext/vulkan/xcb/vkdisplay_xcb.h: * ext/vulkan/xcb/vkwindow_xcb.c: * ext/vulkan/xcb/vkwindow_xcb.h: vulkan: update to SDK 0.10.2 2015-12-07 17:33:43 +1100 Matthew Waters * ext/vulkan/Makefile.am: * ext/vulkan/vk.h: * ext/vulkan/vkdevice.c: * ext/vulkan/vkdisplay.c: * ext/vulkan/vkdisplay.h: * ext/vulkan/vkinstance.c: * ext/vulkan/vkinstance.h: * ext/vulkan/vksink.c: * ext/vulkan/vkutils.c: * ext/vulkan/vkutils.h: * ext/vulkan/vkutils_private.h: vulkan: implement GstContext helpers Based off libgstgl's implementation 2015-12-07 17:21:12 +1100 Matthew Waters * ext/vulkan/vk_fwd.h: * ext/vulkan/vkdevice.c: * ext/vulkan/vkdevice.h: * ext/vulkan/vksink.c: vkdevice: remove gst_vulkan_device_close() When sharing the device between multiple elements/application, we need to use th erefcount to know when to close the device. 2015-12-07 17:00:37 +1100 Matthew Waters * ext/vulkan/vk_fwd.h: * ext/vulkan/vkinstance.c: * ext/vulkan/vkinstance.h: * ext/vulkan/vksink.c: vkinstance: remove gst_vulkan_instance_close Sharing the instance across multiple elements/application will require using the refcount instead to know when to close and destroy the instance. 2015-12-07 16:46:28 +1100 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: remove outdated comment 2015-12-07 16:39:53 +1100 Matthew Waters * ext/vulkan/vkswapper.c: vkswapper: always match lock/unlock of the render lock If a draw event comes from the winsys before we've rendered a buffer we were deadlocking. 2015-12-02 17:54:30 +1100 Matthew Waters * ext/vulkan/vkimagememory.c: * ext/vulkan/vkmemory.c: vkmemory: debug output the memory properties requested 2015-12-02 17:14:49 +1100 Matthew Waters * ext/vulkan/vkimagememory.c: vkimagememory: don't leak GstMapInfo in failure cases on _map() 2015-12-02 17:10:39 +1100 Matthew Waters * ext/vulkan/vkdevice.c: * ext/vulkan/vkinstance.c: * ext/vulkan/vkswapper.c: vulkan: de-C99 struct declarations 2015-12-01 18:37:34 +1100 Matthew Waters * ext/vulkan/vk_fwd.h: * ext/vulkan/vkswapper.c: * ext/vulkan/vkswapper.h: * ext/vulkan/vkwindow.c: * ext/vulkan/vkwindow.h: * ext/vulkan/xcb/xcb_event_source.c: vkwindow/swapper: implement redraw handling only xcb has been implemented 2015-12-01 16:28:28 +1100 Matthew Waters * ext/vulkan/vkdisplay.c: * ext/vulkan/vkdisplay.h: * ext/vulkan/vksink.h: * ext/vulkan/vkswapper.c: * ext/vulkan/vkswapper.h: * ext/vulkan/vkwindow.c: * ext/vulkan/vkwindow.h: * ext/vulkan/xcb/vkdisplay_xcb.c: * ext/vulkan/xcb/vkwindow_xcb.c: * ext/vulkan/xcb/xcb_event_source.c: vulkan: implement quitting and resizing the window As before, only xcb has been implemented. 2015-10-24 17:29:05 +1100 Matthew Waters * configure.ac: * ext/Makefile.am: * ext/vulkan/.gitignore: * ext/vulkan/Makefile.am: * ext/vulkan/gstvulkan.c: * ext/vulkan/vk.h: * ext/vulkan/vk_fwd.h: * ext/vulkan/vkdevice.c: * ext/vulkan/vkdevice.h: * ext/vulkan/vkdisplay.c: * ext/vulkan/vkdisplay.h: * ext/vulkan/vkerror.c: * ext/vulkan/vkerror.h: * ext/vulkan/vkimagememory.c: * ext/vulkan/vkimagememory.h: * ext/vulkan/vkinstance.c: * ext/vulkan/vkinstance.h: * ext/vulkan/vkmemory.c: * ext/vulkan/vkmemory.h: * ext/vulkan/vkqueue.c: * ext/vulkan/vkqueue.h: * ext/vulkan/vksink.c: * ext/vulkan/vksink.h: * ext/vulkan/vkswapper.c: * ext/vulkan/vkswapper.h: * ext/vulkan/vkutils.c: * ext/vulkan/vkutils.h: * ext/vulkan/vkwindow.c: * ext/vulkan/vkwindow.h: * ext/vulkan/xcb/Makefile.am: * ext/vulkan/xcb/vkdisplay_xcb.c: * ext/vulkan/xcb/vkdisplay_xcb.h: * ext/vulkan/xcb/vkwindow_xcb.c: * ext/vulkan/xcb/vkwindow_xcb.h: * ext/vulkan/xcb/xcb_event_source.c: * ext/vulkan/xcb/xcb_event_source.h: new vulkan based video sink Currently xcb is the only winsys that is implemented and there's no redraws et al 2016-02-16 12:38:21 +0000 Tim-Philipp Müller * tests/files/Makefile.am: * tests/files/cbr_stream.mp3: * tests/files/stream.mp2: * tests/files/vbr_stream.mp3: tests: remove test files no longer needed 2016-02-16 10:44:33 +0000 Tim-Philipp Müller * Makefile.am: * configure.ac: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/inspect/plugin-mpg123.xml: * ext/Makefile.am: * ext/mpg123/Makefile.am: * ext/mpg123/gstmpg123audiodec.c: * ext/mpg123/gstmpg123audiodec.h: * gst-plugins-bad.spec.in: * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/mpg123audiodec.c: mpg123: move plugin from -bad to -ugly https://bugzilla.gnome.org/show_bug.cgi?id=719849 2016-02-16 19:59:13 +1100 Matthew Waters * ext/gtk/gstgtkbasesink.c: * ext/gtk/gstgtkbasesink.h: gtk(gl)sink: remove the signal handlers on finalize It's possible that the sink element will be freed before the widget is destroyed. When the widget was eventually destroyed, it was attempting to access member variables of the freed sink struct which resulted in undefined behaviour. Fix by disconnecting our signal on finalize. https://bugzilla.gnome.org/show_bug.cgi?id=762098 2016-02-16 08:48:23 +0200 Sebastian Dröge * gst-libs/gst/gl/gstgldebug.c: * gst-libs/gst/gl/gstglviewconvert.c: gl: Remove leftover g_prints One was commented out, but we also don't use // comments :) 2016-02-16 14:41:37 +1100 Matthew Waters * gst-libs/gst/gl/gstgldebug.c: gldebug: use the correct spelling for behavior The headers use the american spelling of behavior not the UK/AUS version with the extra U. 2016-02-16 13:58:42 +1100 Matthew Waters * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstgldebug.c: glcontext: don't enable GL debug for messages that won't be logged This is an optimization to avoid pointless string processing. 2016-02-16 13:01:20 +1100 Alessandro Decina * ext/gl/gstglvideoflip.c: glvideoflip: don't ignore method changes when caps aren't set (yet) 2016-02-16 00:33:50 +0000 Tim-Philipp Müller * Makefile.am: * configure.ac: * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: * gst/rtp/gstrtph265depay.c: * gst/rtp/gstrtph265depay.h: * gst/rtp/gstrtph265pay.c: * gst/rtp/gstrtph265pay.h: rtp: move RTP H.265 payloader/depayloader to -good https://bugzilla.gnome.org/show_bug.cgi?id=761606 2015-10-07 23:49:58 +0200 Stian Selnes * configure.ac: * gst/netsim/Makefile.am: * gst/netsim/gstnetsim.c: * gst/netsim/gstnetsim.h: * tests/check/Makefile.am: * tests/check/elements/netsim.c: netsim: Add netsim element Resurrected from the Farstream repository and given an overhaul to fix races, deadlocks etc. https://bugzilla.gnome.org/show_bug.cgi?id=756252 2015-11-20 19:38:03 +0000 Florin Apostol * ext/dash/gstdashdemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: dashdemux: gst_dash_demux_get_live_seek_range returns positive values https://bugzilla.gnome.org/show_bug.cgi?id=752374 2016-02-10 10:31:19 +0000 Tim-Philipp Müller * gst-libs/gst/gl/gstglsyncmeta.c: gl: syncmeta: define GL_TIMEOUT_IGNORED in more portable way 2016-02-10 16:37:22 +1100 Alessandro Decina * gst-libs/gst/gl/gstglshader.c: gstglshader: cache uniform locations Avoid redundant calls to glGetUniformLocation. The results can be cached once the shader has been linked. 2016-02-10 15:40:02 +1100 Alessandro Decina * sys/applemedia/videotexturecache.m: applemedia: videotesturecache: let CVOpenGLESTextureCache flush every 1s Leave kCVOpenGLESTextureCacheMaximumTextureAgeKey to the default (1s). We used to set it to 0 and flush manually, but apparently (looking at the GLES profiler) 0 means "disable the cache entirely". 2016-02-10 13:08:43 +1100 Alessandro Decina * gst-libs/gst/gl/gstglcontext.c: gstglcontext: micro optimization to gst_gl_context_thread_add Invoke the callback right away when called on the context thread. Removes overhead when nesting libgstgl calls (for example when working with the sync meta). 2016-01-06 21:39:00 +0000 Julien MOUTTE * ext/rtmp/gstrtmpsink.c: * ext/rtmp/gstrtmpsink.h: rtpmsink: Implement setcaps that uses streamheader This allow adding rtmpsink after the flv streaming have started. Otherwise, FLV streamheader is never sent to the server, which cannot figure-out what is this stream about. It should also help in certain renegotiation figures. The sink will no longer work without an streamheader in caps, though there is no known implementation of flvdemux that does not support this. https://bugzilla.gnome.org/show_bug.cgi?id=760242 2016-02-09 21:35:19 +0000 Luis de Bethencourt * ext/smoothstreaming/gstmssmanifest.c: mssdemux: remove unnecessary check stream->current_fragment has the value of g_list_previous (iter) which has just been checked. No need to check it again. Just to be safe, use a g_assert() to check fragment before dereferencing. CID #1352041 2016-02-09 17:24:50 -0300 Thiago Santos * ext/dash/gstdashdemux.c: dashdemux: plug mpd client leak On parsing error, free the mpd client object https://bugzilla.gnome.org/show_bug.cgi?id=760120 2016-01-04 12:12:45 +0000 Florin Apostol * ext/dash/gstdashdemux.c: dashdemux: fix memory leak in gst_dash_demux_update_manifest_data new_client local variable was not freed in case of errors. Also, the buffer is not unmapped. https://bugzilla.gnome.org/show_bug.cgi?id=760120 2015-11-10 22:01:38 +0000 Florin Apostol * ext/dash/gstdashdemux.c: * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: * tests/check/elements/dash_mpd.c: mpdparser: renamed gst_mpd_client_get_next_segment_availability_end_time to gst_mpd_client_get_next_segment_availability_start_time The function actually returns the segment availability start time (as defined by the standard). That is at the end of the segment, but it is called availability start time. Availability end time is something else (the time when the segment is no longer available on the server). The function name was misleading. https://bugzilla.gnome.org/show_bug.cgi?id=757655 2015-11-10 22:00:58 +0000 Florin Apostol * ext/dash/gstmpdparser.c: mpdparser: corrected getting segment availability https://bugzilla.gnome.org/show_bug.cgi?id=757655 2015-11-19 15:30:34 +0000 Florin Apostol * tests/check/elements/dash_mpd.c: mpdparser: tests: added unit test for getting segment availability when segment timeline is used https://bugzilla.gnome.org/show_bug.cgi?id=757655 2016-01-07 12:50:06 +0000 Florin Apostol * tests/check/elements/adaptive_demux_engine.c: adaptive_demux: tests: improved validation of pads When removing a pad, the on_demuxPadRemoved function must find a stream for that pad. https://bugzilla.gnome.org/show_bug.cgi?id=760328 2016-01-07 12:48:12 +0000 Florin Apostol * tests/check/elements/adaptive_demux_engine.c: adaptive_demux: tests: fix pad used for AppSink event on_demuxNewPad registered the on_appsink_event callback on a wrong pad. https://bugzilla.gnome.org/show_bug.cgi?id=760328 2016-01-08 16:25:12 +0000 Florin Apostol * tests/check/elements/adaptive_demux_engine.c: * tests/check/elements/adaptive_demux_engine.h: adaptivedemux: tests: remove unused demux_sent_eos callback The demux_sent_eos callback is unused in tests. It was also registered on a wrong pad, so it actually triggered when demux received eos from a fragment download. https://bugzilla.gnome.org/show_bug.cgi?id=760328 2016-01-08 18:17:21 +0000 Florin Apostol * tests/check/elements/dash_demux.c: adaptivedemux: tests: remove unneeded youtube xmlns from manifests https://bugzilla.gnome.org/show_bug.cgi?id=760328 2016-02-09 14:07:54 +1100 Alessandro Decina * sys/applemedia/vtdec.c: applemedia: vtdec: implement GstElement::set_context 2016-02-09 14:04:09 +1100 Alessandro Decina * sys/applemedia/vtdec.c: applemedia: vtdec: update copyright 2016-02-09 13:42:48 +1100 Alessandro Decina * sys/applemedia/avfvideosrc.m: applemedia: avfvideosrc: implement GstElement::set_context Needed to properly handle gst.gl.app_context(s). 2016-02-09 13:39:18 +1100 Alessandro Decina * sys/applemedia/avfvideosrc.m: applemedia: avfvideosrc: add myself to the copyright holders 2016-02-09 13:56:32 +1100 Matthew Waters * win32/common/libgstgl.def: gl: update win32 .def file 2016-02-09 13:08:21 +1100 Matthew Waters * gst-libs/gst/gl/gstglsyncmeta.c: glsyncmeta: add compatibility definition for GL_TIMEOUT_IGNORED 2016-02-09 12:14:04 +1100 Matthew Waters * ext/gtk/gtkgstglwidget.c: * gst-libs/gst/gl/gstglsyncmeta.c: * gst-libs/gst/gl/gstglsyncmeta.h: * sys/androidmedia/gstamcvideodec.c: glsyncmeta: separate out gpu/cpu waits. CPU waits are more expensive and are only required if the CPU is ever going to access the data. GPU waits perform inter-context synchronisation and are cheaper as they don't require CPU intervention. 2016-02-08 23:17:34 +0000 Luis de Bethencourt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: remove overwritten value ret is overwitten before used with the return of the subclass seek. CID #1352044 2016-02-08 15:00:35 +0000 Luis de Bethencourt * ext/resindvd/resindvdbin.c: resindvd: remove commented out include Commit 211828979b8c10abf3c74d964bc698dbda4d497d removed rsnaudiomunge, no need for this commented out include for a file that doesn't exist anymore. 2016-02-08 14:26:46 +0000 Luis de Bethencourt * ext/resindvd/resindvdsrc.c: * ext/resindvd/resindvdsrc.h: Revert "resindvd: get rid of _stdint.h include" This reverts commit 0eff6e1991cb24cb65f07c481742782acaa8ec62. Breaks the build when linking with dvdnav.h 2016-02-08 13:43:22 +0000 Luis de Bethencourt * ext/x265/gstx265enc.h: x265enc: get rid of _stdint.h include It was never needed since it doesn't use any standard integer fixed width types. Only the Glib types. 2016-02-08 13:32:46 +0000 Luis de Bethencourt * ext/resindvd/resindvdsrc.c: * ext/resindvd/resindvdsrc.h: resindvd: get rid of _stdint.h include 2016-02-08 12:44:53 +0100 Piotr Drąg * po/POTFILES.skip: po: update POTFILES https://bugzilla.gnome.org/show_bug.cgi?id=761704 2016-02-08 12:23:12 +1100 Matthew Waters * ext/gl/effects/gstgleffectidentity.c: gleffects: identity: add the shader to the hash table So that we don't recreate it every frame and leak memory. https://bugzilla.gnome.org/show_bug.cgi?id=761578 2016-02-05 20:02:22 -0300 Thiago Santos * tests/check/Makefile.am: tests: extend the AM_TESTS_ENVIRONMENT from check.mak To get the CK_DEFAULT_TIMEOUT defined for all tests https://bugzilla.gnome.org/show_bug.cgi?id=761472 2016-02-05 18:06:32 -0300 Thiago Santos * README: * common: Automatic update of common submodule From e97c9bb to b64f03f 2016-02-05 15:34:51 +0000 Luis de Bethencourt * gst/rtp/gstrtph265depay.c: * gst/rtp/gstrtph265depay.h: gstrtph265depay: keep consistency with rtph264depay Use gst_rtp_drop_meta() and the same function prototype for gst_rtp_copy_meta() to keep consistency with the RTP elements in gst-plugins-good 2016-02-05 21:33:38 +0530 Arun Raghavan * sys/tinyalsa/tinyalsasink.c: tinyalsasink: Use glib CLAMP() instead of our own macro 2016-02-05 13:56:34 +0000 Luis de Bethencourt * gst/rtp/gstrtph265depay.c: rtph265depay: fix termination of access unit Only consider the access unit complete when the next-occurring VCL NAL unit has the first bit after its NAL unit header equal to 1. 2016-02-02 13:50:25 +0000 David Waring * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Update position in stream->segment for new stream segment message. https://bugzilla.gnome.org/show_bug.cgi?id=761458 2016-02-05 15:43:22 +0530 Arun Raghavan * sys/tinyalsa/tinyalsasink.c: tinyalsasink: Limit period size and count to what the h/w permits 2016-02-05 10:43:49 +1100 Matthew Waters * gst-libs/gst/gl/gstgldebug.c: * gst-libs/gst/gl/gstglfeature.h: * gst-libs/gst/gl/gstglsl_private.h: * gst-libs/gst/gl/wayland/wayland_event_source.h: * win32/common/libgstgl.def: gl: add .def file for msvc builds Also internalize some API from being exported. 2016-02-02 17:02:41 -0300 Thiago Santos * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/mssdemux.c: tests: mssdemux: add unit tests Adds unit tests similar to the ones that we have for DASH and HLS. Tests: * manifest parsing finishes successfully * some queries (duration, seekable, latency) * seeking with various values and flags 2016-02-02 16:54:10 -0300 Thiago Santos * ext/smoothstreaming/gstmssdemux.c: * ext/smoothstreaming/gstmssmanifest.c: * ext/smoothstreaming/gstmssmanifest.h: mssdemux: implement snap seeking Implement snap seek flags handling in stream_seek to allow the parent class to handle it for us https://bugzilla.gnome.org/show_bug.cgi?id=759158 2016-02-02 16:51:22 -0300 Thiago Santos * ext/smoothstreaming/gstmssdemux.c: mssdemux: use correct seek position on reverse seeks Otherwise it was always using the 'start' value, leading to wrong behavior 2016-02-02 11:30:31 -0300 Thiago Santos * ext/smoothstreaming/gstmssdemux.c: mssdemux: only update download position if the seek requests to Some seeks are only updating the stop position, there is no need to change the current downloading position. 2016-02-02 09:52:17 -0300 Thiago Santos * ext/smoothstreaming/gstmssmanifest.c: mssdemux: do not assert on fragment reloads for non-live It can be used as a resource to verify if the server has updated something in the Manifest when downloads are failing 2016-01-27 10:48:53 -0300 Thiago Santos * tests/check/elements/dash_demux.c: tests: dashdemux: add tests for snap flags seeking Similar to HLS but DASH has the extra issue that it can have multiple streams so snapping can be tricky as streams usually won't be aligned. For now, those tests handle the case of only having a single stream. https://bugzilla.gnome.org/show_bug.cgi?id=759158 2016-02-01 10:49:23 -0300 Thiago Santos * ext/dash/gstdashdemux.c: * ext/dash/gstmpdparser.c: dashdemux: implement snap seek handling Handle snap seeking at the stream_seek method and let superclass do the rest to support snap seeking https://bugzilla.gnome.org/show_bug.cgi?id=759158 2016-01-27 13:31:10 -0300 Thiago Santos * ext/dash/gstdashdemux.c: * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: * ext/smoothstreaming/gstmssdemux.c: * ext/smoothstreaming/gstmssmanifest.c: * ext/smoothstreaming/gstmssmanifest.h: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: handle snap seeks Adaptive demuxers need to start downloading from specific positions (fragments) for every stream, this means that all streams can snap-seek to a different position when requested. Snap seeking in this case will be done in 2 steps: 1) do the snap seeking on the pad that received the seek event and get the final position 2) use this position to do a regular seek on the other streams to make sure they all start from the same position More arguments were added to the stream_seek function, allowing better control of how seeking is done. Knowing the flags and the playback direction allows subclasses to handle snap-seeking. And also adds a new return parameter to inform of the final selected seeking position that is used to align the other streams. https://bugzilla.gnome.org/show_bug.cgi?id=759158 2016-01-26 23:43:24 -0300 Thiago Santos * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: add utility function to get stream from pad Simplifies the code a bit and avoid repeating this common operation 2016-02-04 12:50:43 +0000 Luis de Bethencourt * gst/videoparsers/gsth264parse.c: h264parse: remove unused mview_mode value Since commit b77f8e172a3f0be6be5cb4a72e654253404e694f the new value assigned to mview_mode hasn't been used. That commit changed the following "if" check to an "else if", which means the original value of mview_mode is used. 2016-02-04 12:17:31 +0000 Luis de Bethencourt * gst-libs/gst/gl/gstglquery.c: glquery: remove unnecessary pointer check All uses of query->context in gstglquery.c assume it exists. We can assume this as well before unrefing it. Furthermore, gst_object_unref() will just silently return if it ever were to not exist. 2016-02-04 18:15:56 +1100 Matthew Waters * gst/videoparsers/gsth265parse.c: h265parse: avoid sending unnecessary downstream caps queries/events h265 versions of the following commits: f352691a04896d0de3381fe8ee85ada948bd6337 try the current caps before querying downstream 72bc7d7f736a10117fedb8e1d4013a4946cfefbc increase caps equality check for no codec_data https://bugzilla.gnome.org/show_bug.cgi?id=761014 2016-02-04 16:36:28 +1100 Matthew Waters * gst/videoparsers/gsth264parse.c: h264parse: increase caps equality check for no codec_data When converting from avc to byte-stream, there will not be any codec_data in the src caps. Remove it before the equality check to avoid sending caps events downstream on every SPS/PPS change. https://bugzilla.gnome.org/show_bug.cgi?id=761014 2016-02-04 15:34:04 +1100 Matthew Waters * gst/videoparsers/gsth264parse.c: h264parse: try the current caps before querying downstream If we have a stream that contains an unchanging SPS/PPS for every video frame, we don't need to to constantly query downstream for it's supported caps if the current caps are compatible with the negotiated caps. https://bugzilla.gnome.org/show_bug.cgi?id=761014 2016-02-04 17:31:03 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasefilter.c: glbasefilter: enable qos by default Improves the responsiveness of the pipeline when resources are close/above the limitations of the hardware. Any subclass that wishes not to enable qos can do so themselves. https://bugzilla.gnome.org/show_bug.cgi?id=761519 2016-02-04 15:11:15 +1100 Matthew Waters * sys/androidmedia/gstamcvideodec.c: amcvideodec: pass the correct time value to wait_for_sync When we are not waiting, we need to pass -1 to signal that we just want to check that the frame was/n't rendered. Avoids waiting for frames that will never be rendered. https://bugzilla.gnome.org/show_bug.cgi?id=761014 2016-02-04 15:07:44 +1100 Matthew Waters * sys/androidmedia/gstamcvideodec.c: amcvideodec: advance the ready counter ourselves when render=FALSE When not rendering the video frame, e.g. when freeing an unreleased sync frame, we will not receive a frame listener callback. Reduces the amount of 'on_frame_available miss detected' messages when dropping frames. https://bugzilla.gnome.org/show_bug.cgi?id=761014 2016-02-04 14:25:12 +1100 Jan Schmidt * sys/decklink/gstdecklinkaudiosrc.cpp: decklinkaudiosrc: Fix discont tracking Don't reset the marker that's tracking disconts until either the discont disappears or we resync. 2016-02-03 21:22:28 +0000 Tim-Philipp Müller * sys/Makefile.am: * sys/cdrom/Makefile.am: * sys/cdrom/gstcdplayer.c: * sys/cdrom/gstcdplayer.h: * sys/cdrom/gstcdplayer_ioctl.c: * sys/cdrom/gstcdplayer_ioctl.h: * sys/cdrom/gstcdplayer_ioctl_bsd.h: * sys/cdrom/gstcdplayer_ioctl_irix.h: * sys/cdrom/gstcdplayer_ioctl_solaris.h: Remove ancient and dead cdrom control plugin This was never even ported to 0.10, and I don't think it's particularly useful, since it's just a control interface really. Let's remove it. 2016-02-03 21:16:18 +0000 Tim-Philipp Müller * gst-libs/gst/interfaces/photography.c: * gst-libs/gst/interfaces/photography.h: * gst/coloreffects/gstcoloreffects.h: * gst/debugutils/fpsdisplaysink.c: docs: remove some leftover 'Since 0.10.x' markers 2016-02-03 21:13:58 +0000 Tim-Philipp Müller * gst/debugutils/.gitignore: * gst/debugutils/Makefile.am: * gst/debugutils/debugutils-marshal.list: * gst/debugutils/fpsdisplaysink.c: debugutils: use generic marshaller 2016-02-03 16:28:42 +0000 Vincent Penquerc'h * ext/opus/gstopusdec.c: opus: fix FEC FEC may only be used when PLC is enabled on the audio decoder, as it relies on empty buffers to generate audio from the next buffer. Hooking to the gap events doesn't work as the audio decoder does not like more buffers output than it sends. The length of data to generate using FEC from the next packet is determined by rounding the gap duration to nearest. This ensures that duration imprecision does not cause quantization to 2.5 milliseconds less than available. Doing so causes the Opus API to fail decoding. Such duration imprecision is common in live cases. The buffer to consider when determining the length of audio to be decoded is the previous buffer when using FEC, and the new buffer otherwise. In the FEC case, this means we determine the amount of audio from the previous buffer, whether it was missing or not (and get the data either from this buffer, or the current one if the previous one was missing). 2016-02-03 10:59:23 +1100 Matthew Waters * ext/gl/gstgltransformation.c: gltransformation: reconfigure the src when changing to/from passthrough Otherwise it's very possible that any GL resources have not been created yet. 2016-02-03 10:52:08 +1100 Matthew Waters * ext/gl/gstglvideoflip.c: * ext/gl/gstglvideoflip.h: glvideoflip: correctly update the output caps on method changes When changing methods we may need different output caps. 2016-02-02 11:20:17 -0800 Reynaldo H. Verdejo Pinochet * sys/tinyalsa/tinyalsasink.c: tinyalsasink: fix tinalsa typo 2016-02-02 11:06:52 -0800 Reynaldo H. Verdejo Pinochet * sys/tinyalsa/tinyalsasink.c: tinyalsasink: fix sample launch line 2016-02-02 14:46:30 +0000 David Waring * gst-libs/gst/player/Makefile.am: libs: player: use configured GST_PKG_CONFIG_PATH when invoking the introspection scanner https://bugzilla.gnome.org/show_bug.cgi?id=761460 2016-02-02 15:20:48 +0000 Vincent Penquerc'h * ext/opus/gstopusdec.c: opusdec: fix wrong buffer being checked for missing data This caused a decoding error if the resulting (wrong) buffer size was passed to the Opus decoding API. https://bugzilla.gnome.org/show_bug.cgi?id=758158 2016-02-02 16:26:09 +0530 Arun Raghavan * sys/tinyalsa/tinyalsasink.c: tinyalsasink: Use int type if we support a single rate/channel count Avoids using an int range if the field we're setting is not actually a range. 2016-02-02 18:36:34 +1100 Matthew Waters * gst-libs/gst/gl/eagl/gstglcontext_eagl.m: Revert "gl/eagl: try getting a gles3 context" This reverts commit 96b9666d596be115fd4b446ef846508b7fd05c24. This reverts commit d11385d167d8843604ea23a05e2dea40b8bbac35. This breaks the texture sharing with the applemedia elements as CVOpenGLESTextureCache seems to have an arbitrary restriction on GLES2 only. 2016-02-02 16:21:14 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: don't skip subset structures We may need them to transform into a different set of formats. Fixes YUV->YUV with two glcolorconverts, e.g: format=I420 ! glcolorconvert ! glcolorconvert ! format=NV12 2016-02-02 16:19:54 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasefilter.c: glbasefilter: always call gl_start when not called already Fixes elements transitioning out of passthrough mode using GL resources that hadn'e been allocated yet. 2016-02-02 15:14:25 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: fix RGB,rectangle->planar YUV conversion Converting to GRAY is no fun. Another case of normalized vs unnormalized texture coordinates. 2016-02-02 13:51:18 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: fix YUY2/UYVY,rectangle->RGB conversion 1.0 / width does not offset by one pixel in rectangular textures (which use unnormalized coordinates). Provide the actual pixel offset as a uniform to the shader. 2016-01-27 16:42:09 +0530 Arun Raghavan * configure.ac: * sys/Makefile.am: * sys/tinyalsa/Makefile.am: * sys/tinyalsa/tinyalsa.c: * sys/tinyalsa/tinyalsasink.c: * sys/tinyalsa/tinyalsasink.h: tinyalsa: Add a new sink plugin using tinyalsa This uses the tinyalsa library to playback to an ALSA device. Future work can include using the mmap interface. https://bugzilla.gnome.org/show_bug.cgi?id=761230 2016-02-02 12:50:26 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: perform better negotiation 1. Correctly describe what we can caps we can transform to/from. i.e. no YUV->YUV or GRAY->YUV or YUV->GRAY (except for passthrough). 2. Prefer similar formats and ignore incompatible formats on fixation. 2016-01-26 23:15:10 -0300 Thiago Santos * tests/check/elements/dash_demux.c: tests: dashdemux: add test for updating stop position Test that a seek that only updates the stop position works as expected 2016-02-01 09:48:33 -0300 Thiago Santos * ext/dash/gstdashdemux.c: dashdemux: only update current reading position when needed If the seek doesn't set the start/stop position, no need to reposition the download index. 2016-01-29 20:34:42 -0300 Thiago Santos * ext/dash/gstdashdemux.c: dashdemux: respect seeking parameter Instead of using the segment values, use the parameter requested in the seeking argument 2016-02-01 14:25:42 -0300 Thiago Santos * tests/check/elements/dash_mpd.c: tests: dash: fix dash tests after index fix 8e788f284508612982e8e38336eed676c2eec35a broke one of the dash mpd tests. This updates and fixes it. 2016-02-01 12:23:32 +0000 Julien Isorce * gst-libs/gst/gl/gstglwindow.c: gstglwindow: initialize navigation_loop to NULL Useful when gst_gl_window.c::gst_gl_window_new is not used. This is the case when using a custom GstGLWindow. (ex: GstGLWindowGPUProcess from Chromium) 2016-02-01 09:26:37 +0000 Tim-Philipp Müller * gst-libs/gst/gl/eagl/gstglcontext_eagl.m: gl: eagl: fix build gstglcontext_eagl.m:238:45: error: too few arguments to function call, expected at least 4, have 3 2016-02-01 15:13:03 +1100 Alessandro Decina * ext/gl/gstgldownloadelement.c: gldownload: allow video/x-raw as input ...and just passthrough. This is useful for pipelines where downstream must be non-GL but upstream can optionally be GL. 2016-02-01 12:57:32 +1100 Matthew Waters * gst-libs/gst/gl/eagl/gstglcontext_eagl.m: gl/eagl: try getting a gles3 context Fallback to a gles2 context if that fails 2016-01-21 16:10:48 +0800 Wang Xin-yu (王昕宇) * ext/gl/gstglvideomixer.c: glvideomixer: fix checker vbo leak https://bugzilla.gnome.org/show_bug.cgi?id=760925 2016-01-24 15:47:12 +0100 Holger Kaelberer * tests/examples/qt/qml/main.qml: tests: fix warning in qml example https://bugzilla.gnome.org/show_bug.cgi?id=756082 2016-01-24 15:42:32 +0100 Holger Kaelberer * configure.ac: qt: Fix build for android https://bugzilla.gnome.org/show_bug.cgi?id=756082 2016-02-01 01:01:10 +0000 Tim-Philipp Müller * ext/snapshot/Makefile.am: * ext/snapshot/gstsnapshot.c: * ext/snapshot/gstsnapshot.h: Remove dead snapshot plugin Was never ported and doesn't look like we want it or need it in this form, can do the same with the libgstvideo sample conversion utility API now, but better and in a more flexible way. 2016-02-01 00:49:48 +0000 Tim-Philipp Müller * configure.ac: * ext/rsvg/gstrsvgdec.h: * ext/rsvg/gstrsvgoverlay.h: rsvg: bump requirement to 2.36.2 Which allows us to simplify the configure check and some special-casing in the code, and is plenty old in any case. 2016-02-01 00:29:37 +0000 Tim-Philipp Müller * ext/Makefile.am: * ext/libfame/Makefile.am: * ext/libfame/README: * ext/libfame/gstlibfame.c: * ext/libfame/gstlibfame.h: * m4/Makefile.am: * m4/libfame.m4: Remove dead libfame plugin Was never even ported to 0.10, and the lib has been unmaintained for ever and doesn't even seem to be packaged any more. 2016-01-31 19:09:57 +0000 Tim-Philipp Müller * ext/Makefile.am: * ext/audiofile/Makefile.am: * ext/audiofile/README: * ext/audiofile/gstaf.c: * ext/audiofile/gstafparse.c: * ext/audiofile/gstafparse.h: * ext/audiofile/gstafsink.c: * ext/audiofile/gstafsink.h: * ext/audiofile/gstafsrc.c: * ext/audiofile/gstafsrc.h: * po/POTFILES.skip: Remove dead audiofile plugin This was never even ported to 0.10. 2016-01-31 19:04:20 +0000 Tim-Philipp Müller * .gitignore: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.interfaces: * ext/Makefile.am: * ext/gsettings/Makefile.am: * ext/gsettings/gstgsettings.h: * ext/gsettings/gstgsettingsaudiosink.c: * ext/gsettings/gstgsettingsaudiosink.h: * ext/gsettings/gstgsettingsaudiosrc.c: * ext/gsettings/gstgsettingsaudiosrc.h: * ext/gsettings/gstgsettingsvideosink.c: * ext/gsettings/gstgsettingsvideosink.h: * ext/gsettings/gstgsettingsvideosrc.c: * ext/gsettings/gstgsettingsvideosrc.h: * ext/gsettings/gstswitchsink.c: * ext/gsettings/gstswitchsink.h: * ext/gsettings/gstswitchsrc.c: * ext/gsettings/gstswitchsrc.h: * ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in: * ext/gsettings/plugin.c: * m4/gsettings.m4: * po/POTFILES.in: * tests/check/Makefile.am: Remove gsettings plugin which was never ported Don't think we need this any longer or want to support it, and clearly no one has been missing it all these years either, so let's just get rid of it. 2016-01-31 16:02:33 +0000 Tim-Philipp Müller * ext/smoothstreaming/Makefile.am: * ext/smoothstreaming/gstmssdemux.h: smoothstreaming: remove unused dependency on uridownloader 2016-01-31 14:42:21 +0000 Tim-Philipp Müller * configure.ac: * ext/faad/Makefile.am: * ext/faad/gstfaad.c: * ext/faad/gstfaad.h: faad: simplify configure check and require faad >= 2.7 Just check whether LATM is defined which is only available in 2.7 and later. Allows us to simplify the configure check a little and we can get rid of some hackish workarounds for problems with earlier version headers. 2016-01-30 17:31:41 +0000 Tim-Philipp Müller * sys/dvb/gstdvbsrc.c: dvbsrc: drop unnecessary use of _stdint.h 2016-01-29 23:39:26 +0100 Sebastian Dröge * gst/mxf/mxftypes.c: mxftypes: Generate UUIDs according to RFC4122 version 4 (aka random) Instead of fully random UUIDs, these should follow a scheme. 2016-01-29 21:09:44 +0100 Sebastian Dröge * gst/mxf/mxfmetadata.c: mxfmetadata: Properly write video line map data as an array of 32 bit integers 2016-01-29 20:58:27 +0100 Sebastian Dröge * gst/mxf/mxfmetadata.c: mxfmetadata: DMSchemes in the Preface is a required field Even if it has 0 entries. 2016-01-29 18:41:52 +0100 Sebastian Dröge * gst/mxf/mxful.c: mxful: Fix Content Storage UL 2016-01-29 18:28:03 +0100 Sebastian Dröge * gst/mxf/mxfmetadata.c: mxfmetadata: Best effort values must be written and if unset must contain the distinguished value It's invalid to not write them at all. 2016-01-29 17:36:11 +0100 Sebastian Dröge * gst/mxf/mxful.c: mxful: Add missing OperationalPattern UL, which fixes an off-by-one with the others 2016-01-29 17:07:08 +0100 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Our body partition is always complete and closed We have no metadata in it. 2016-01-29 17:02:01 +0100 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Use IndexSID of 2 instead of 1 Some tools complain if essence and index have the same SID. 2016-01-29 16:38:23 +0100 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Rewrite body partition pack on EOS and mark it as complete/closed 2016-01-29 23:28:59 +1100 Matthew Waters * sys/androidmedia/gstamcvideodec.c: amcvideodec: guard against not finding a valid frame in loop Fixes sporadic crashes on finishing decoding a video. https://bugzilla.gnome.org/show_bug.cgi?id=761014 2016-01-29 15:24:36 +1100 Matthew Waters * sys/androidmedia/gstamcvideodec.c: * sys/androidmedia/gstamcvideodec.h: * sys/androidmedia/org/freedesktop/gstreamer/androidmedia/GstAmcOnFrameAvailableListener.java: amcvideodec: set our data pointer in java to NULL on close The frame available callback can be called after deconfiguring the amc codec. Guard against this by setting the back pointer to NULL on close() and ignoring any NULL data pointer. https://bugzilla.gnome.org/show_bug.cgi?id=761014 2016-01-29 15:07:59 +1100 Alessandro Decina * sys/applemedia/Makefile.am: * sys/applemedia/avfvideosrc.m: * sys/applemedia/glcontexthelper.c: * sys/applemedia/glcontexthelper.h: * sys/applemedia/vtdec.c: * sys/applemedia/vtdec.h: applemedia: refactor GL context code Rework the GL context code. Now both avfvideosrc and vtdec can create an internal GL context for pushing textures. Both elements will still try to use/switch to a local context where available (including after RECONFIGURE events). 2016-01-29 10:35:15 +0800 Wang Xin-yu (王昕宇) * gst-libs/gst/gl/glprototypes/base.h: glprototypes: fix parameter type of glGenBuffers The number of buffers should be GLsizei instead of GLuint. https://bugzilla.gnome.org/show_bug.cgi?id=761272 2015-12-08 14:09:58 +0800 Haihua Hu * ext/gl/effects/gstgleffectssources.c: gleffects: fix gleffects fisheye shader compile error On some embedded systems, sqrt() is not supported in the shader, use the actual value of sqrt(2) instead. Signed-off-by: Haihua Hu Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=761271 2016-01-29 14:03:26 +1100 Matthew Waters * ext/gl/gstglvideomixer.c: glvideomixer: par may not exist in the caps Fixes a critical in the gst-validate tests: gst_structure_fixate_field_nearest_fraction: assertion 'gst_structure_has_field (structure, field_name) 2016-01-29 12:45:57 +1100 Matthew Waters * gst-libs/gst/gl/egl/gstglcontext_egl.c: * gst-libs/gst/gl/gstglcontext.c: glcontext: back out unintended lost_context changes 2016-01-28 16:39:07 +1100 Matthew Waters * gst-libs/gst/gl/egl/gstglcontext_egl.c: * gst-libs/gst/gl/egl/gstglcontext_egl.h: * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/utils/opengl_versions.h: egl: implement selecting opengl3 contexts 2016-01-28 14:31:33 +1100 Matthew Waters * gst-libs/gst/gl/egl/gsteglimagememory.c: * gst-libs/gst/gl/egl/gstglcontext_egl.c: * gst-libs/gst/gl/egl/gstglcontext_egl.h: gl/egl: pass the error value to get_error_string() 2016-01-28 18:20:44 +0100 Aurélien Zanelli * gst/rawparse/gstvideoparse.c: videoparse: initialize update_size to FALSE when updating info Otherwise, behavior will be undefined when no strides/offsets are set and it will likely go wrong. https://bugzilla.gnome.org/show_bug.cgi?id=760270 2016-01-28 11:56:36 -0500 Nicolas Dufresne * gst/rawparse/gstvideoparse.c: videoparse: Fix framesize calculation When the framesize is not specified, we try and calculate a size from the strides and offset information. This was done with the sum of offsets + the size of the last frame. That is just wrong method. We also need to account for video meta that may be flipping two planes. An example is if you convert I420 to YV12 by flipping the two last offsets. https://bugzilla.gnome.org/show_bug.cgi?id=760270 2016-01-28 19:36:47 +0100 Sebastian Dröge * gst/gdp/gstgdpdepay.c: * gst/gdp/gstgdpdepay.h: gdpdepay: Add ts-offset property to adjust buffer timestamps 2016-01-29 04:50:42 +1100 Jan Schmidt * pkgconfig/gstreamer-bad-audio-uninstalled.pc.in: * pkgconfig/gstreamer-bad-audio.pc.in: * pkgconfig/gstreamer-bad-base-uninstalled.pc.in: * pkgconfig/gstreamer-bad-base.pc.in: * pkgconfig/gstreamer-bad-video-uninstalled.pc.in: * pkgconfig/gstreamer-bad-video.pc.in: * pkgconfig/gstreamer-gl-uninstalled.pc.in: * pkgconfig/gstreamer-gl.pc.in: pkg-config: Don't generate and install pkg-config with relative paths Don't put relative paths in pkg-config files, including uninstalled ones. For those, use @abs_topbuilddir@ and @abs_topsrcdir@ as we do elsewhere. Remove libraries= directives, which doesn't seem to be a pkg-config variable that actually exists, but has been in all our pkg-config files for as long as they've existed. 2016-01-28 16:49:53 +0100 Sebastian Dröge * gst/mxf/mxfmpeg.c: mxfmpeg: Write the correct essence container UL for all codecs 2016-01-28 16:41:31 +0100 Sebastian Dröge * gst/mxf/mxfmpeg.c: mxfmpeg: Write version number into the picture essence coding UL 2016-01-28 16:32:34 +0100 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Write a timecode track into the source package too 2016-01-11 15:47:24 +0100 Aurélien Zanelli * gst/rawparse/gstvideoparse.c: * gst/rawparse/gstvideoparse.h: videoparse: use decide_allocation to check if downstream supports videometa If yes, we add them to each output buffers and we avoid frame copy. https://bugzilla.gnome.org/show_bug.cgi?id=760270 2016-01-11 15:46:16 +0100 Aurélien Zanelli * gst/rawparse/gstrawparse.c: * gst/rawparse/gstrawparse.h: rawparse: add 'decide_allocation' vfunc to let subclass parse an allocation query And so send an allocation query. This could be used to check whether downstream element supports some metas or not. https://bugzilla.gnome.org/show_bug.cgi?id=760270 2016-01-08 17:17:01 +0100 Aurélien Zanelli * gst/rawparse/gstrawparse.c: rawparse: use size of buffer we got from adapter Otherwise position in stream could be wrong if subclass 'pre_push_frame' method changes the buffer size. https://bugzilla.gnome.org/show_bug.cgi?id=760270 2016-01-07 14:27:27 +0100 Aurélien Zanelli * gst/rawparse/gstvideoparse.c: * gst/rawparse/gstvideoparse.h: videoparse: add properties to set framesize, strides and planes offsets To make parser work with image having non-standard strides, plane offsets or with padding between images. For now, since element doesn't check for videometa, we can't directly push buffers when these properties are set so it convert the frame in the pre_push_buffer method to remove any custom padding. https://bugzilla.gnome.org/show_bug.cgi?id=760270 2016-01-08 15:21:28 +0100 Aurélien Zanelli * gst/rawparse/gstrawparse.c: * gst/rawparse/gstrawparse.h: * gst/rawparse/gstvideoparse.c: rawparse: rename 'set_buffer_flags' vfunc to 'pre_push_buffer' to allow subclass to change other fields of the buffer. https://bugzilla.gnome.org/show_bug.cgi?id=760270 2016-01-07 14:18:08 +0100 Aurélien Zanelli * gst/rawparse/gstvideoparse.c: * gst/rawparse/gstvideoparse.h: videoparse: cache video info in instance To avoid initializing and filling video info each time we need it. https://bugzilla.gnome.org/show_bug.cgi?id=760270 2016-01-28 15:38:45 +0100 Sebastian Dröge * gst/mxf/mxfmetadata.c: * gst/mxf/mxful.c: * gst/mxf/mxful.h: mxfmux: Write This Generation UID into the Identification metadata It's required according to the standard and we forgot to actually write it to the file although we stored it in the data structures. 2016-01-28 15:29:01 +0100 Sebastian Dröge * gst/mxf/mxfmetadata.c: mxfmetadata: Add workaround for ffmpeg only writing one Video Line Map value https://ffmpeg.org/pipermail/ffmpeg-devel/2016-January/188202.html 2015-10-14 21:13:57 +1100 Matthew Waters * ext/gl/gstglmixer.c: * ext/gl/gstglstereomix.c: * ext/gl/gstglvideomixer.c: * gst-libs/gst/video/gstvideoaggregator.c: * gst-libs/gst/video/gstvideoaggregator.h: * gst/compositor/compositor.c: videoaggregator: don't do caps processing that is not overridable Allows the subclass to completely override the chosen src caps. This is needed as videoaggregator generally has no idea exactly what operation is being performed. - Adds a fixate_caps vfunc for fixation - Merges gst_video_aggregator_update_converters() into gst_videoaggregator_update_src_caps() as we need some of its info for proper caps handling. - Pass the downstream caps to the update_caps vfunc https://bugzilla.gnome.org/show_bug.cgi?id=756207 2016-01-27 20:23:21 +1100 Matthew Waters * ext/gl/gstglcolorbalance.c: glcolorbalance: return HARDWARE from get_balance_type 2016-01-27 20:04:00 +1100 Matthew Waters * ext/gl/gstglsinkbin.c: * ext/gl/gstglsinkbin.h: glsinkbin: add glcolorbalance element This makes playbin not plug videobalance as glcolorbalance already exists and implements the GstColorBalance interface. 2016-01-27 19:56:36 +1100 Matthew Waters * ext/gl/gstglvideomixer.c: * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstglcontrolbindingproxy.c: * gst-libs/gst/gl/gstglcontrolbindingproxy.h: gl: move control binding proxy implementation from glvideomixer Other elements may need to use it's functionality 2016-01-27 18:17:06 +1100 Matthew Waters * ext/gl/gstglcolorbalance.c: glcolorbalance: create the shader if it doesn't exist in the render callback Changing the properties may result in glcolorbalance moving from passthrough to non-passthrough and we weren't creating the shader in that case. 2016-01-25 16:29:46 +1100 Matthew Waters * ext/qt/gstqtsink.cc: qt: specify that we currently only take 2D textures Fixes black screen video playback on android without a caps filter. 2016-01-25 19:11:38 +1100 Matthew Waters * ext/gl/gstglvideoflip.c: * ext/gl/gstglvideoflip.h: glvideoflip: incorporate the aspect ratio into the scale_x calculations 1. Otherwise rotating the video will clip and show black bars due to gltransformation's implementation. 2. The other option of make gltransformation aspect-agnostic produces incorrect output with perspective transformations. 2016-01-27 14:36:36 +1100 Alessandro Decina * sys/applemedia/avfvideosrc.m: applemedia: avfvideosrc: actually set the configured framerate Actually set the configured framerate. Before we only used to set the first matching framerate range. On iOS where the camera reports ranges [2, 60], we used to configure the camera to output anything between 2 and 60fps. 2016-01-25 22:30:29 +0000 Luis de Bethencourt * ext/opencv/gstcvlaplace.cpp: * ext/opencv/gstcvlaplace.h: opencv: add mask property to cvlaplace Add a "mask" property that sets whether the edges by cvLaplace should be used as a mask on the original input or not. The same way the original image is copied to the edges in edgedetect. 2016-01-25 21:42:52 +0000 Luis de Bethencourt * ext/opencv/gstcvsobel.cpp: * ext/opencv/gstcvsobel.h: opencv: add mask property to cvsobel Add a "mask" property that sets whether the detected derivative edges should be used as a mask on the original input or not. The same way the original image is added to the edges in edgedetect. 2016-01-25 15:19:37 +0000 Luis de Bethencourt * ext/opencv/gstskindetect.cpp: opencv: update deprecated function in skindetect cvCvtPixToPlane() has been deprecated in OpenCV 3.0, and cvSplit() is the suggested replacement. Since cvSplit() is available in OpenCV 2.4, it is safe and cautious to update the function usage before it becomes an issue. 2016-01-25 11:43:59 +0000 Luis de Bethencourt * ext/opencv/gstcvlaplace.cpp: * ext/opencv/gstcvlaplace.h: opencv: fix cvlaplace cvlaplace was also affected by the silent change in OpenCV API, same as cvsobel. It hasn't been working for a while. It would return a plain black image. This commit updates the usage of cvLaplace by using cvCvtColor to create the grayscale intermediate image to process. This also means there is no need anymore to use GstBaseTransform's transform_caps, since the pads are RGB. 2016-01-25 13:33:09 +0900 Vineeth TM * gst/videoparsers/gsth265parse.c: h265parse: Fix buffer leak when sps is not present When sps data is NULL, the buffer allocated and mapped is not being freed. In this scenario there is no need to allocate the buffer as we are supposed to return NULL. https://bugzilla.gnome.org/show_bug.cgi?id=761070 2016-01-25 12:05:12 +0900 Vineeth TM * gst/videoparsers/gsth265parse.c: h265parse: Fix buffer memory leak. While setting caps, codec_data buffer is mapped, but not being unmapped leading to memory leaks. https://bugzilla.gnome.org/show_bug.cgi?id=761070 2016-01-23 17:10:51 +0000 Luis de Bethencourt * ext/opencv/gstcvsobel.cpp: * ext/opencv/gstcvsobel.h: opencv: fix cvsobel cvsobel han't been working for a while due to a silent change in OpenCV API. It would return a plain black image. This commit updates the usage of cvSobel by using cvCvtColor to create the grayscale image to process. This also means there is no need to use GstBaseTransform's transform_caps anymore, since the pads can be RGB. 2016-01-23 05:30:05 +0200 Sebastian Dröge * pkgconfig/Makefile.am: pkg-config: Properly version and install base/audio/video .pc files https://bugzilla.gnome.org/show_bug.cgi?id=760733#c17 2016-01-22 16:43:03 +0000 Alex Ashley * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: fix leak of stream->internal_pad The function gst_adaptive_demux_stream_update_source() function creates a new GstPad called internal_pad. This pad is not freed when releasing the stream. The solution is to set GST_PAD_FLAG_NEED_PARENT so that the chain functions do not get called when the pad has no parent and then remove the parent in the gst_adaptive_demux_stream_free() function. This causes the refcount of the pad to be set to zero. https://bugzilla.gnome.org/show_bug.cgi?id=760982 2016-01-21 22:00:44 +0800 John Chang * ext/dash/gstmpdparser.c: mpdparser: Use RepresentationIndex instead of Initialization to get the URL of the RepresentationIndex https://bugzilla.gnome.org/show_bug.cgi?id=760936 2016-01-22 17:25:28 +0200 Sebastian Dröge * sys/androidmedia/gst-android-hardware-camera.c: ahc: Fail gracefully if our callback class can't be found Instead of just ignoring that error and then calling JNI functions with NULL, which will kill the virtual machine. The error handling here needs some further improvements though, errors in more places are just ignored. 2016-01-22 17:22:47 +0200 Sebastian Dröge * sys/androidmedia/gst-android-hardware-camera.c: ahc: Initialize GError pointer with NULL Otherwise there will be assertions. 2016-01-22 17:18:58 +0200 Sebastian Dröge * sys/androidmedia/gstamcvideodec.c: amcvideodec: Only free GstAmcBuffer if it's not NULL And also free it on GL errors. 2016-01-13 22:05:49 +0100 Julien Moutte * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkvideosink.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: * sys/decklink/gstdecklinkvideosrc.h: decklinkvideosrc: implement RGB capture support Combine mode and format to generate caps and support the flags from VideoChanged callback to support RGB capture. https://bugzilla.gnome.org/show_bug.cgi?id=760594 2016-01-22 16:22:07 +0200 Sebastian Dröge * sys/androidmedia/gstamc.h: amc: Add an assertion for NULL GErrors Should never happen! But an assertion is better than a NULL pointer dereference. 2016-01-22 16:14:46 +0200 Sebastian Dröge * sys/androidmedia/gst-android-graphics-imageformat.c: * sys/androidmedia/gst-android-hardware-camera.c: ahc: Fix indentation 2016-01-22 16:13:45 +0200 Sebastian Dröge * sys/androidmedia/gstamc.c: * sys/androidmedia/gstamcaudiodec.c: * sys/androidmedia/gstamcvideodec.c: * sys/androidmedia/gstamcvideoenc.c: amc: MediaCodec::getOutputBuffer() can return NULL without exception Happens when doing zerocopy rendering, or when passing a wrong index to it. Handle this properly for zerocopy rendering, fail properly for the other cases. https://bugzilla.gnome.org/show_bug.cgi?id=760961 2016-01-16 18:59:43 +0200 Sebastian Dröge * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/base/Makefile.am: * gst-libs/gst/video/Makefile.am: * pkgconfig/Makefile.am: base/audio/video: Install headers and pkg-config files They are still considered unstable API but it would be good to give them some wider testing already to make sure the API is useful. https://bugzilla.gnome.org/show_bug.cgi?id=760733 2016-01-16 18:56:26 +0200 Sebastian Dröge * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/audio/Makefile.am: * gst-libs/gst/audio/gstaudioaggregator.c: * gst-libs/gst/audio/gstaudioaggregator.h: * gst/audiomixer/Makefile.am: * gst/audiomixer/gstaudiointerleave.h: * gst/audiomixer/gstaudiomixer.h: * pkgconfig/gstreamer-bad-audio-uninstalled.pc.in: * pkgconfig/gstreamer-bad-audio.pc.in: audio: Move audioaggregator base class to a library It's useful enough already to be used in other elements for audio aggregation, let's give people the opportunity to use it and give it some API testing. https://bugzilla.gnome.org/show_bug.cgi?id=760733 2016-01-21 23:13:36 +0100 Holger Kaelberer * gst-libs/gst/gl/android/gstglwindow_android_egl.c: glwindow: Fix android build https://bugzilla.gnome.org/show_bug.cgi?id=760972 2016-01-22 13:51:49 +1100 Alessandro Decina * sys/applemedia/videotexturecache.m: applemedia: texture cache: copy the input metas Copy the input metas so avfvideosrc and vtenc can fast path to using CVPixelBuffer(s) even when using GLMemory. 2016-01-21 13:50:44 -0500 Nicolas Dufresne Merge branch 'android-hardware-camera' This branch adds support for Android Hardware Camera API through a new element called ahcsrc. This is the "old" Android Camera API, then only API available on Android 4.X. https://bugzilla.gnome.org/show_buf.cgi?id=737786 2016-01-08 16:16:09 -0500 Nicolas Dufresne * sys/androidmedia/gstahcsrc.c: ahcsrc: Fix latency reporting Currently it was wrongly reporting min/max as being the shortest and longest possible frame duration. This is not how latency works in GStreamer. Fix by reporting min latency as being the longest possible duration of one frame. As we don't know how many buffers the stack can accumulate, we simply assume that max latency is the same (the usual default behaviour). 2015-12-07 14:31:40 +0100 George Kiagiadakis * sys/androidmedia/gstahcsrc.c: ahcsrc: fix deadlock when flushing _data_queue_item_free() calls gst_buffer_unref(), which calls gst_ahc_src_buffer_free_func(), which calls g_mutex_lock() on self->mutex and there you go... deadlock! 2015-12-24 12:51:13 +0900 Justin Kim * sys/androidmedia/Makefile.am: * sys/androidmedia/gst-android-graphics-imageformat.c: * sys/androidmedia/gst-android-graphics-imageformat.h: * sys/androidmedia/gst-android-graphics-surfacetexture.c: * sys/androidmedia/gst-android-graphics-surfacetexture.h: * sys/androidmedia/gst-android-hardware-camera.c: * sys/androidmedia/gst-android-hardware-camera.h: * sys/androidmedia/gst-android-media-mediacodec.c: * sys/androidmedia/gst-android-media-mediacodec.h: * sys/androidmedia/gst-android-media-mediacodecinfo.c: * sys/androidmedia/gst-android-media-mediacodecinfo.h: * sys/androidmedia/gst-android-media-mediacodeclist.c: * sys/androidmedia/gst-android-media-mediacodeclist.h: * sys/androidmedia/gst-android-media-mediaformat.c: * sys/androidmedia/gst-android-media-mediaformat.h: * sys/androidmedia/gstahcsrc.c: * sys/androidmedia/gstahcsrc.h: * sys/androidmedia/gstamc.c: * sys/androidmedia/org/freedesktop/gstreamer/androidmedia/GstAhcCallback.java: ahcsrc: porting from 0.10 to 1.0 2015-12-24 12:14:24 +0900 Justin Kim * gst-libs/gst/dvm/Makefile.am: * gst-libs/gst/dvm/gstdvm.c: * gst-libs/gst/dvm/gstdvm.h: * pkgconfig/gstreamer-dvm-uninstalled.pc.in: * pkgconfig/gstreamer-dvm.pc.in: * sys/androidcamera/Makefile.am: * sys/androidcamera/com/gstreamer/GstAhcCallback.java: * sys/androidcamera/gstahccallback.h: * sys/androidmedia/gst-android-graphics-imageformat.c: * sys/androidmedia/gst-android-graphics-imageformat.h: * sys/androidmedia/gst-android-graphics-surfacetexture.c: * sys/androidmedia/gst-android-graphics-surfacetexture.h: * sys/androidmedia/gst-android-hardware-camera.c: * sys/androidmedia/gst-android-hardware-camera.h: * sys/androidmedia/gst-androidcamera.c: * sys/androidmedia/gstahcsrc.c: * sys/androidmedia/gstahcsrc.h: move androidcamera into androidmedia This commit is a part of portng android hardware camera from 0.10 implementation. To preserve history and get diff clearly, the interesting files are moved to deployment directory and the remaining files are removed. 2013-01-07 18:27:40 -0500 Youness Alaoui * sys/androidcamera/gst-android-graphics-surfacetexture.c: * sys/androidcamera/gst-android-graphics-surfacetexture.h: * sys/androidcamera/gst-android-hardware-camera.c: * sys/androidcamera/gst-android-hardware-camera.h: * sys/androidcamera/gstahcsrc.c: androidcamera: Separate release and free APIs 2013-01-07 18:20:47 -0500 Youness Alaoui * sys/androidmedia/gst-android-media-mediacodecinfo.c: androidmedia: Fix get_level and get_profile exception checking by not using return 2013-01-07 18:19:28 -0500 Youness Alaoui * sys/androidmedia/gst-android-media-mediacodec.c: * sys/androidmedia/gst-android-media-mediacodec.h: * sys/androidmedia/gst-android-media-mediacodecinfo.c: androidmedia: Add extern gint declarations 2013-01-07 18:18:18 -0500 Youness Alaoui * gst-libs/gst/dvm/gstdvm.h: gstdvm: Fix GST_DVM_GET_STATIC_FIELD 2012-11-29 20:10:19 -0500 Youness Alaoui * sys/androidcamera/gst-android-hardware-camera.c: androidcamera: Small refactor in case open doesn't throw an exception but returns null 2012-12-13 17:57:58 +0000 Sebastian Dröge * sys/androidcamera/gst-android-hardware-camera.c: androidcamera: Fix some compiler warnings 2012-12-13 17:56:01 +0000 Sebastian Dröge * gst-libs/gst/dvm/Makefile.am: * gst-libs/gst/dvm/gstdvm.c: * gst-libs/gst/dvm/gstdvm.h: * sys/androidcamera/Makefile.am: * sys/androidcamera/gst-android-graphics-imageformat.c: * sys/androidcamera/gst-android-graphics-surfacetexture.c: * sys/androidcamera/gst-android-hardware-camera.c: * sys/androidcamera/gst-androidcamera.c: * sys/androidcamera/gstahcsrc.c: * sys/androidmedia/gst-android-media-mediacodec.c: * sys/androidmedia/gst-android-media-mediacodecinfo.c: * sys/androidmedia/gst-android-media-mediacodeclist.c: * sys/androidmedia/gst-android-media-mediaformat.c: dvm: Rename gst-dvm.[ch] to gstdvm.[ch] for consistency with other GStreamer code 2012-12-13 17:40:22 +0000 Sebastian Dröge * gst-libs/gst/dvm/gst-dvm.c: * gst-libs/gst/dvm/gst-dvm.h: dvm: Add new function to check if we started a VM or only used an existing one 2012-12-13 17:40:04 +0000 Sebastian Dröge * sys/androidmedia/gst-android-media-mediacodec.c: * sys/androidmedia/gst-android-media-mediacodec.h: androidmedia: Make everything compile with the new wrappers 2012-12-13 12:13:27 +0000 Sebastian Dröge * sys/androidmedia/gst-android-media-mediacodec.c: * sys/androidmedia/gst-android-media-mediacodec.h: * sys/androidmedia/gst-android-media-mediacodecinfo.c: * sys/androidmedia/gst-android-media-mediacodecinfo.h: * sys/androidmedia/gst-android-media-mediacodeclist.c: * sys/androidmedia/gst-android-media-mediacodeclist.h: * sys/androidmedia/gst-android-media-mediaformat.c: * sys/androidmedia/gst-android-media-mediaformat.h: androidmedia: Add remaining bits of the Java wrappers using libgstdvm 2012-12-13 12:13:12 +0000 Sebastian Dröge * gst-libs/gst/dvm/gst-dvm.h: dvm: Add some more helper macros 2012-12-12 18:10:13 +0000 Sebastian Dröge * sys/androidmedia/gst-android-media-mediacodec.c: * sys/androidmedia/gst-android-media-mediaformat.c: androidmedia: Remove g_return_if_fails() This is not public API so it has no advantage to have them here. 2012-11-28 20:53:51 -0500 Youness Alaoui * sys/androidmedia/gst-android-media-mediacodec.c: * sys/androidmedia/gst-android-media-mediacodec.h: * sys/androidmedia/gst-android-media-mediaformat.c: * sys/androidmedia/gst-android-media-mediaformat.h: androidmedia: Use gst-dvm and refactor java wrappers (WIP) Moved the java wrapper API into its own files and made use of the gst-dvm macros. Also renamed the API to have the proper naming convention and coding style in order to match the one in androidcamera. This is a work in progress! "android/media/MediaCodecList" is still missing and the actual elements have not been ported to use the new function names. 2012-11-28 15:26:49 -0500 Youness Alaoui * sys/androidcamera/gst-android-graphics-imageformat.h: * sys/androidcamera/gst-android-graphics-surfacetexture.h: * sys/androidcamera/gst-android-hardware-camera.h: androidcamera: Add G_BEGIN/END_DECLS to the .h 2012-11-27 19:25:06 -0500 Youness Alaoui * gst-libs/gst/dvm/Makefile.am: * gst-libs/gst/dvm/gst-dvm.c: * gst-libs/gst/dvm/gst-dvm.h: * pkgconfig/gstreamer-dvm-uninstalled.pc.in: * pkgconfig/gstreamer-dvm.pc.in: * sys/androidcamera/Makefile.am: * sys/androidcamera/gst-android-graphics-imageformat.c: * sys/androidcamera/gst-android-graphics-surfacetexture.c: * sys/androidcamera/gst-android-hardware-camera.c: * sys/androidcamera/gst-androidcamera.c: * sys/androidcamera/gstahcsrc.c: gst-dvm: Create a gst-dvm library using part of androidcamera 2012-11-27 17:24:35 -0500 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Adding a device-name property 2012-11-20 19:56:22 -0500 Youness Alaoui * docs/plugins/inspect/plugin-androidcamera.xml: * sys/androidcamera/gstahcsrc.c: * sys/androidcamera/gstahcsrc.h: androidcamera: Add element documentation 2012-11-19 18:25:12 -0500 Youness Alaoui * sys/androidcamera/Makefile.am: androidcamera: Prettify the gstahccallback.c generation line in the makefile 2012-11-15 12:33:26 -0500 Youness Alaoui * sys/androidcamera/gst-android-hardware-camera.c: androicamera: Make sure the TMP env var exists and check for DEX var too 2012-11-14 11:38:51 -0500 Youness Alaoui * sys/androidcamera/gst-android-hardware-camera.c: androidcamera: Do not use gst_list_free_full since it requires glib 2.28 2012-11-12 18:59:57 -0500 Youness Alaoui * sys/androidcamera/gstahcsrc.c: * sys/androidcamera/gstahcsrc.h: androidcamera: Add smooth-zoom property for smooth zooming feature 2012-11-12 18:19:20 -0500 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Add focal-length, view-angle and video-stabilization properties 2012-11-12 18:18:11 -0500 Youness Alaoui * sys/androidcamera/gst-android-hardware-camera.c: * sys/androidcamera/gst-android-hardware-camera.h: androidcamera: Add video stabilization API 2012-11-12 16:38:40 -0500 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Add property probe for the photography properties 2012-11-09 18:21:21 -0500 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Small refactor 2012-11-09 16:57:30 -0500 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Fix small memleak 2012-11-09 16:55:57 -0500 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Store GParamSpec for properties and use that for the PropertyProbe comparison 2012-11-09 12:23:37 -0500 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Handle zoom comparison better, and avoid float precision issue 2012-11-09 12:22:12 -0500 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Fix EV compensation support 2012-11-07 19:16:05 -0500 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Implement new GstPhotography enums 2012-11-07 15:38:19 -0500 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Do not advertise zoom capabilities if camera doesn't support zoom 2012-11-07 15:37:43 -0500 Youness Alaoui * sys/androidcamera/gst-android-hardware-camera.c: androidcamera: Be NULL-safe when a JNI list is returned 2012-11-02 18:07:24 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Use strcmp on the GParamSpec property name Use strcmp instead of using the property_id because it's overriden 2012-11-02 18:00:55 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidmedia: Implement property probe for zoom and ev_compensation 2012-11-02 17:00:45 -0400 Youness Alaoui * sys/androidcamera/com/gstreamer/GstAhcCallback.java: * sys/androidcamera/gst-android-hardware-camera.c: * sys/androidcamera/gst-android-hardware-camera.h: * sys/androidcamera/gstahcsrc.c: androidcamera: Add autofocus support 2012-11-02 16:59:42 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Override properties 2012-11-01 15:24:12 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: anroidcamera: Add support for the GstPhotography interface 2012-11-01 11:58:33 -0400 Youness Alaoui * sys/androidcamera/gst-android-hardware-camera.c: * sys/androidcamera/gst-android-hardware-camera.h: androidcamera: Add more wrappers for the Camera.Parameters class 2012-10-31 14:21:47 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Send proper error when unable to open camera 2012-10-30 12:13:12 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Adding device-orientation and device-facing properties 2012-10-30 11:35:36 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: * sys/androidcamera/gstahcsrc.h: androidcamera: Add device property and property probe it 2012-10-30 10:12:06 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Fix memleak and lose of buffer if the data queue is flushing 2012-10-30 09:49:39 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Calling set_preview_callback with NULL frees all the buffers in the queue. We must not do it at the stop otherwise we lose all our buffers. It's best to do it during the close, so we free up the resources. 2012-10-30 09:49:03 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Drop frames if we don't have a clock and var rename 2012-10-30 09:45:55 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androicamera: if buffer size increases, then readd new buffers to the queue and drop old ones The on_preview callback gets called with NULL if the buffer in the queue is too small, so we need to handle the case where the array is NULL. Also there is a bug in the android source which makes it drop one of the buffers so if we had 5 buffers, and we renegotiate to a higher resolution, then we'd only get 4 calls to on_preview_frame with NULL, with one being dropped. This means we can't reallocate the buffers in the if (data == NULL) case because we might end up with 0 buffers in the end. 2012-10-30 09:44:31 -0400 Youness Alaoui * sys/androidcamera/gst-android-hardware-camera.c: androidcamera: If callback is NULL then set it to NULL in jni 2016-01-21 13:46:52 -0500 Nicolas Dufresne * sys/androidcamera/gstahcsrc.c: androidcamera: Fix debug output 2012-10-26 12:57:50 +0200 Sebastian Dröge * sys/androidcamera/gstahcsrc.c: androidcamera: Chose the smallest range that contains the target framerate 2012-10-26 12:43:09 +0200 Sebastian Dröge * sys/androidcamera/gstahcsrc.c: androidcamera: Improve negotiation And make sure we set an FPS range from the supported ones now instead of a potentially unsupported range. 2012-10-26 12:19:55 +0200 Sebastian Dröge * sys/androidcamera/gstahcsrc.c: androidcamera: Implement LATENCY query 2012-10-26 11:57:47 +0200 Sebastian Dröge * sys/androidcamera/gstahcsrc.c: androidcamera: Make sure we always have a valid camera source instance in the buffer free function 2012-10-26 11:46:23 +0200 Sebastian Dröge * sys/androidcamera/gst-android-hardware-camera.c: * sys/androidcamera/gstahcsrc.c: androidcamera: Make sure to not call any callbacks after stopping the camera Fixes segfaults when rotating the device for example. 2012-10-24 15:25:54 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidcamera: Fix timestamping issue 2012-10-24 13:59:59 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: * sys/androidcamera/gstahcsrc.h: androidcamera: Add caps negotiation support 2012-10-24 10:55:52 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: Add support for getcaps that probes the camera for capabilities 2012-10-23 13:54:46 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidmedia: Drop the first buffer to have proper timestamping 2012-10-23 11:14:00 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidmedia: Flush the queue when the source is stopped 2012-10-23 11:13:37 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidmedia: Allocate/free texture when camera is open/closed 2012-10-23 11:13:12 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidmedia: add a gst_ahc_src_close function 2012-10-23 11:12:19 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: androidmedia: Fix small indentation issues 2012-10-23 10:12:52 -0400 Youness Alaoui * sys/androidcamera/Makefile.am: androidmedia: Disable plugin if android-sdk isn't found and dynamically search for platform version 2012-10-23 09:01:50 -0400 Youness Alaoui * sys/androidcamera/Makefile.am: * sys/androidcamera/com/gstreamer/GstAhcCallback.java: * sys/androidcamera/gst-android-hardware-camera.c: * sys/androidcamera/gstahccallback.h: androidcamera: Add support for using DexLoader with Embeded GstAhcCallback.jar 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/gst-android-graphics-imageformat.c: * sys/androidcamera/gst-android-graphics-surfacetexture.c: * sys/androidcamera/gst-android-hardware-camera.c: androidcamera: Fix compilation issues 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/Makefile.am: * sys/androidcamera/gst-androidcamera.c: Remove previous cruft and create androidcamera plugin 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: Free the buffers and readd the arrays when the queue is cleared 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/gst-android-graphics-imageformat.c: * sys/androidcamera/gst-android-graphics-surfacetexture.c: * sys/androidcamera/gst-android-hardware-camera.c: * sys/androidcamera/gst-dvm.h: Add a GST_DVM_CALL macro to ease function calling with exception check 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: * sys/androidcamera/gstahcsrc.h: Calculate timestamp at reception of the buffer, not when pushing it out 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: Make the number of callback buffers configurable, and delete their local ref 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: * sys/androidcamera/gstahcsrc.h: Use GstDataQueue instead of GAsyncQueue for storing buffers 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: Use the buffer's free_func to map byteArray data without making a copy 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: Remove open failure test code and debug log 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/gstahcsrc.c: Use YV12 as the default format 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/gst-android-graphics-imageformat.c: * sys/androidcamera/gst-android-graphics-imageformat.h: * sys/androidcamera/gst-android-graphics-surfacetexture.c: * sys/androidcamera/gst-android-graphics-surfacetexture.h: * sys/androidcamera/gst-android-hardware-camera.c: * sys/androidcamera/gst-android-hardware-camera.h: * sys/androidcamera/gst-androidmedia.c: Add a deinit function and remove jclass references in case of error 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/gst-android-graphics-surfacetexture.c: SurfaceTexture constructure needs texture_id 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/Makefile.am: * sys/androidcamera/gst-androidmedia.c: * sys/androidcamera/gstahcsrc.c: * sys/androidcamera/gstahcsrc.h: Add ahcsrc Camera source element prototype 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/Makefile.am: * sys/androidcamera/gst-android-graphics-imageformat.c: * sys/androidcamera/gst-android-graphics-imageformat.h: * sys/androidcamera/gst-android-graphics-surfacetexture.c: * sys/androidcamera/gst-android-graphics-surfacetexture.h: * sys/androidcamera/gst-android-hardware-camera.c: * sys/androidcamera/gst-android-hardware-camera.h: Add android.hardware.Camera (and deps) JNI wrappers 2012-10-17 19:42:59 -0400 Youness Alaoui * sys/androidcamera/Makefile.am: * sys/androidcamera/gst-dvm.c: * sys/androidcamera/gst-dvm.h: Adding Dalvik Virtual Machine routines and macros 2012-10-17 17:56:33 -0400 Youness Alaoui * sys/androidcamera/Makefile.am: * sys/androidcamera/gst-androidmedia.c: androidmedia: Add androidmedia plugin 2016-01-15 14:31:54 +0100 Sebastian Dröge * ext/spandsp/Makefile.am: * ext/spandsp/gstspandsp.c: * ext/spandsp/gsttonegeneratesrc.c: * ext/spandsp/gsttonegeneratesrc.h: spandsp: Add tone generator 2015-07-14 13:40:46 +0900 Hyunjun Ko * gst/mpegtsmux/tsmux/tsmuxstream.c: mpegtsmux: set non-0 payload length in PES header if video ES packet is small enough https://bugzilla.gnome.org/show_bug.cgi?id=748507 2015-07-14 13:42:54 +0900 Hyunjun Ko * gst/mpegtsmux/tsmux/tsmuxstream.c: mpegtsmux: reset pes_bytes_written when starting to write new PES packet In case of an unbounded packet (video usually), pes_bytes_written was no reset. https://bugzilla.gnome.org/show_bug.cgi?id=748507 2016-01-19 17:08:50 +0000 Tim-Philipp Müller * gst/mpegtsmux/mpegtsmux.c: * gst/mpegtsmux/tsmux/tsmuxstream.c: * gst/mpegtsmux/tsmux/tsmuxstream.h: mpegtsmux: add support for H.265/HEVC video https://bugzilla.gnome.org/show_bug.cgi?id=744367 2016-01-19 13:20:23 +0000 Tim-Philipp Müller * ext/gl/Makefile.am: * ext/gl/effects/gstgleffectscurves.c: * ext/gl/effects/gstgleffectscurves.h: gl: fix compiler warnings with gcc-6 In file included from effects/gstgleffectrgbtocurve.c:25:0: effects/gstgleffectscurves.h:174:32: error: 'xray_curve' defined but not used static const GstGLEffectsCurve xray_curve = { ... 2016-01-19 08:39:58 +0000 Tim-Philipp Müller * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/insertbin/Makefile.am: * gst-libs/gst/mpegts/Makefile.am: * gst-libs/gst/player/Makefile.am: libs: g-i: fix init section to avoid compiler warnings ..GstPlayer-1.0.c: In function ‘main’: ..GstPlayer-1.0.c:587:3: warning: implicit declaration of function ‘gst_init’ https://bugzilla.gnome.org/show_bug.cgi?id=760090 2016-01-19 19:18:43 +1100 Alessandro Decina * sys/applemedia/vtenc.c: applemedia: vtenc: fix build on iOS 2016-01-19 15:50:22 +1100 Alessandro Decina * sys/applemedia/avfassetsrc.m: * sys/applemedia/avfvideosrc.m: * sys/applemedia/coremediabuffer.c: * sys/applemedia/coremediabuffer.h: * sys/applemedia/corevideobuffer.c: * sys/applemedia/corevideobuffer.h: * sys/applemedia/qtkitvideosrc.m: * sys/applemedia/videotexturecache.m: * sys/applemedia/vtdec.c: * sys/applemedia/vtenc.c: applemedia: always fill GstBuffers with GstMemory Always fill buffers with our custom memory. The custom memory will avoid mapping CV/CM buffers unless necessary. 2015-04-19 00:30:48 +0300 Ilya Konstantinov * sys/applemedia/coremediabuffer.c: * sys/applemedia/corevideobuffer.c: applemedia: implement copying of meta Before this, buffers would lose their Core Video / Core Media meta over intervideo* boundary. https://bugzilla.gnome.org/show_bug.cgi?id=747216 2015-04-02 20:04:18 +0300 Ilya Konstantinov * sys/applemedia/Makefile.am: * sys/applemedia/coremediabuffer.c: * sys/applemedia/corevideobuffer.c: * sys/applemedia/corevideobuffer.h: * sys/applemedia/corevideomemory.c: * sys/applemedia/corevideomemory.h: * sys/applemedia/plugin.m: applemedia: implement GstAppleCoreVideoMemory Implement a new memory type wrapping CVPixelBuffer. There are two immediate advantages: a) Make the GstMemory itself retain the CVPixelBuffer. Previously, the containing GstBuffer was solely responsible for the lifetime of the backing CVPixelBuffer. With this change, we remove the GST_MEMORY_FLAG_NO_SHARE so that GstMemory objects be referenced by multiple GstBuffers (doing away with the need to copy.) b) Delay locking CVPixelBuffer into CPU memory until it's actually mapped -- possibly never. The CVPixelBuffer object is shared among references, shares and (in planar formats) planes, so a wrapper GstAppleCoreVideoPixelBuffer structure was introduced to manage locking. https://bugzilla.gnome.org/show_bug.cgi?id=747216 2016-01-19 12:56:40 +1100 Alessandro Decina * sys/applemedia/iosurfacememory.c: applemedia: iosurfacememory: alloc with g_new0 ...since the base class doesn't use g_slice anymore 2016-01-08 11:04:13 +0000 Florin Apostol * ext/dash/gstdashdemux.c: dashdemux: added check that availabilityStartTime is present for live streams https://bugzilla.gnome.org/show_bug.cgi?id=757602 2015-11-04 18:15:24 +0000 Florin Apostol * ext/dash/gstmpdparser.c: adaptivedemux: improved error message if availabilityStartTime is missing for a live stream For a live mpd, if availabilityStartTime is missing, adaptive demux asserts with: Unexpected critical/warning: gst_date_time_to_g_date_time: assertion 'datetime != NULL' failed. This patch improves the error message to: Unexpected critical/warning: gst_mpd_client_seek_to_time: assertion 'client->mpd_node->availabilityStartTime != NULL' failed https://bugzilla.gnome.org/show_bug.cgi?id=757602 2016-01-14 18:27:50 +0000 Florin Apostol * tests/check/elements/test_http_src.c: tests: adaptive-stremaing: fix memory leak in test_http_src https://bugzilla.gnome.org/show_bug.cgi?id=760600 2016-01-15 10:49:12 -0500 Matt Crane * sys/shm/gstshmsink.c: shmsink: fix possible deadlock in _render()/ _allocator_free() Drop object lock before unrefing memory, otherwise the object lock might be taken again from the allocator and then things deadlock. https://bugzilla.gnome.org/show_bug.cgi?id=760551 2016-01-16 17:14:54 +0200 Sebastian Dröge * gst-libs/gst/gl/gstglfilter.c: glfilter: First make caps writable in fixate_caps(), then truncate them Truncating requires writable caps. 2016-01-16 17:12:29 +0200 Sebastian Dröge * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: Caps passed to fixate_caps() are not owned by us and guaranteed to be fixed So don't try to fixate them, which takes ownership and steals them from basetransform. https://bugzilla.gnome.org/show_bug.cgi?id=760696 2016-01-16 16:55:42 +0200 Sebastian Dröge * gst-libs/gst/gl/gstglbufferpool.c: Revert "glpool: fix caps refcount issue" This reverts commit 3bdcdedfa00b87f1db505218789178318a16c743. gst_caps_replace() takes a new reference already, if there is a problem then it is elsewhere. And there are a few problems, see https://bugzilla.gnome.org/show_bug.cgi?id=760696 2016-01-15 16:10:02 +0000 Luis de Bethencourt * gst/rtp/gstrtph265depay.c: rtph265depay: fix unneeded sub-buffer creation We create a sub-buffer just to copy over its metas and then throw it away immediately, just use the original input buffer directly. 2016-01-15 15:56:59 +0000 Luis de Bethencourt * gst/rtp/gstrtph265pay.c: rtph265pay: add "send VPS/SPS/PPS with every key frame" mode It's not enough to have timeout or event based VPS/SPS/PPS information sent in RTP packets. There are some scenarios when key frames may appear more frequently than once a second, in which case the minimum timeout for "config-interval" of 1 second for sending VPS/SPS/PPS isn't enough. It might also be desirable in general to make sure the VPS/SPS/PPS is available with every keyframe (packet loss aside), so receivers can actually pick up decoding immediately from the first keyframe if VPS/SPS/PPS is not signaled out of band. This commit adds the possibility to send VPS/SPS/PPS with every key frame. This mode can be enabled by setting "config-interval" property to -1. In this case the payloader will add VPS, SPS and PPS before every key (IDR) frame. https://bugzilla.gnome.org/show_bug.cgi?id=757892 2016-01-15 15:19:41 +0000 Luis de Bethencourt * gst/rtp/gstrtph265pay.c: * gst/rtp/gstrtph265pay.h: rtph265pay: change config-interval property type from uint to int This way we can use -1 as special value, which is nicer than MAXUINT. https://bugzilla.gnome.org/show_bug.cgi?id=757892 2016-01-13 09:51:20 -0300 Thiago Santos * ext/dash/gstdashdemux.c: * ext/hls/gsthlsdemux.c: * ext/smoothstreaming/gstmssdemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/adaptive_demux_engine.c: * tests/check/elements/adaptive_demux_engine.h: adaptivedemux: replace ghostpad with a standard pad Handling the ghostpad and its internal pad was causing more issues than helping because of their coupled activation/deactivation actions. As we have to install custom chain,event and query functions it is better to use a floating sink pad internally in the demuxer and just use those pad functions to push through a standard pad in the demuxer https://bugzilla.gnome.org/show_bug.cgi?id=757951 2015-11-11 17:24:33 +0000 Florin Apostol * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: do not flush the input pad gst_adaptive_demux_stream_clear_eos_and_flush_state() function will do all the necessary cleaning. https://bugzilla.gnome.org/show_bug.cgi?id=757951 2016-01-15 11:44:52 +0000 Luis de Bethencourt * gst/segmentclip/gstvideosegmentclip.c: videosegmentclip: fail to set_caps if problem in caps structure gst_video_segment_clip_set_caps () should return FALSE if there was a problem reading the framerate values from the caps structure. 2016-01-15 17:00:55 +1100 Matthew Waters * gst-libs/gst/gl/gstglquery.c: glquery: provide compat definition for GL_QUERY_RESULT e.g. android doesn't have it While we're here move a state specific assertion after the supported check. Removes an assertion on GLES 2016-01-15 16:07:27 +1100 Matthew Waters * configure.ac: * gst-libs/gst/gl/glprototypes/gstgl_compat.h: gl: add compatibility definition of GLint64 e.g. anrdoid doesn't have it 2016-01-08 22:19:06 +0300 Sergey Borovkov * ext/qt/qtitem.cc: qml: Mark material dirty when texture buffer is updated Qt might not redraw the scene otherwise. https://bugzilla.gnome.org/show_bug.cgi?id=758286 2016-01-15 14:00:56 +1100 Matthew Waters * gst-libs/gst/gl/gstglbufferpool.c: glpool: fix caps refcount issue The caps are from an allocation query which are transfer none but were being treated as transfer full. 2016-01-11 13:30:05 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasememory.c: * gst-libs/gst/gl/gstglbasememory.h: * gst-libs/gst/gl/gstglmemory.c: glmemory: log the time for glTexSubImage/glReadPixels 2016-01-08 18:36:54 +1100 Matthew Waters * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/glprototypes/Makefile.am: * gst-libs/gst/gl/glprototypes/all_functions.h: * gst-libs/gst/gl/glprototypes/query.h: * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstglquery.c: * gst-libs/gst/gl/gstglquery.h: * tests/check/Makefile.am: * tests/check/libs/.gitignore: * tests/check/libs/gstglquery.c: gl: add a gstglquery object for arbitrary GL queries Currently only GL_TIME_ELAPSED and GL_TIMESTAMP are supported 2016-01-11 17:22:26 +1100 Matthew Waters * gst-libs/gst/gl/gstgldebug.c: * gst-libs/gst/gl/gstgldebug.h: gldebug: implement a delayed debug system The messages are stored by gst_gl_async_debug_store_log_msg() and output later by a corresponding store(), output() or an unset()/free(). Some wrapper macros are provided to avoid callers explicitly using __FILE__, GST_FUNCTION and __LINE__ 2016-01-11 17:26:08 +1100 Matthew Waters * gst-libs/gst/gl/gstgldebug.c: gldebug: use gst_info_vasprintf in insert_debug_marker() Allows expansion of GST_PTR_FORMAT and GST_SEGMENT_FORMAT arguments. 2016-01-15 11:22:40 +1100 Matthew Waters * ext/gl/Makefile.am: * ext/gl/gstglvideoflip.c: * ext/gl/gstglvideoflip.h: * ext/gl/gstopengl.c: gl: add a videoflip element Behaves exactly the same as the non-GL videoflip element 2016-01-15 00:04:20 +1100 Matthew Waters * gst-libs/gst/gl/gstglfilter.c: glfilter: recreate the fbo on caps changes The width/height may change which requires recreating the depth buffer. 2016-01-15 00:02:43 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasefilter.c: * gst-libs/gst/gl/gstglbasefilter.h: glbasefilter: add a class function on set_caps (from GL) This is simply a convenience to avoid duplicating the thread marshalling on set_caps. 2016-01-15 00:00:29 +1100 Matthew Waters * ext/gl/gstgltransformation.c: gltransformation: always build a valid mvp matrix The default case is to build an identity matrix. 2016-01-14 19:03:04 +1100 Matthew Waters * ext/gl/gstgltransformation.c: gltransformation: support negative scales A scale of -1.0 means to flip the video. 2016-01-14 18:42:05 +1100 Matthew Waters * ext/gl/gstgltransformation.c: gltransformation: implement passthrough handling 2016-01-14 17:45:03 +1100 Matthew Waters * ext/gl/gstgltransformation.c: * ext/gl/gstgltransformation.h: gltransformation: implement navigation events Reverses the transformation applied through the properties and forwards the event. The process for finding the coordinates on the video are as follows: 1. Convert the given pointer_x and pointer_y to model space at the near and far planes 2. Get the equation of the video plane 3. Find where the ray in 1 intersects the plane 4. Profit! 2016-01-14 16:59:12 +1100 Matthew Waters * ext/gl/gstglimagesink.c: glimagesink: remove reduntant glimagesink from debug logging 2016-01-14 16:57:40 +1100 Matthew Waters * gst-libs/gst/gl/x11/gstglwindow_x11.c: gl/x11/navigation: add button press to the selected event mask Otherwise we won't get the button press events and GstNavigation fails. 2016-01-14 16:00:00 +1100 Alessandro Decina * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: try harder to passthrough This makes a pipeline like: ... ! video/x-raw(memory:GLMemory),format=UYVY ! glcolorconvert ! video/x-raw(memory:GLMemory),format={UYVY, NV12} ! ... passthrough instead of converting UYVY => NV12. The conversion would happen before this change since the element (and basetransform) transform the src caps to format={NV12, UYVY} (since NV12 comes first in the glcolorconvert:src template) and then the default caps fixate func would fixate to NV12. Blah. Also there's no need to intersect against the template caps in ::transform_caps since basetransform does that right after calling the vfunc. 2016-01-12 18:31:29 +1100 Matthew Waters * ext/gl/Makefile.am: * ext/gl/gstglcolorbalance.c: * ext/gl/gstglcolorbalance.h: * ext/gl/gstopengl.c: gl: implement a colorbalance element It performs the exact same operation as videobalance but with opengl shaders and was tested with glvideomixer by comparing frames from videobalance and glcolorbalance. 2016-01-12 18:21:50 +1100 Matthew Waters * ext/gl/gstglvideomixer.c: * ext/gl/gstglvideomixer.h: glvideomixer: implement glBlendFunc and glBlendEquation Allows more blending options than just A over B e.g. frame comparisons are now possible. glvideomixer name=m sink_0::zorder=0 sink_1::zorder=1 sink_1::blend-equation-rgb={subtract,reverse-subtract} sink_1::blend-function-src-rgb=src-color sink_1::blend-function-dst-rgb=dst-color ! glimagesinkelement videotestsrc pattern=checkers-4 ! m.sink_0 videotestsrc pattern=checkers-8 ! m.sink_1 2016-01-08 18:38:46 +1100 Matthew Waters * gst-libs/gst/gl/gstgldebug.c: gldebug: add a specific category for the debug spam from the driver 2016-01-12 14:54:23 +0000 Tim Sheridan * ext/sbc/gstsbcdec.c: sbc: sbcdec: Fix frame length calculation SBC frame length calculation wasn't being rounded up to the nearest byte (as specified in the A2DP 1.0 specification, section 12.9). This could cause 'stereo' and 'joint stereo' mode SBC streams to have incorrectly calculated frame lengths. https://bugzilla.gnome.org/show_bug.cgi?id=742446 2016-01-12 23:34:31 +1100 Matthew Waters * sys/nvenc/gstnvbaseenc.c: nvenc: update for recent GL api changes Specifically the GstGLMemoryPBO addition (which was the unadorned GstGLMemory). 2016-01-12 14:36:02 +1100 Alessandro Decina * sys/applemedia/avfvideosrc.m: applemedia: avfvideosrc: optionally get the GL context from gst_element_set_context Allow setting the GL context with gst_element_set_context. When available, the local context obtained via the context query still has the precedence. 2016-01-12 14:02:46 +1100 Alessandro Decina * sys/applemedia/iosurfacememory.c: applemedia: iosurfacememory: remove NO_SHARE flag The full memory can be safely shared. Sharing a sub region can't be done and will fail in the base allocator, triggering a copy. 2016-01-11 13:33:46 -0300 Thiago Santos * gst/frei0r/gstfrei0rmixer.c: frei0rmixer: replace accept-caps with caps query It wants to check if upstream can produce a certain format, accept-caps might only check if the next element can produce it. 2016-01-07 20:56:54 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasememory.c: * gst-libs/gst/gl/gstglmemorypbo.c: glbasememory: Free the actual memory object when requested Otherwise we are leaking ~400B on each GstMemory allocation. Freeing in the base class matches the GObject semantics. 2016-01-07 20:54:41 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemorypbo.c: glmemorypbo: don't double read pixels The optimistic download_transfer was not setting the required flag to not perform glReadPixels on subsequent map (READ). resulting in glReadPixels happening twice. 2016-01-07 18:47:37 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstglmemorypbo.c: glmemory: expose gst_gl_memory_texsubimage Removes extremely similar code from glmemorypbo. 2016-01-07 18:05:23 +1100 Matthew Waters * gst-libs/gst/gl/gstglfeature.c: glfeature add a specific debug category Saves having to trawl through the 'default' category when function retrieval goes wrong. 2016-01-05 14:35:11 -0500 Bob Holcomb * gst/mpegtsmux/tsmux/tsmux.c: mpegtsmux: fix reserve bits so they are 1's The MPEG standard (ISO-13880-1) says the reserve bits need to be set to one (2.1.64). This is causing transport streams to fail validation on some systems. https://bugzilla.gnome.org/show_bug.cgi?id=760127 2016-01-08 17:11:09 +0000 Luis de Bethencourt * ext/opencv/gstpyramidsegment.h: opencv: remove check for OpenCV version After commit 64080e632, configure checks for all the header files that should be available in OpenCV 2.3 and later. If any of these files isn't there the OpenCV elements won't be part of the build. No need to recheck for opencv2/legacy/legacy.hpp again in gstpyramidsegment.h. Minimum supported OpenCV version must have this header and configure already checks for it. Removing check. 2016-01-08 15:01:47 +0000 Luis de Bethencourt * ext/opencv/gstcvsmooth.cpp: opencv: always do cvsmooth in place After the update to new OpenCV API the transform function using an out buffer is not necessary. We can always do the transformation in place. 2016-01-08 12:39:29 +0000 Luis de Bethencourt * ext/opencv/gstpyramidsegment.cpp: * ext/opencv/gstpyramidsegment.h: opencv: do pyramidsegment's transformation in place Run the transform function of pyramidsegment in place, reusing the image data as both source and destination in cvPyrSegmentation. This avoids copying the image back and forth and the extra memory. 2016-01-07 15:21:40 -0300 Thiago Santos * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/hls_demux.c: tests: hlsdemux: add test for updating segment stop Add a test for seeking that only updates stop position and verifies that start is unmodified 2016-01-07 15:21:22 -0300 Thiago Santos * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: fix seeking that just updates stop position Fixed adaptivedemux seeking without flushing that just wants to update stop position. This required protecting the segment variables with a new mutex so that the seeking thread and the download threads could safely manipulate the segment and events related to it. This contention is only locked/unlocked when starting a new download, when the first fragment of a segment is received and when seeking so, hopefully, it won't damage performance. 2016-01-06 16:51:08 -0300 Thiago Santos * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: fix segment update on seeks Fixes typo on reverse rate check and also only update the position when the start/stop was actually changed. 2016-01-07 18:10:49 +0200 Sebastian Dröge * gst/mxf/mxftypes.c: mxftypes: Don't store pointers in stack allocated guints This works usually in this place, unless the compiler optimizes things in interesting ways in which case it causes stack corruption and crashes later. The compiler in question here is clang with -O1, which seems to pack the stack a bit more and causes writing to the guint as pointer to overwrite map.memory, which then later crashes during unmapping of the memory. 2016-01-07 18:02:33 +0200 Sebastian Dröge * gst/mxf/mxfmetadata.c: mxfmetadata: Initialize boolean to FALSE to fix valgrind warning Seems to be a false warning though. 2016-01-07 14:08:39 +1100 Matthew Waters * gst-libs/gst/gl/gstglsyncmeta.c: glsyncmeta: only flush with a shared context The wait code will flush for us for single context pipelines. 2016-01-07 14:02:52 +1100 Matthew Waters * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstglcontext.h: * tests/check/libs/gstglcontext.c: glcontext: implement checking whether a context has been shared Some operations are unnecessary when running with only a single GL context. e.g. glFlush when setting a fence object as the flush happens on wait. API: gst_gl_context_is_shared 2016-01-06 14:54:30 +0000 Tim-Philipp Müller * ext/hls/gsthlsdemux.c: hlsdemux: put boolean values into gboolean variables And remove superfluous assignments. 2016-01-06 16:54:49 +0200 Sebastian Dröge * gst-libs/gst/player/gstplayer.c: player: Only set the pipeline to PLAYING in play() if buffering>=100% Otherwise the application can break the buffering logic by setting the pipeline to PLAYING before we buffered enough. 2016-01-05 17:41:23 -0300 Thiago Santos * tests/check/elements/dash_demux.c: tests: dashdemux: add tests for post-seek segment boundaries check Checks if the post seek segment is what is expected. Also makes it easy to add more tests with different seeking flags using the same functions. 2016-01-05 10:41:27 -0300 Thiago Santos * tests/check/elements/hls_demux.c: tests: hlsdemux: add tests for seek with reverse rate and snap flags Add tests to ensure snap flags work as expected for reverse rates 2016-01-05 10:39:11 -0300 Thiago Santos * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: stop reverse playback when we reach the limit Avoids downloading and pushing a full segment just to get 1 nanosecond of data. This happens frequently when seeking is done with flags that adjust to boundaries or when the start is aligned with segment starts. The later is common when segment durations is a multiple of a second. 2016-01-05 09:16:45 -0300 Thiago Santos * ext/hls/gsthlsdemux.c: hlsdemux: fix reverse playback seek with snap flags Properly handle snap flags during reverse seeking. In this case the before/after are also reversed, so handle those as such. For example: with a sequence of 1s fragments: |-- 0 --|-- 1 --|-- 2 --|-- 3 --| If you seek to 1.5s it is inside fragment 1. With reverse and snap-before: should play from the end of fragment 1 snap-after: should play from the end of fragment 0 2016-01-05 09:01:10 -0300 Thiago Santos * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: correctly track segment.position in reverse playback For reverse, set position to segment.stop when starting and also don't set the position to fragment end timestamp when it finishes, just leave it at the fragment start. 2016-01-05 08:59:26 -0300 Thiago Santos * ext/hls/gsthlsdemux.c: hlsdemux: simplify snap flags checking Replace: if (boolean) var = true; with: var = (boolean); 2015-12-28 02:18:06 -0300 Thiago Santos * ext/hls/gsthlsdemux.c: hlsdemux: respect keyunit flag for position Set the segment start position when keyunit flag is active 2015-12-24 18:49:39 -0300 Thiago Santos * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/hls_demux.c: tests: hls_demux: add tests for seeking segment Tests that check that the segment sent after a seek is correct. Allows testing that multiple seeking flags work as expected 2015-12-24 09:27:33 -0300 Thiago Santos * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/adaptive_demux_common.h: * tests/check/elements/adaptive_demux_engine.c: * tests/check/elements/adaptive_demux_engine.h: tests: adaptive_demux: add function to be able to check demuxer events Allows writing tests that verify that events are correct. Useful to monitor and check segments after seeks, for example. 2015-12-23 15:25:29 -0300 Thiago Santos * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/adaptive_demux_common.h: * tests/check/elements/dash_demux.c: * tests/check/elements/hls_demux.c: tests: adaptive: update to allow more flexible seeking tests Allows defining a seek event to be able to change seeking parameters and create more seeking test scenarios 2015-12-23 15:23:27 -0300 Thiago Santos * tests/check/Makefile.am: tests: hlsdemux: fix makefile variable typo 2016-01-06 16:50:00 +1100 Alessandro Decina * sys/applemedia/avfvideosrc.m: applemedia: avfvideosrc: enable renegotiation We can actually renegotiate now, so remove old check which disabled it. 2016-01-06 16:25:38 +1100 Matthew Waters * ext/gl/gstglcolorconvertelement.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglcolorconvert.h: glcolorconvert: implement usage of a buffer pool Saves unnecessary glGenTextures and glDeleteTextures which may have a non-trivial cost. 2016-01-06 15:50:07 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasememory.c: glbasememory: fix copying GstGLAllocationParams Fixes a GST_IS_GL_CONTEXT critical 2016-01-06 15:44:52 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemorypbo.c: glmemorypbo: remove unused code https://bugzilla.gnome.org/show_bug.cgi?id=759679 2016-01-06 13:20:17 +1100 Alessandro Decina * sys/applemedia/avfvideosrc.m: applemedia: avfvideosrc: small negotiation fix Fix negotiation when GLMemory is requested but a context is not available 2016-01-06 11:40:38 +1100 Alessandro Decina * sys/applemedia/vtenc.c: applemedia: vtenc: accept UYVY on Mac When doing GLMemory avfvideosrc negotiates UYVY. This change allows avfvideosrc ! tee name=t ! ... ! glimagesink t. ! ... ! gldownload ! vtenc_h264 ! ... to do GLMemory and 0-copy with the encoder (with the CV meta). 2016-01-06 11:29:15 +1100 Alessandro Decina * sys/applemedia/avfvideosrc.m: applemedia: avfvideosrc: change texture format from BGRA to NV12 on iOS Change texture format from BGRA to NV12. This allows a pipeline like avfvideosrc ! tee name=t ! ... ! glimagesink t. ! ... ! gldownload ! vtenc_h264 ! ... to negotiate GLMemory. This makes the glimagesink branch much faster (obviously) and triggers the 0-copy path between avfvideosrc and vtenc (using the CV meta). Combined this results in a huge perf improvement on iOS (25-30% of CPU time in a pipeline like the one above). Note that this doesn't introduce a new shader conversion in the sink, since BGRA textures had to be copied/converted from format=BGRA,texture-target=RECTANGLE to format=RGBA,texture-target=2D anyway. 2016-01-04 20:26:09 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: glupload: always add texture-target field to GL caps 1. Various elements/base classes only perform a subset check on accept-caps 2. Some GL elements have texture-target in their pad template 3. When checking subsets, only the caps to check are allowed to contain extra fields. If the 'template' caps have extra fields, the subset fails. Thus without texture-target on the caps, various accept-caps implementations were failing. Also, add some convenience functions for setting and retrieving texture targets to/from GValue. https://bugzilla.gnome.org/show_bug.cgi?id=759860 2015-12-29 18:16:04 +1100 Matthew Waters * gst-libs/gst/gl/gstglupload.c: glupload: passthrough composition caps features Don't unconditionally add it to any and all caps transformations. https://bugzilla.gnome.org/show_bug.cgi?id=759860 2016-01-04 09:52:47 +0200 Sebastian Dröge * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/player/gstplayer.c: * gst-libs/gst/player/gstplayer.h: * tests/check/libs/player.c: * win32/common/libgstplayer.def: player: Remove gst_player_new() and make gst_player_new_full() the normal constructor In very few cases the simple version was actually needed and having the parameters hidden by a _full() version caused application that actually needed it to not use it. 2016-01-04 01:03:08 +1100 Jan Schmidt * gst-libs/gst/gl/gstglviewconvert.c: * gst-libs/gst/gl/gstglviewconvert.h: glviewconvert: Fix stereoscopic handling w/ texture-target The addition of texture-target negotiation broke stereoscopic handling when not in passthrough mode, so fix that. 2015-10-07 18:53:43 +0900 Hyunjun Ko * gst/sdp/gstsdpdemux.c: sdpdemux: replace duplicated codes to call new base sdp apis https://bugzilla.gnome.org/show_bug.cgi?id=745880 2015-12-30 18:00:47 -0800 Reynaldo H. Verdejo Pinochet * ext/rtmp/README: rtmp: refer to both elements in the README 2015-12-29 14:35:14 -0800 Reynaldo H. Verdejo Pinochet * ext/rtmp/gstrtmpsrc.c: rtmpsrc: check for failed RTMP context alloc Avoids an unlikely crash. Arguably, if allocation fails we have no chance of recovering but nonetheless, RTMP_Alloc can fail and librtmp's RTMP_init() (called next) assumes a non-NULL pointer is passed without checking. Additionally, unify exit path on error. 2015-12-29 14:16:58 -0800 Reynaldo H. Verdejo Pinochet * ext/rtmp/gstrtmpsink.c: rtmpsink: check for failed RTMP context alloc Avoids an unlikely crash. Arguably, if allocation fails we have no chance of recovering but nonetheless, RTMP_Alloc can fail and librtmp's RTMP_init() (called next) assumes a non-NULL pointer is passed without checking. Additionally, unify exit path on error. 2015-12-29 11:58:31 -0800 Reynaldo H. Verdejo Pinochet * ext/rtmp/gstrtmp.c: rtmp: correct librtmp log-level mappings Additionally, move to a switch in _set_debug_level() to make easier to follow and compare with the mappings in _log_callback() 2015-12-30 13:16:40 +0000 Tim-Philipp Müller * gst-libs/gst/codecparsers/gstvp9parser.c: codecparsers: vp9: minor clean-up Remove setting of parser variable to NULL after free, that makes no sense (and coverity is no doubt going to complain about it). 2015-12-30 13:12:13 +0000 Tim-Philipp Müller * gst-libs/gst/codecparsers/gstvp9parser.c: * gst-libs/gst/codecparsers/gstvp9parser.h: codecparsers: vp9: fix macro namespacing and rename GstVp9InterpFilter 2015-12-30 13:08:30 +0000 Tim-Philipp Müller * gst-libs/gst/codecparsers/gstvp9parser.c: * gst-libs/gst/codecparsers/gstvp9parser.h: codecparsers: vp9: fix doc typos and sprinkle some Since markers 2015-12-30 11:03:04 +0000 Tim-Philipp Müller * gst-libs/gst/codecparsers/Makefile.am: * gst-libs/gst/codecparsers/vp9utils.AUTHORS: * gst-libs/gst/codecparsers/vp9utils.LICENSE: * gst-libs/gst/codecparsers/vp9utils.PATENTS: * gst-libs/gst/codecparsers/vp9utils.c: * gst-libs/gst/codecparsers/vp9utils.h: codecparsers: vp9: move license blurb into header and remove aux files This is just a bunch of lookup tables.. 2015-12-30 11:54:25 +0200 Sebastian Dröge * win32/common/libgstcodecparsers.def: win32: Update libgstcodecparsers.def with the new symbols 2015-12-30 11:54:14 +0200 Sebastian Dröge * gst-libs/gst/codecparsers/dboolhuff.h: codecparsers: Add another G_GNUC_INTERNAL 2015-12-30 11:40:59 +0200 Sebastian Dröge * gst-libs/gst/codecparsers/dboolhuff.h: * gst-libs/gst/codecparsers/nalutils.h: * gst-libs/gst/codecparsers/parserutils.h: * gst-libs/gst/codecparsers/vp8utils.h: * gst-libs/gst/codecparsers/vp9utils.h: codecparsers: Spread some G_GNUC_INTERNAL in various places 2015-12-30 11:38:14 +0200 Sebastian Dröge * gst-libs/gst/codecparsers/vp9utils.c: vp9parser: Fix indentation to make gst-indent happier 2015-12-30 11:36:45 +0200 Sebastian Dröge * gst-libs/gst/codecparsers/Makefile.am: * gst-libs/gst/codecparsers/gstvp9parser.c: * gst-libs/gst/codecparsers/vp9utils.c: * gst-libs/gst/codecparsers/vp9utils.h: vp9parser: Rename symbols to prevent symbol conflicts Also make clamp() a static function for the same reason and use CLAMP (as defined by GLib) in the GStreamer code. 2015-12-30 11:19:33 +0200 Sreerenj Balachandran * gst-libs/gst/codecparsers/Makefile.am: * gst-libs/gst/codecparsers/gstvp9parser.c: * gst-libs/gst/codecparsers/gstvp9parser.h: * gst-libs/gst/codecparsers/vp9utils.AUTHORS: * gst-libs/gst/codecparsers/vp9utils.LICENSE: * gst-libs/gst/codecparsers/vp9utils.PATENTS: * gst-libs/gst/codecparsers/vp9utils.c: * gst-libs/gst/codecparsers/vp9utils.h: codecparsers: Add VP9 codec parser https://bugzilla.gnome.org/show_bug.cgi?id=757597 2015-12-30 12:12:17 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemorypbo.c: glmemorypbo: fix wrapping data on GL 2.1 GL 2.1 only supports pbo upload. The wrapped data pointer was only being set on the pbo memory and on the glmemory so when a download was requested (in GL 2.1), glmemory was allocating a new data pointer and thus not returning the wrapped data. 2015-12-30 12:11:09 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemorypbo.c: glmemorypbo: only create a pbo memory if the context actually supports it e.g. GL <= 2.0 does not support pbo usage and GL 2.1 only supports pbo upload. 2015-12-30 12:09:29 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemorypbo.c: glmemory: small code reformat makes the alloc_params selections fit on a single line. 2015-12-30 12:06:17 +1100 Matthew Waters * tests/check/libs/gstglmemory.c: tests/glmemory: output data pointer values on failure Allows quicker inspection of what failed. 2015-12-29 17:04:57 +1100 Matthew Waters * ext/gl/gstgleffects.c: gleffects: fix shader compilation with legacy opengl All the gleffects shaders can be run against a gles2 or a legacy opengl glsl compiler but weren't being advertised as such. Fixes gleffects under desktop opengl < 3.2. 2015-12-29 18:01:30 +0200 Sebastian Dröge * gst-libs/gst/gl/gstglbasememory.c: glbasememory: Remove bogus NULL check CID 1346534 2015-12-29 10:57:36 +1100 Alessandro Decina * sys/applemedia/avfvideosrc.m: applemedia: avfvideosrc: output at highest fps/resolution by default Fixate to the highest possible resolution and fps. Otherwise by default we end up fixating at 2fps and the lowest supported resolution, which is hardly what someone who bought an overpriced smartphone wants. 2015-12-28 15:53:59 +0200 Sebastian Dröge * gst-libs/gst/gl/glprototypes/sync.h: gl: Add \0 terminators for the Apple sync extension Otherwise GL initialization might check for extensions forever and never finishes. 2015-12-28 14:41:59 +0200 Sebastian Dröge * gst-libs/gst/gl/gstglcontext.c: glcontext: Add some debug output when the GL thread is actually running 2015-12-22 11:23:19 +0000 Florin Apostol * ext/dash/gstdashdemux.c: dashdemux: removed unnecessary space trimming in gst_dash_demux_parse_http_head sscanf has removed all spaces when it has constructed zone string. There is no need to search for leading spaces. https://bugzilla.gnome.org/show_bug.cgi?id=759743 2015-12-21 14:50:15 +0000 Florin Apostol * ext/dash/gstdashdemux.c: dashdemux: accept 2 or 4 digit year when using HTTP HEAD for calculating clock compensation Convert year from 2 digits to 4 digits in gst_dash_demux_parse_http_head https://bugzilla.gnome.org/show_bug.cgi?id=759743 Also updated references to Rfc822 to Rfc5322 2015-12-27 11:37:09 +0100 Florent Thiéry * ext/gl/gstglfiltershader.c: glshader: fix usage doc The property location has been changed in favor of vertex/fragment string properties; the doc had not been updated and was still referring to the previous property; also, now the #version header has become mandatory https://bugzilla.gnome.org/show_bug.cgi?id=759902 2015-12-26 22:34:29 +0100 Florent Thiéry * ext/gl/gstglimagesink.c: glimagesink: Post unhandled navigation events on the bus Based off xvimagesink implementation https://bugzilla.gnome.org/show_bug.cgi?id=759869 2015-12-27 22:32:22 -0800 Reynaldo H. Verdejo Pinochet * ext/opencv/gstmotioncells.cpp: motioncells: fix splitting of RGB color string No need to attempt splitting the RGB string in 255 tokens if we only expect 3. Left max_tokens at 4 to preserve the current logic (which allows for extra stuff at the end) and added a warning on parsing failure instead of silently discarding the value. 2015-12-27 21:23:37 -0800 Reynaldo H. Verdejo Pinochet * ext/opencv/gstmotioncells.cpp: motioncells: fix typo in header 2015-12-27 21:19:19 -0800 Reynaldo H. Verdejo Pinochet * ext/opencv/gstmotioncells.cpp: motioncells: fix misleading warning message calculate_motion != FALSE means the motion computation logic is disabled, not a mapping error. 2015-12-27 21:11:18 -0800 Reynaldo H. Verdejo Pinochet * ext/opencv/gstmotioncells.cpp: motioncells: rework property descriptions 2015-12-27 01:11:42 -0800 Reynaldo H. Verdejo Pinochet * ext/opencv/gstmotioncells.cpp: motioncells: use NULL instead of g_strdup(NULL) 2015-12-28 09:04:12 +0900 Vineeth TM * gst-libs/gst/gl/gstglbufferpool.c: glbufferpool: Fix build error When GST_GL_HAVE_PLATFORM_EGL is not defined, then info variable will not be used and this results in build error https://bugzilla.gnome.org/show_bug.cgi?id=759913 2015-12-24 15:28:26 +0100 Sebastian Dröge * configure.ac: Back to development === release 1.7.1 === 2015-12-24 14:28:42 +0100 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-hls.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-mimic.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mpg123.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-neon.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-opencv.xml: * docs/plugins/inspect/plugin-opus.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * gst-plugins-bad.doap: * win32/common/config.h: Release 1.7.1 2015-12-24 14:00:54 +0100 Sebastian Dröge * 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/ky.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: Update .po files 2015-12-24 12:23:00 +0100 Sebastian Dröge * po/cs.po: * po/da.po: * po/de.po: * po/hu.po: * po/ky.po: * po/nb.po: * po/nl.po: * po/pl.po: * po/ru.po: * po/sr.po: * po/sv.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: po: Update translations 2015-12-23 23:13:21 +0000 Tim-Philipp Müller * tests/check/elements/curlftpsink.c: * tests/check/elements/curlhttpsink.c: * tests/check/elements/curlsmtpsink.c: * tests/check/elements/pcapparse.c: * tests/check/elements/rtponviftimestamp.c: tests: fix indentation 2015-12-23 23:10:50 +0000 Tim-Philipp Müller * tests/check/elements/pcapparse.c: tests: pcapparse: add check for 0-sized packets https://bugzilla.gnome.org/show_bug.cgi?id=756573 2015-12-23 20:24:46 +0000 Tim-Philipp Müller * gst/pcapparse/gstpcapparse.c: pcapparse: don't crash on 0-sized packets https://bugzilla.gnome.org/show_bug.cgi?id=756573 2015-12-23 13:06:45 +0100 Sebastian Dröge * common: Update common 2015-12-23 13:04:23 +0100 Sebastian Dröge * configure.ac: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-player-uninstalled.pc.in: * pkgconfig/gstreamer-player.pc.in: player: Add pkg-config files 2015-12-23 12:16:54 +0100 Sebastian Dröge * autogen.sh: autogen.sh: Enable player tests by default This will be automatically be updated together with the next common update again. 2015-12-23 09:55:26 +0100 Sebastian Dröge * configure.ac: * tests/check/Makefile.am: * tests/check/libs/player.c: player: Add unit test that is disabled by default The unit test is downloading a few small media files from the Internet, which are then used during the test. "make clean" removes the files again. 2015-12-22 14:44:28 +0100 Sebastian Dröge * docs/libs/Makefile.am: * docs/libs/gst-plugins-bad-libs-docs.sgml: * docs/libs/gst-plugins-bad-libs-sections.txt: * docs/libs/gst-plugins-bad-libs.types: player: Integrate into the documentation build system 2015-12-22 14:24:00 +0100 Sebastian Dröge * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/player/Makefile.am: * gst-libs/gst/player/gstplayer-g-main-context-signal-dispatcher.c: * gst-libs/gst/player/gstplayer-g-main-context-signal-dispatcher.h: * gst-libs/gst/player/gstplayer-media-info-private.h: * gst-libs/gst/player/gstplayer-media-info.c: * gst-libs/gst/player/gstplayer-media-info.h: * gst-libs/gst/player/gstplayer-signal-dispatcher-private.h: * gst-libs/gst/player/gstplayer-signal-dispatcher.c: * gst-libs/gst/player/gstplayer-signal-dispatcher.h: * gst-libs/gst/player/gstplayer-types.h: * gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c: * gst-libs/gst/player/gstplayer-video-overlay-video-renderer.h: * gst-libs/gst/player/gstplayer-video-renderer-private.h: * gst-libs/gst/player/gstplayer-video-renderer.c: * gst-libs/gst/player/gstplayer-video-renderer.h: * gst-libs/gst/player/gstplayer-visualization.c: * gst-libs/gst/player/gstplayer-visualization.h: * gst-libs/gst/player/gstplayer.c: * gst-libs/gst/player/gstplayer.h: * gst-libs/gst/player/player.h: * win32/common/libgstplayer.def: player: Import GstPlayer playback convenience API Based on https://github.com/sdroege/gst-player commit 9ce6ae0dbb8eeeefaf794cfae80e279a03cc598d 2015-12-23 09:50:13 +0100 Sebastian Dröge * gst-libs/gst/gl/gstglmemorypbo.c: glmemorypbo: Comment out unused functions to fix compilation with clang It's not clear if these are intentionally unused or the code should be changed, but this fixes compilation for the time being at least. See https://bugzilla.gnome.org/show_bug.cgi?id=759679 2015-11-10 16:25:53 +0000 Alex Ashley * tests/check/elements/hlsdemux_m3u8.c: hlsdemux: tests: check URL joining if media URL contains a '/' character If the query parameter (for example http://example.net/1054559_1500k.mp4/master.m3u8?acl=/*1054559_1500k.mp4), check that m3u8.c correctly converts the relative URLs of the media playlists in to absolute URLs. It must not use the last '/' it finds in the URL, as according to RFC3986 the '/' character is allowed in the query part of the URL. https://bugzilla.gnome.org/show_bug.cgi?id=758384 2015-11-10 16:23:59 +0000 Alex Ashley * ext/hls/m3u8.c: * tests/check/elements/hlsdemux_m3u8.c: hlsdemux: unquote all the quoted-string attributes The URI attribute from the EXT-X-KEY tag and the URI attribute from the EXT-X-I-FRAMES-ONLY tag are both quoted-string attibutes that have their quotation marks removed during parsing. The CODECS attribute of the EXT-X-STREAM-INF is also a quoted-string attribute, but this attribute was not being un-quoted. This commit changes the parser to always unquote all quoted-string attributes and adjusts the unit tests to this new bevahiour for the CODECS attribute. An additional test is added to check that parsing of all of the fields in the EXT-X-STREAM tag is correct, including those that contain comma characters. https://bugzilla.gnome.org/show_bug.cgi?id=758384 2015-11-10 16:41:02 +0000 Alex Ashley * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/hls_demux.c: hlsdemux: tests: add unit tests for hlsdemux Using the new GstAdaptiveDemux test framework, add tests that exercise hlsdemux. The following tests are added: simpleTest A simple playlist that contains some media URLs testMediaPlaylist A master playlist with a variant playlist that contains media URLs testMediaPlaylistNotFound A master playlist that points to a missing variant playlist testFragmentNotFound A master playlist with a variant playlist that contains media URLs There is a missing media file referenced from the variant playlist. testFragmentDownloadError A master playlist with a variant playlist that contains media URLs During the download of one media file, the test simulates the network connection being dropped. testSeek A simple test of trying to perform a seek on an HLS stream. 2015-11-10 13:13:35 +0000 Alex Ashley * tests/check/Makefile.am: * tests/check/elements/adaptive_demux_common.c: * tests/check/elements/adaptive_demux_common.h: * tests/check/elements/adaptive_demux_engine.c: * tests/check/elements/adaptive_demux_engine.h: * tests/check/elements/dash_demux.c: * tests/check/elements/fake_http_src.c: * tests/check/elements/fake_http_src.h: * tests/check/elements/test_http_src.c: * tests/check/elements/test_http_src.h: dashdemux: tests: Refactor into adaptive_engine components To allow code from dash_demux.c to be used by other elements that are based upon GstAdaptiveDemux, the code has been refactored into four new files: adaptive_demux_engine.[ch] adaptive_demux_common.[ch] The code in adaptive_demux_engine.c provides a generic test engine for elements based upon GstAdaptiveDemux. The code in adaptive_demux_common.c provides a set of utility functions that are common between the tests for hlsdemux and dashdemux. As part of the refactoring, variables in structures were renamed from using camelCase to underscore_case to match other GStreamer source code. The fake_http_src was renamed test_http_src and changed to use callbacks to provide input data and error conditions. Rather than using an array of input data that tries to encode all the possible use cases for the GstTestHTTPSrc element, use a struct of callbacks. Users of this element are obliged to implement at least the src_start callback, which provides a way to link from a URI to the settings for that URI. 2015-12-22 11:10:31 +0200 Matthew Marsh * sys/nvenc/gstnvbaseenc.c: nvenc: fix high CPU use on initialization of multiple encoders at the same time We need a static lock to protect various NVENC methods in _set_format(). Without this the CPU use increases dramatically on initialisation of the element when there are multiple elements being initialised at the same time. https://bugzilla.gnome.org/show_bug.cgi?id=759742 2015-12-22 10:15:39 -0300 Thiago Santos * ext/hls/gsthlsdemux.c: hlsdemux: make sure every bad update_playlist return sets an error Otherwise it segfaults when reporting the error in the bus 2015-12-21 13:57:04 +0100 Sebastian Dröge * ext/teletextdec/gstteletextdec.c: teletextdec: Use NULL instead of g_strdup('\0') Which is equivalent to g_strdup(NULL). https://bugzilla.gnome.org/show_bug.cgi?id=759728 2015-12-21 12:33:25 +0100 Sebastian Dröge * common: * configure.ac: configure: Use -Bsymbolic-functions if available While this is more useful for libraries, some of our plugins with multiple files and some internal API can also benefit from this. 2015-12-21 12:19:11 +0100 Sebastian Dröge * tests/check/libs/gstglcolorconvert.c: glcolorconvert: Fix name of testsuite 2015-12-21 12:13:15 +0100 Sebastian Dröge * gst-libs/gst/gl/gstglcontext.c: glcontext: Signal context creation from inside the context loop and use g_thread_join() instead of a custom condition variable Also protect against spurious condition variable wakeups during context creation. 2015-12-21 11:27:09 +0100 Sebastian Dröge * gst-libs/gst/gl/gstglwindow.c: * gst-libs/gst/gl/gstglwindow.h: * gst-libs/gst/gl/x11/gstglwindow_x11.c: glwindow: Hide navigation specific internal API and add API to asynchronously send navigation events Exposing the navigation thread's main context, GSourceFuncs and structs called key_event and mouse_event is exposing a bit too much of the internals. Let's just go with two functions to asynchronously send navigation events on the window with the same API as the synchronous ones. 2015-12-21 10:46:52 +0100 Sebastian Dröge * gst-libs/gst/gl/gstglwindow.c: * gst-libs/gst/gl/gstglwindow.h: glwindow: Use g_thread_join() instead of a custom condition variable for waiting for the navigation thread to finish Also hide some internal functions and fields while we're at it and fix a race condition with the startup condition variable. 2015-11-30 09:36:09 +0800 Haihua Hu * gst-libs/gst/gl/gstglwindow.c: glwindow: Fix memory leak of navigation thread When stopping the navigation thread, call g_thread_join() to release the resources hold by it. https://bugzilla.gnome.org/show_bug.cgi?id=758820 2015-12-19 21:25:49 +0000 Tim-Philipp Müller * ext/assrender/gstassrender.c: * gst/dvbsuboverlay/gstdvbsuboverlay.c: assrender, dvbsuboverlay: fix example pipelines in docs 2015-12-19 21:10:56 +0000 Tim-Philipp Müller * ext/hls/gsthlsdemux.c: hlsdemux: reflow update_playlist a bit Reduce indentation by erroring out directly on failure. 2015-12-19 20:59:12 +0000 Tim-Philipp Müller * ext/hls/gsthlsdemux.c: hlsdemux: fix potential error leak Clear error as soon as we determine that the download failed, otherwise there are code paths where we might return without clearing it ever, which would leak the GError then. Also, we can pass a NULL GError pointer to _fetch_uri(), so just do that instead of passing one that we're going to just free again right away anyway. 2015-12-19 12:05:59 +0000 Luis de Bethencourt * ext/opencv/gstpyramidsegment.cpp: opencv: remove unneeded sink_event function in pyramidsegment 2015-12-19 12:04:01 +0000 Luis de Bethencourt * ext/opencv/gsttextoverlay.cpp: opencv: remove unneeded sink_event function in textoverlay 2015-12-18 18:51:49 -0300 Thiago Santos * ext/opencv/gsttemplatematch.cpp: templatematch: remove useless function 2015-12-18 11:56:17 -0300 Thiago Santos * ext/hls/gsthlsdemux.c: hlsdemux: always set timestamp on reverse playback Downstream needs to be able to restore the timestamps after a discont to do reverse playback https://bugzilla.gnome.org/show_bug.cgi?id=759592 2015-12-18 15:36:40 -0500 Nicolas Dufresne * gst-libs/gst/gl/gstglcolorconvert.c: glconvert: Fix compilation of GRAY16_LE/BE shader 2015-11-13 17:24:30 +0100 Nicolas Dufresne * gst-libs/gst/gl/gstglupload.c: glupload: Add dmabuf upload method. This upload method detect and optimize uploads of DMABuf memory. This is done by creating and caching EGLImages wrapper around DMABuf. The EGLImages are then binded to a texture which get converter using standard shader. Example pipeline: GST_GL_PLATFORM=egl \ gst-launch-1.0 v4l2src device=/dev/video1 io-mode=4 ! \ video/x-raw,format=NV12 ! glimagesink https://bugzilla.gnome.org/show_bug.cgi?id=743345 2015-12-18 15:52:46 -0500 Nicolas Dufresne * gst-libs/gst/gl/egl/gsteglimagememory.c: eglimagememory: Also import BGR16, ABGR, xBGR, AYUV, GRAY16_LE/BE and Y444 https://bugzilla.gnome.org/show_bug.cgi?id=743345 2015-12-18 11:08:29 -0500 Nicolas Dufresne * gst-libs/gst/gl/egl/gsteglimagememory.c: eglimagememory: Add RGB/BGR DMABuf importation support https://bugzilla.gnome.org/show_bug.cgi?id=743345 2015-11-13 17:40:08 +0100 Lubosz Sarnecki * gst-libs/gst/gl/egl/gsteglimagememory.c: * gst-libs/gst/gl/egl/gsteglimagememory.h: eglimagememory: Methods to create GstGLMemory from dmabufs Maps GstVideoFormats to suitable DRM fourccs which work with glcolorconvert, using gst_gl_memory_alloc(). We require mostly only 4 formats to be supported by the driver. We require DRM equivalent to RGB16, RGBA, R8 and RG88. This way it's compatible with DesktopGL, since GL_TEXTURE_2D is used and limit driver requirements. With this we can virtually support all formats the glcolorconvert supports. https://bugzilla.gnome.org/show_bug.cgi?id=743345 2015-10-02 13:31:39 +0200 Lubosz Sarnecki * configure.ac: * gst-libs/gst/gl/Makefile.am: build: Add dmabuf build condition. configure.ac: Build dmabuf when EGL and drm_fourcc.h is available. gl: Link gst-allocators. https://bugzilla.gnome.org/show_bug.cgi?id=743345 2015-11-13 17:09:13 +0100 Lubosz Sarnecki * ext/gl/gstglimagesink.c: glimagesink: Show error when video frame is not mapped. Adds more meaningful error than "Failed to convert multiview video buffer", which is always used when prepare_next_buffer() fails in gst_glimage_sink_prepare(). https://bugzilla.gnome.org/show_bug.cgi?id=743345 2015-11-13 17:05:11 +0100 Lubosz Sarnecki * gst-libs/gst/gl/egl/gstglcontext_egl.c: * gst-libs/gst/gl/egl/gstglcontext_egl.h: gstglcontext_egl: Expose gst_gl_context_egl_get_error_string. https://bugzilla.gnome.org/show_bug.cgi?id=743345 2015-12-18 16:56:04 +0000 Luis de Bethencourt * ext/opencv/gsttextoverlay.cpp: * ext/opencv/gsttextoverlay.h: opencv: update opencvtextoverlay to GstOpencvVideoFilter Update opencvtextoverlay to inherit from GstOpencvVideoFilter instead of from GstElement. This means less code and more uniformity with other OpenCV elements. The chain/transform function is now a third of the size than before. 2015-12-18 16:18:52 +0000 Luis de Bethencourt * ext/opencv/gsttemplatematch.cpp: * ext/opencv/gsttemplatematch.h: opencv: update templatematch to GstOpencvVideoFilter Update pyramidsegment to inherit from GstOpencvVideoFilter instead of from GstElement. This means less code and more uniformity with other OpenCV elements. 2015-12-18 15:48:16 +0000 Luis de Bethencourt * ext/opencv/gstpyramidsegment.cpp: * ext/opencv/gstpyramidsegment.h: opencv: update pyramidsegment to GstOpencvVideoFilter Update pyramidsegment to inherit from GstOpencvVideoFilter instead of from GstElement. This means less code and more uniformity with other OpenCV elements. 2015-12-17 17:26:29 +0200 Vivia Nikolaidou * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkvideosink.cpp: decklinkvideosink: Made "auto" mode work according to caps When the mode of decklinkvideosink is set to "auto", the sink claims to support the full set of caps that it can support for all modes. Then, every time new caps are set, the sink will automatically find the correct mode for these caps and set it. Caveat: We have no way to know whether a specific mode will actually work for your hardware. Therefore, if you try sending 4K video to a 1080 screen, it will silently fail, we have no way to know that in advance. Manually setting that mode at least gave the user a way to double-check what they are doing. https://bugzilla.gnome.org/show_bug.cgi?id=759600 2015-12-18 12:28:23 +0000 Luis de Bethencourt * ext/opencv/gstmotioncells.cpp: * ext/opencv/gstmotioncells.h: opencv: update motioncells to GstOpencvVideoFilter Update motioncells to inherit from GstOpencvVideoFilter instead of from GstElement. This means less code and more uniformity with other OpenCV elements. 2015-12-18 12:26:16 +0100 Thomas Roos * sys/directsound/gstdirectsoundsrc.c: * sys/directsound/gstdirectsoundsrc.h: directsoundsrc: add device property as it is done in directsoundsink This allows selection of the device by GUID instead of the name. The name is user-given and multiple devices can have the same name. https://bugzilla.gnome.org/show_bug.cgi?id=759484 2015-12-18 12:36:26 +0100 Sebastian Dröge * sys/directsound/gstdirectsoundsrc.h: directsoundsrc: Convert header from (some) DOS line endings to UNIX A mix between different line endings in the same file is not a good idea, and the .c files are both with UNIX line endings so let's use that. 2015-12-18 10:30:25 +0000 Julien Isorce * sys/applemedia/Makefile.am: applemedia: set -mmacosx-version-min to 10.8 Otherwise qtkitvideosrc fails to build on OSX 10.10.4 because QTKit has been deprecated since OS X 10.9. Also set -mmacosx-version-min=10.8 in front to allow the user or cerbero to override the version. https://bugzilla.gnome.org/show_bug.cgi?id=745564 2015-12-18 13:17:34 +1100 Alessandro Decina * ext/gl/gstgloverlay.c: * gst-libs/gst/gl/gstglbufferpool.c: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstgloverlaycompositor.c: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglviewconvert.c: * sys/applemedia/videotexturecache.m: glmemory: add gst_gl_memory_allocator_get_default Add gst_gl_memory_allocator_get_default to get the default allocator based on the opengl version. Allows us to stop hardcoding the PBO allocator which isn't supported on gles2. Fixes GL upload on iOS9 among other things. 2015-12-18 11:49:25 +1100 Matthew Waters * ext/gl/gstglimagesink.c: glimagesink: don't deadlock on resize Performing any GL function marshalling off the GL thread with glimagesink's render lock is prone to deadlocks between the GL thread and the non-GL thread. What can happen is this: 1. non-GL thread attempts to function marshal to the GL thread. 2. while 1 is happening, the winsys gives an event (say resize) 3. This calls back into glimagesink which taks the render lock. 4. As the GL function marshalling is attempting to run on the GL and already has glimagesink's render lock locked. This deadlocks as the threads are waiting for each other. 2015-12-17 18:16:44 +0000 Luis de Bethencourt * ext/opencv/gstedgedetect.cpp: * ext/opencv/gstedgedetect.h: opencv: update edgedetect to GstOpencvVideoFilter Update edgedetect to inherit from GstOpencvVideoFilter instead of from GstElement. This means less code and more uniformity with other OpenCV elements. 2015-12-17 15:56:57 +0100 Sebastian Dröge * ext/openjpeg/gstopenjpegdec.c: openjpegdec: Don't crash when decoding returns NULL data for any component https://bugzilla.gnome.org/show_bug.cgi?id=758943 2015-12-15 14:14:36 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasememory.c: * gst-libs/gst/gl/gstglbasememory.h: glbasememory: don't unconditionally add the alignment bytes to the size e.g when wrapping a data pointer we don't want to map/unmap off the end of pointer with the alignment bytes. Instead track that information separately as maxsize is used for mapping by GstMemory and thus represents a size without any alignment padding bytes. 2015-12-17 10:51:31 +0100 Luis de Bethencourt * ext/opencv/gstcvsmooth.cpp: * ext/opencv/gstcvsmooth.h: opencv: add blur and bilateral support in cvsmooth Adding the support for the two other OpenCV linear filters to smooth images. The new API does support spatial sigma in the bilateral filter, hence bringing that property back. Adding reference to new documentation. 2015-12-17 08:51:48 +0900 Vineeth TM * gst/pnm/gstpnmenc.c: pnmenc: Fix wrong logic leading to memory mishandling While encoding the frame in ASCII mode, per component four bytes are needed and after every 20 bytes, a \n will be added. So the calculation should be size = size * (4 + 1 / 20). This should exclude the header being written. Since header is also being included in the calculations, memory mishandlings are happening. https://bugzilla.gnome.org/show_bug.cgi?id=759520 2015-12-17 15:50:40 +1100 Matthew Waters * gst-libs/gst/gl/gstglbuffer.c: glbuffer: add a name to the allocator 2015-12-17 15:23:13 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasememory.c: * gst-libs/gst/gl/gstglbasememory.h: * gst-libs/gst/gl/gstglbuffer.c: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstglmemorypbo.c: * gst-libs/gst/gl/gstgloverlaycompositor.c: * gst-libs/gst/gl/gstglupload.c: * sys/applemedia/iosurfacememory.c: * sys/applemedia/videotexturecache.m: * tests/check/libs/gstglcolorconvert.c: gl*memory*: reverse the parameter order of user_data and destroy notify The convention is to have the destroy notify last after any user data 2015-12-17 15:07:33 +1100 Alessandro Decina * sys/applemedia/videotexturecache.m: applemedia: fix build on iOS Fix build after 779dc3132c8f6dd560cb07cc2e2c3c72aeaa7845 2015-12-17 14:49:13 +1100 Alessandro Decina * sys/applemedia/avfvideosrc.m: applemedia: avfvideosrc: do fixate 2015-12-16 18:41:06 +1100 Matthew Waters * ext/gl/gstgloverlay.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglmemorypbo.c: * gst-libs/gst/gl/gstglmemorypbo.h: * gst-libs/gst/gl/gstgloverlaycompositor.c: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglviewconvert.c: * sys/applemedia/videotexturecache.m: * tests/check/libs/gstglcolorconvert.c: * tests/check/libs/gstglmemory.c: * tests/check/libs/gstglupload.c: glmemorypbo: remove our own alloc()/wrapped()/etc functions replaced by equivalent functionality within gst_gl_base_memory_alloc() 2015-12-16 18:39:32 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemory.c: glmemory: document gst_gl_memory_init 2015-12-16 18:38:19 +1100 Matthew Waters * gst-libs/gst/gl/gstglbuffer.c: * gst-libs/gst/gl/gstglmemorypbo.c: glbuffer: remove unneeded gst_gl_buffer_alloc() Replaced by gst_gl_base_memory_alloc() 2015-12-16 18:37:11 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasememory.c: glbasememory: document some functions 2015-12-16 18:36:13 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemory.c: glmemory: add a default copy implementation Subclasses still need to override this to copy into the correct memory type. 2015-12-16 18:32:40 +1100 Matthew Waters * gst-libs/gst/gl/gstglbufferpool.c: * gst-libs/gst/gl/gstglbufferpool.h: glbufferpool: use gst_gl_base_memory_alloc as a generic GL allocation framework Requires the usage of GstGLVideoAllocationParams however any user can set their own parameters along with an allocator which will be used to allocate the correct memory type. 2015-12-16 18:30:59 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemorypbo.c: * gst-libs/gst/gl/gstglmemorypbo.h: glmemorypbo: implement GstGLBaseMemory:alloc Uses the GstGLVideoAllocationParams parameters 2015-12-16 18:23:31 +1100 Matthew Waters * gst-libs/gst/gl/gstglbuffer.c: * gst-libs/gst/gl/gstglbuffer.h: glbuffer: implements GstGLBaseMemory::alloc Create GstGLBufferAllocationParams which is subclass of GstGLAllocationParams 2015-12-16 18:20:17 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * sys/androidmedia/gstamcvideodec.c: glmemory: implement GstGLBaseMemory::alloc - Create GstGLVideoAllocationParams which is a GstGLAllocationParams subclass. - Make it possible to allocate glmemory objects directly if no frills are needed. 2015-12-16 18:13:21 +1100 Matthew Waters * gst-libs/gst/gl/gstglbasememory.c: * gst-libs/gst/gl/gstglbasememory.h: glbasememory: add a generic interface for allocating GL memories This is made possible by a subclassable GstGLAllocationParams that holds the allocation parameters Every allocation would now go through gst_gl_base_memory_alloc with the allocation parameters now being specified in a single struct to allow extension by different allocators. 2015-12-17 12:30:05 +1100 Matthew Waters * common: revert common submodule change 8ae003326157438c12c45589e050c5f446723f61 contained a erroneous common change 2015-12-17 11:06:34 +1100 Matthew Waters * gst-libs/gst/gl/gstglbuffer.c: Revert "glbuffer: Don't pass allocation params" This reverts commit 052f41e5c293ec17c038467ed1e7b92b04d494b0. This is incorrect and will affect any other glbuffer user that needs/wants to perform data alignment. 2015-12-16 19:21:24 +0000 Luis de Bethencourt * ext/opencv/gstcvsmooth.cpp: opencv: add medianBlur support in cvsmooth With the deprecation of cvSmooth we have to handle the other smoothing functions manually. 2015-12-16 18:37:37 +0000 Luis de Bethencourt * ext/opencv/gstcvsmooth.cpp: * ext/opencv/gstcvsmooth.h: opencv: switch deprecated cvSmooth for GaussianBlur The OpenCV cvSmooth function is deprecated [0] and the documentation recommends to use GaussianBlur (). This makes the spatial property go unused. Marking it as deprecated, making it non-functional and will remove in the next cycle. [0] http://docs.opencv.org/2.4/modules/imgproc/doc/filtering.html 2015-12-16 11:56:08 -0500 Nicolas Dufresne * gst-libs/gst/gl/gstglbuffer.c: glbuffer: Don't pass allocation params The imported memory has already been allocated, passing allocation parameters with alignment confuses the memory which endup with a size different from maxsize and lead to overrun when the memory is being copied. 2015-12-16 13:59:18 +0000 Florin Apostol * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: dashdemux: improve validation of UTCtiming element gst_mpdparser_parse_utctiming_node does not validate the parsed values completely. The following scenarios are incorrectly accepted: - elements with no schemeIdUri property should be rejected - elements with unrecognized UTCTiming scheme should be rejected - elements with empty values should be rejected The last one triggers a division by 0 in gst_dash_demux_poll_clock_drift: clock_drift->selected_url = clock_drift->selected_url % g_strv_length (urls); because it urls is a valid pointer to an empty array. https://bugzilla.gnome.org/show_bug.cgi?id=759547 2015-12-16 10:41:47 +0000 Florin Apostol * ext/dash/gstdashdemux.c: dashdemux: clock_cond is not used and should be removed There are no threads waiting on clock_cond. It is just initialised and signalled. It should be removed. https://bugzilla.gnome.org/show_bug.cgi?id=759537 2015-12-16 10:23:23 +0000 Florin Apostol * ext/dash/gstdashdemux.c: adaptivedemux: fixed clock compensation in get_fragment_waiting_time Clock compensation is calculated in usec but is added to a GstClockTime value. https://bugzilla.gnome.org/show_bug.cgi?id=759534 2015-12-16 10:21:59 +0100 Sebastian Dröge * sys/applemedia/Makefile.am: applemedia: Link to IOSurface.framework for the IOSurface API 2015-12-15 17:10:00 +0000 Dave Craig * gst/videoparsers/gstdiracparse.c: * gst/videoparsers/gsth263parse.c: * gst/videoparsers/gsth264parse.c: * gst/videoparsers/gsth265parse.c: * gst/videoparsers/gstmpeg4videoparse.c: * gst/videoparsers/gstmpegvideoparse.c: * gst/videoparsers/gstpngparse.c: * gst/videoparsers/gstvc1parse.c: videoparsers: Check for NULL return value of gst_pad_get_current_caps() https://bugzilla.gnome.org/show_bug.cgi?id=759503 2015-12-16 14:32:20 +0900 Vineeth TM * gst/ivtc/gstivtc.c: ivtc: Fix value memory leak gvalue variable should be unset instead of reset. https://bugzilla.gnome.org/show_bug.cgi?id=759525 2015-12-16 14:29:20 +0900 Vineeth TM * gst/ivtc/gstcombdetect.c: combdetect: Fix value memory leak gvalue variable should be unset instead of reset. https://bugzilla.gnome.org/show_bug.cgi?id=759523 2015-12-16 13:08:22 +0900 Vineeth TM * gst/pnm/gstpnmdec.c: pnmdec: Fix scanner memory leak For corrupted files, scanner memory is being leaked. https://bugzilla.gnome.org/show_bug.cgi?id=759522 2015-12-16 13:06:45 +0900 Vineeth TM * gst/pnm/gstpnmdec.c: pnmdec: Fix buffer memory leak In case of corrupted file, s->buf allocated is not being freed https://bugzilla.gnome.org/show_bug.cgi?id=759522 2015-12-16 09:05:42 +0900 Vineeth TM * gst/pnm/gstpnmenc.c: pnmenc: Fix string memory leak header being allocated is not freed resulting in leak https://bugzilla.gnome.org/show_bug.cgi?id=759520 2015-12-16 08:52:12 +0900 Vineeth TM * gst/gdp/gstgdppay.c: gdppay: Fix buffer memory leak outbuffer being allocated is not being pushed to queue for EOS event and hence should be freed. https://bugzilla.gnome.org/show_bug.cgi?id=759519 2015-12-16 09:39:03 +0100 Sebastian Dröge * sys/applemedia/Makefile.am: applemedia: Link to IOKit.framework for IOSurface related functions 2015-12-16 09:33:12 +0100 Sebastian Dröge * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.signals: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-opus.xml: * docs/plugins/inspect/plugin-spandsp.xml: docs: update to git 2015-12-16 08:25:19 +0900 Vineeth TM * gst/yadif/vf_yadif.c: yadif: Fix illegal memory access When applying the spatial prediction, there is an illegal access of -1 index of array. Hence adding a condition to avoid this. https://bugzilla.gnome.org/show_bug.cgi?id=759518 2015-12-16 08:22:00 +0900 Vineeth TM * gst/yadif/gstyadif.c: yadif: Fix gvalue memory leak gvalue variable should be unset instead of reset. https://bugzilla.gnome.org/show_bug.cgi?id=759518 2015-12-16 17:02:27 +1100 Alessandro Decina * sys/applemedia/vtdec.c: applemedia: vtdec: fix texture-target on iOS 2015-12-16 15:20:30 +1100 Alessandro Decina * sys/applemedia/vtdec.c: applemedia: vtdec: remove obsolete FIXME 2015-12-16 14:38:44 +1100 Alessandro Decina * sys/applemedia/avfvideosrc.m: applemedia: avfvideosrc: rework GLMemory negotiation Only do GLMemory when a GstGLContext is available AND GLMemory is actually negotiated with downstream. 2015-12-16 13:47:00 +1100 Alessandro Decina * sys/applemedia/avfvideosrc.m: applemedia: avfvideosrc: update after IOSurface changes Prefer GLMemory over sysmem. Also now when pushing GLMemory we push the original formats (UYVY in OSX, BGRA in iOS) and leave it to downstream to convert. 2015-12-14 16:10:01 +1100 Alessandro Decina * sys/applemedia/videotexturecache.h: * sys/applemedia/videotexturecache.m: * sys/applemedia/vtdec.c: applemedia: vtdec: remove the internal GstGLColorConvert It was added back in the day to make texture sharing work by default with glimagesink inside playbin. These days glimagesink accepts (and converts) YUV internally so it's no longer needed. 2015-12-14 14:23:20 +1100 Alessandro Decina * sys/applemedia/vtdec.c: applemedia: vtdec: decouple outputting textures from outputting RGBA We're going to be able to output NV12 textures soon. 2015-12-11 13:20:05 +1100 Alessandro Decina * common: * sys/applemedia/Makefile.am: * sys/applemedia/iosurfacememory.c: * sys/applemedia/iosurfacememory.h: * sys/applemedia/videotexturecache.h: * sys/applemedia/videotexturecache.m: * sys/applemedia/vtdec.c: applemedia: vtdec: switch to IOSurface on Mac Switch to using IOSurface instead of CVOpenGLTextureCache on OSX. The latter can't be used anymore to do YUV => RGB with opengl3 on El Capitan as GL_YCBCR_422_APPLE has been removed from the opengl3 driver. Also switch to NV12 from UYVY, which was the only YUV format supported by CVOpenGLTextureCache. 2015-12-10 16:22:08 +1100 Alessandro Decina * sys/applemedia/Makefile.am: * sys/applemedia/avfvideosrc.m: * sys/applemedia/videotexturecache.h: * sys/applemedia/videotexturecache.m: * sys/applemedia/vtdec.c: * sys/applemedia/vtdec.h: applemedia: rename GstCoreVideoTextureCache to GstVideoTextureCache First of a few commits to stop using CVOpenGLTextureCache on OSX and use IOSurfaces directly instead. CVOpenGLTextureCache hasn't been updated for OpenGL 3 which is why texture sharing is currently disabled on OSX. 2015-11-17 19:31:53 +1100 Alessandro Decina * sys/applemedia/vtdec.c: Revert "vtdec: disable the texture cache on OSX" This reverts commit f02425c4afcd85260a1b387aeddf863774257917. 2015-12-15 14:17:16 +1100 Alessandro Decina * gst-libs/gst/gl/gstglupload.c: glupload: fix allocator name after GLMemory API changes 2015-12-15 19:28:05 -0500 Nicolas Dufresne * ext/qt/Makefile.am: qtsink: Add configured GL cflags to the build We don't directly link to GL in the element, though we use GL headers. For this reason we need to include the proper GL headers path. This prevent this element from using a different GL header then libgstgl. 2015-12-15 19:25:16 -0500 Nicolas Dufresne * configure.ac: * gst-libs/gst/gl/gstglapi.h: gl: Allow using non-system mesa with both GL and GLES GCC automatically disable redundance warnings for system headers. As soon as we start using a non-system installed mesa, we would start having issues. The test for both wasn't setting any flags, so it would work but then fail at runtime. This is being fixed by disabling in the code (where needed only) that GCC warning. The test is also fixed to avoid the false positive we had. 2015-12-15 15:59:30 +0000 Luis de Bethencourt * ext/opencv/gstpyramidsegment.cpp: opencv: pyramidsegment: fix example launch line Use videotestsrc and autovideosink in the example gst-launch-1.0 line and not a useless fakesrc-fakesink example. 2015-12-15 15:56:19 +0000 Luis de Bethencourt * ext/opencv/gstcvdilate.cpp: * ext/opencv/gstcvequalizehist.cpp: * ext/opencv/gstcverode.cpp: * ext/opencv/gstcvlaplace.cpp: * ext/opencv/gstcvsmooth.cpp: * ext/opencv/gstcvsobel.cpp: opencv: add headers with example launch lines Add description headers for all the OpenCV plugins missing them, so we can have gst-launch-1.0 example launch lines for all of them. 2015-12-14 16:48:45 -0500 Nicolas Dufresne * configure.ac: opengl: Use pkg-config if available libMesa ships .pc files now for gl/egl/glesv2. This patch makes use of it while keeping support for system without. https://bugzilla.gnome.org/show_bug.cgi?id=751068 2015-12-15 11:59:00 +0000 Luis de Bethencourt * gst/geometrictransform/gstbulge.c: * gst/geometrictransform/gstcircle.c: * gst/geometrictransform/gstdiffuse.c: * gst/geometrictransform/gstfisheye.c: * gst/geometrictransform/gstkaleidoscope.c: * gst/geometrictransform/gstmarble.c: * gst/geometrictransform/gstmirror.c: * gst/geometrictransform/gstperspective.c: * gst/geometrictransform/gstpinch.c: * gst/geometrictransform/gstrotate.c: * gst/geometrictransform/gstsphere.c: * gst/geometrictransform/gstsquare.c: * gst/geometrictransform/gststretch.c: * gst/geometrictransform/gsttunnel.c: * gst/geometrictransform/gsttwirl.c: * gst/geometrictransform/gstwaterripple.c: geometrictransform: add headers with example launch lines Add description headers for all geometrictransform elements so we can have gst-launch-1.0 example launch lines for all of them. 2015-12-14 11:09:46 +0900 Vineeth TM * README: * ext/assrender/gstassrender.c: * ext/chromaprint/gstchromaprint.c: * ext/curl/gstcurlbasesink.c: * ext/curl/gstcurlfilesink.c: * ext/curl/gstcurlftpsink.c: * ext/curl/gstcurlhttpsink.c: * ext/curl/gstcurlsftpsink.c: * ext/curl/gstcurlsmtpsink.c: * ext/daala/gstdaaladec.c: * ext/daala/gstdaalaenc.c: * ext/directfb/dfbvideosink.c: * ext/dts/gstdtsdec.c: * ext/faac/gstfaac.c: * ext/faad/gstfaad.c: * ext/gl/gstglbumper.c: * ext/gl/gstgldeinterlace.c: * ext/gl/gstgldifferencematte.c: * ext/gl/gstgleffects.c: * ext/gl/gstglfilterreflectedscreen.c: * ext/gl/gstglfiltershader.c: * ext/gl/gstglstereosplit.c: * ext/gl/gstgltestsrc.c: * ext/gl/gstgltransformation.c: * ext/kate/gstkatedec.c: * ext/kate/gstkateenc.c: * ext/kate/gstkateparse.c: * ext/kate/gstkatetag.c: * ext/kate/gstkatetiger.c: * ext/ladspa/gstladspa.c: * ext/libvisual/visual-gl.c: * ext/mpg123/gstmpg123audiodec.c: * ext/mplex/gstmplex.cc: * ext/openal/gstopenalsink.c: * ext/openal/gstopenalsrc.c: * ext/opus/gstopusdec.c: * ext/opus/gstopusenc.c: * ext/opus/gstopusparse.c: * ext/resindvd/resin-play: * ext/resindvd/resin-play2: * ext/rsvg/gstrsvgdec.c: * ext/rsvg/gstrsvgoverlay.c: * ext/rtmp/gstrtmpsink.c: * ext/rtmp/gstrtmpsrc.c: * ext/sndio/sndiosink.c: * ext/sndio/sndiosrc.c: * ext/teletextdec/gstteletextdec.c: * ext/wayland/gstwaylandsink.c: * ext/zbar/gstzbar.c: * gst/aiff/aiffparse.c: * gst/asfmux/gstasfmux.c: * gst/audiofxbad/gstaudiochannelmix.c: * gst/audiomixer/gstaudiomixer.c: * gst/audiovisualizers/gstspacescope.c: * gst/audiovisualizers/gstspectrascope.c: * gst/audiovisualizers/gstsynaescope.c: * gst/audiovisualizers/gstwavescope.c: * gst/autoconvert/gstautovideoconvert.c: * gst/camerabin2/gstcamerabin2.c: * gst/camerabin2/gstviewfinderbin.c: * gst/coloreffects/gstchromahold.c: * gst/coloreffects/gstcoloreffects.c: * gst/dataurisrc/gstdataurisrc.c: * gst/debugutils/fpsdisplaysink.c: * gst/debugutils/gstchopmydata.c: * gst/debugutils/gstdebugspy.c: * gst/debugutils/gstwatchdog.c: * gst/dvbsuboverlay/gstdvbsuboverlay.c: * gst/dvdspu/gstdvdspu.c: * gst/festival/gstfestival.c: * gst/fieldanalysis/gstfieldanalysis.c: * gst/freeverb/gstfreeverb.c: * gst/gaudieffects/gstburn.c: * gst/gaudieffects/gstchromium.c: * gst/gaudieffects/gstdilate.c: * gst/gaudieffects/gstdodge.c: * gst/gaudieffects/gstexclusion.c: * gst/gaudieffects/gstgaussblur.c: * gst/gaudieffects/gstsolarize.c: * gst/gdp/README: * gst/gdp/gstgdpdepay.c: * gst/gdp/gstgdppay.c: * gst/id3tag/gstid3mux.c: * gst/inter/gstinteraudiosink.c: * gst/inter/gstinteraudiosrc.c: * gst/inter/gstintersubsink.c: * gst/inter/gstintersubsrc.c: * gst/inter/gstintervideosink.c: * gst/inter/gstintervideosrc.c: * gst/interlace/gstinterlace.c: * gst/ivtc/gstcombdetect.c: * gst/ivtc/gstivtc.c: * gst/jp2kdecimator/gstjp2kdecimator.c: * gst/jpegformat/gstjifmux.c: * gst/jpegformat/gstjpegparse.c: * gst/mxf/mxfdemux.c: * gst/mxf/mxfmux.c: * gst/nuvdemux/gstnuvdemux.c: * gst/pnm/gstpnmdec.c: * gst/pnm/gstpnmenc.c: * gst/rawparse/README: * gst/removesilence/gstremovesilence.c: * gst/sdp/gstsdpdemux.c: * gst/speed/gstspeed.c: * gst/stereo/gststereo.c: * gst/videofilters/gstscenechange.c: * gst/videofilters/gstvideodiff.c: * gst/videofilters/gstzebrastripe.c: * gst/videoparsers/gstdiracparse.c: * gst/videosignal/gstsimplevideomark.c: * gst/videosignal/gstsimplevideomarkdetect.c: * gst/videosignal/gstvideoanalyse.c: * gst/y4m/gsty4mdec.c: * gst/yadif/gstyadif.c: * sys/applemedia/atdec.c: * sys/applemedia/avfassetsrc.m: * sys/applemedia/iosassetsrc.m: * sys/applemedia/vtdec.c: * sys/directsound/gstdirectsoundsrc.c: * sys/dvb/README: * sys/dvb/gstdvbsrc.c: * sys/opensles/openslessink.c: * sys/opensles/openslessrc.c: * sys/shm/gstshmsink.c: * sys/shm/gstshmsrc.c: * sys/vdpau/gstvdpvideopostprocess.c: * sys/vdpau/mpeg/gstvdpmpegdec.c: * sys/vdpau/mpeg4/gstvdpmpeg4dec.c: * sys/winks/gstksvideosrc.c: * sys/winscreencap/gstdx9screencapsrc.c: * sys/winscreencap/gstgdiscreencapsrc.c: * tools/gst-element-maker: plugins-bad: Fix example pipelines rename gst-launch --> gst-launch-1.0 replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**) fix caps in examples https://bugzilla.gnome.org/show_bug.cgi?id=759432 2015-12-14 15:01:09 -0500 Nicolas Dufresne * .gitignore: ignore: videoframe-audiolevel test 2015-12-14 14:44:31 -0500 Xavier Claessens * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstglframebuffer.h: * gst-libs/gst/insertbin/gstinsertbin.h: bad: Add g_autoptr() support to all types https://bugzilla.gnome.org/show_bug.cgi?id=754464 2015-12-14 12:31:52 +0000 Luis de Bethencourt * gst-libs/gst/gl/gstglviewconvert.c: glviewconvert: check pointer before dereferencing priv->primary_out could be NULL, check before dereferencing it in GST_BUFFER_FLAG_SET () CID 1308945 2015-12-14 13:43:10 +0200 Vivia Nikolaidou * gst/videoframe_audiolevel/gstvideoframe-audiolevel.c: videoframe-audiolevel: Fix possible division by zero In update_rms_from_buffer(), division by "frames" wasn't checking whether "frames" is zero. CID 1341519. https://bugzilla.gnome.org/show_bug.cgi?id=759443 2015-12-14 09:38:41 +0100 Sebastian Dröge * tests/examples/gl/clutter/cluttershare.c: clutter: Fix compilation error in GL examples Include gst/gl.h instead of specific headers to prevent such problems also in the future. In file included from ../../../../gst-libs/gst/gl/gl.h:47:0, from ../../../../gst-libs/gst/gl/gstglbasememory.h:137, from ../../../../gst-libs/gst/gl/gstglmemory.h:29, from cluttershare.c:39: ../../../../gst-libs/gst/gl/gstglmemorypbo.h:51:20: error: field ‘mem’ has incomplete type GstGLMemory mem; ^ ../../../../gst-libs/gst/gl/gstglmemorypbo.h:124:24: error: field ‘parent’ has incomplete type GstGLMemoryAllocator parent; ^ ../../../../gst-libs/gst/gl/gstglmemorypbo.h:134:29: error: field ‘parent_class’ has incomplete type GstGLMemoryAllocatorClass parent_class; ^ 2015-12-14 19:18:14 +1100 Matthew Waters * sys/applemedia/corevideotexturecache.m: applemedia: update for GLMemory API changes 2015-12-14 19:15:14 +1100 Matthew Waters * sys/androidmedia/gstamcvideodec.c: amcvideodec: update for GLMemory API changes 2015-12-14 18:41:30 +1100 Matthew Waters * tests/check/libs/gstglcolorconvert.c: * tests/check/libs/gstglupload.c: tests: update for glmemory api changes 2015-12-14 18:20:23 +1100 Matthew Waters * gst-libs/gst/gl/gstglbuffer.c: glbuffer: bind/unbind on map/unmap for GL mappings Bind the handle to the GL target on map/unmap to save the caller from handling this themselves. 2015-12-14 18:19:37 +1100 Matthew Waters * gst-libs/gst/gl/gstglbuffer.c: * gst-libs/gst/gl/gstglbuffer.h: glbuffer: remove buffer specific transfer flags Instead rely on GstGLBaseMemory's transfer handling 2015-12-14 18:18:20 +1100 Matthew Waters * gst-libs/gst/gl/gstglmemorypbo.c: glmemorypbo: map/unmap pbo memory correctly for state tracking Otherwise some downloads will fail to occur from the PBO. 2015-12-14 18:15:42 +1100 Matthew Waters * tests/check/libs/gstglmemory.c: tests/glmemory: include the generic gl header Including gstglmemory.h directly results in the compiler complaining about incomplete types. 2015-12-14 17:05:31 +1100 Matthew Waters * gst-libs/gst/gl/gstglformat.c: glformat: add compatibility definitions for OES/rectangle textures 2015-12-14 13:49:18 +1100 Matthew Waters * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstglbasebuffer.c: * gst-libs/gst/gl/gstglbasebuffer.h: * gst-libs/gst/gl/gstgldisplay.c: glbasebuffer: remove unsed memory subclass The functionality has been split into GstGLBaseMemory and GstGLBuffer. 2015-12-14 13:43:59 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs.types: * ext/gl/gstgldownloadelement.c: * ext/gl/gstgloverlay.c: * ext/qt/gstqsgtexture.cc: * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstglbufferpool.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstglformat.c: * gst-libs/gst/gl/gstglformat.h: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstglmemorypbo.c: * gst-libs/gst/gl/gstglmemorypbo.h: * gst-libs/gst/gl/gstgloverlaycompositor.c: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglviewconvert.c: * tests/check/libs/gstglmemory.c: glmemory: base classify and add the pbo memory on top The base class is useful for having multiple backing memory types other than the default. e.g. IOSurface, EGLImage, dmabuf? The PBO transfer logic is now inside GstGLMemoryPBO which uses GstGLBuffer to manage the PBO memory. This also moves the format utility functions into their own file. 2015-12-14 13:08:10 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs.types: * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstglbuffer.c: * gst-libs/gst/gl/gstglbuffer.h: * gst-libs/gst/gl/gstgldisplay.c: gl: add a GL buffer based GstMemory Heavily based on GstGLBaseBuffer that is a subclass of GstGLBaseMemory. Provides GPU and CPU accessible GL buffer objects by GL handle or by sysmem data pointer. 2015-12-14 12:59:02 +1100 Matthew Waters * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstglbasememory.c: * gst-libs/gst/gl/gstglbasememory.h: gl: add a base memory object It handles the following - GstAllocationParams -> gst_memory_init transformation - Makes sure that map/unmap/create/destroy happen on the GL thread with a GL context current. - Holds a possible sysmem accessible data pointer with alignment. - Holds the need upload/download transfer state 2015-12-14 12:26:01 +1100 Matthew Waters * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: gl: add convenience function for the start of a video frame Get's the start of the video frame based on a GstVideoInfo and GstVideoAlignment. 2015-12-11 16:07:36 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-docs.sgml: * docs/libs/gst-plugins-bad-libs-sections.txt: * docs/libs/gst-plugins-bad-libs.types: * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstglbufferpool.c: * gst-libs/gst/gl/gstglbufferpool.h: * gst-libs/gst/gl/gstgluploadmeta.c: * gst-libs/gst/gl/gstgluploadmeta.h: * tests/check/libs/gstglupload.c: gluploadmeta; remove convenience helper API It was not really useful as if one knows about libgstgl, one can just use GLMemory objects directly. 2015-12-11 15:39:57 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-docs.sgml: * docs/libs/gst-plugins-bad-libs-sections.txt: * docs/libs/gst-plugins-bad-libs.types: * ext/gl/gstglstereomix.h: * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstgldownload.c: * gst-libs/gst/gl/gstgldownload.h: gldownload: remove helper api from the library It was never used by anyone and is not needed anymore with the element and GstGLMemory's transparent support for downloading textures. 2015-12-12 20:07:32 +0000 Luis de Bethencourt * ext/opencv/gstcvdilate.cpp: * ext/opencv/gstcvdilateerode.cpp: * ext/opencv/gstcvdilateerode.h: * ext/opencv/gstcvequalizehist.cpp: * ext/opencv/gstcvequalizehist.h: * ext/opencv/gstcverode.cpp: * ext/opencv/gstcvlaplace.cpp: * ext/opencv/gstcvlaplace.h: * ext/opencv/gstcvsmooth.cpp: * ext/opencv/gstcvsmooth.h: * ext/opencv/gstcvsobel.cpp: * ext/opencv/gstcvsobel.h: * ext/opencv/gstdisparity.cpp: * ext/opencv/gstdisparity.h: * ext/opencv/gstedgedetect.cpp: * ext/opencv/gstedgedetect.h: * ext/opencv/gstfaceblur.cpp: * ext/opencv/gstfaceblur.h: * ext/opencv/gstfacedetect.cpp: * ext/opencv/gstgrabcut.cpp: * ext/opencv/gsthanddetect.cpp: * ext/opencv/gsthanddetect.h: * ext/opencv/gstmotioncells.cpp: * ext/opencv/gstmotioncells.h: * ext/opencv/gstopencvvideofilter.cpp: * ext/opencv/gstpyramidsegment.cpp: * ext/opencv/gstpyramidsegment.h: * ext/opencv/gstretinex.cpp: * ext/opencv/gstretinex.h: * ext/opencv/gstsegmentation.cpp: * ext/opencv/gstskindetect.cpp: * ext/opencv/gstskindetect.h: * ext/opencv/gsttemplatematch.cpp: * ext/opencv/gsttemplatematch.h: * ext/opencv/gsttextoverlay.cpp: * ext/opencv/gsttextoverlay.h: opencv: clean includes The opencv element includes were full of duplicates and uneeded headers. For example a few elements that stopped using gstcvopencvutils still included that header file. 2015-12-12 19:31:55 +0000 Luis de Bethencourt * ext/opencv/gstopencvutils.cpp: * ext/opencv/gstopencvutils.h: opencv: remove unused functions in gstopencvutils Since commit 45ca8876b2f5267f7edb842b6d56d7a6c271ccb3 nobody is using gst_opencv_get_ipl_depth_and_channels() or gst_opencv_parse_iplimage_params_from_structure(). Remove this dead code. 2015-12-12 19:13:42 +0000 Luis de Bethencourt * ext/opencv/MotionCells.cpp: * ext/opencv/MotionCells.h: motioncells: Remove unused includes 2015-12-12 10:06:55 +1100 Matthew Waters * common: revert common submodule change 2015-12-12 09:33:38 +1100 Matthew Waters * common: * ext/gl/gstgltransformation.c: gltransformation: clear to transparent Otherwise composition will result in a black frame outside the transformed video. 2015-12-11 11:39:08 +0100 Thomas Roos * sys/directsound/gstdirectsoundsrc.c: directsoundsrc: Check return values of DirectSound functions in read loop Otherwise we might end up in an infinite loop because of errors. Also take the element's mutex in unprepare(). https://bugzilla.gnome.org/show_bug.cgi?id=738292 2015-12-10 12:47:17 +0200 Sebastian Dröge * gst/mxf/mxfdemux.c: mxfdemux: Only pre-set position for exactly the same essence track The edit rate is only supposed to be the same in a source package, but there might be multiple source packages with the same essence container. As such just comparing the body/index SID is not sufficient. 2015-12-10 12:25:54 +0200 Sebastian Dröge * gst/mxf/mxfdemux.c: mxfdemux: Only pre-set the track position if it's for the same body/index SID 2015-12-10 14:41:44 +1100 Alessandro Decina * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: libgstgl: gstglcontext_cocoa: kCGLPFAStereo has been deprecated in 10.11 Also since the version scheme has changed (to include the micro number) since 10.10, use the MAC_OS_X_VERSION_* macro to avoid confusion. 2015-12-10 12:41:00 +1100 Alessandro Decina * gst-libs/gst/gl/gstglbufferpool.c: glbufferpool: relax check for multiple texture targets Only complain about multiple texture targets when _different_ texture targets are configured. 2015-12-10 12:33:52 +1100 Alessandro Decina * gst-libs/gst/gl/gstglmemory.c: glmemory: take subsampling into account for rectangle textures Rectangle textures don't use normalized coordinates so subsampling needs to be factored in explicitly. Fixes YUV => RGB conversion for rectangle textures. 2015-12-09 16:55:00 +0200 Sebastian Dröge * gst/mxf/mxfdemux.c: mxfdemux: Only access the index table if it has enough elements 2015-12-09 16:28:53 +0200 Sebastian Dröge * gst/mxf/mxfdemux.c: mxfdemux: Use keyframe information from index table segments if available We don't implement keyframe detection for all codecs and this will allow us to implement better seeking. 2015-12-09 16:31:19 +0200 Sebastian Dröge * gst/mxf/mxfdemux.c: mxfdemux: Collect all index table segments after finding the random index pack That way we always have the index table information available, especially the keyframe-ness of all buffers. 2015-12-08 18:15:55 +0200 Sebastian Dröge * gst/mxf/mxfdemux.c: * gst/mxf/mxfdemux.h: * gst/mxf/mxftypes.h: mxfdemux: Fix handling of IndexTableSegments This was completely broken before and could only work on a very constrained set of files. After these changes it should work except for situations where PTS != DTS, which is not handled at all in mxfdemux currently. https://bugzilla.gnome.org/show_bug.cgi?id=759118 2015-12-08 14:06:21 -0300 Thiago Santos * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: avoid pushing events with manifest lock It can be an easy source of deadlocks. Reproducible with very fast connections (local server). 2015-12-08 20:24:45 +0200 Sebastian Dröge * gst/mxf/mxftypes.c: mxftypes: Fix parsing of index table segments 2015-12-08 18:23:02 +0200 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Handle aggregation with NULL buffers without crashing 2015-12-08 16:45:33 +0200 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Add FIXME about enforcing that all tracks in a source package have the same edit rate The standard requires this and also the index table segments are not going to work otherwise. 2015-12-07 20:27:23 +0200 Sebastian Dröge * gst/mxf/mxfmux.c: * gst/mxf/mxfmux.h: mxfmux: Write index table segments But only for the first essence track, and once for every keyframe every 2 seconds. 2015-12-07 20:26:17 +0200 Sebastian Dröge * gst/mxf/mxfmetadata.c: mxfmetadata: Fix static local tag for index sid 2015-12-07 19:34:25 +0200 Sebastian Dröge * gst/mxf/mxftypes.c: * gst/mxf/mxftypes.h: mxftypes: Add function to serialize an index table segment to a buffer 2015-12-07 18:59:36 +0200 Sebastian Dröge * gst/mxf/mxfdemux.c: * gst/mxf/mxftypes.c: * gst/mxf/mxftypes.h: mxfmux: Index table segments must not use the primer pack According to S377-1-2009c 9.2 the local tags must not be resolved from the primer pack, which as a result means that there can't be any other tags than statically assigned ones. 2015-12-07 14:10:30 +1000 Duncan Palmer * ext/hls/gsthlsdemux.c: hlsdemux: add support for seeking to fragment boundaries Setting the seek flags to GST_SEEK_FLAG_SNAP_* will change the seek target time to a segment boundary. Based on original work by Ben Willers . https://bugzilla.gnome.org/show_bug.cgi?id=759108 2015-12-08 09:53:11 +0200 Sebastian Dröge * tests/check/elements/dash_mpd.c: dash: Fix unit test after moving of framerates to RepresentationBaseType 2015-12-08 09:33:39 +0900 suhwang.kim * ext/dash/gstdashdemux.c: * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: dashdemux: Suggestion for setting the framerate information. Dashdemux has set the width and height information from MPD manifest. Some embedded devices which are not insufficient H/W resources need more information such as framerate to assign H/W resources. So I suggested that dashdemux also needs to set the framerate information from MDP manifest. https://bugzilla.gnome.org/show_bug.cgi?id=758515 2015-12-08 09:23:22 +0900 suhwang.kim * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: dashdemux: maxFrameRate & minFrameRate should be in RepresentationBase. According to the spec, they can be in AdaptationSet, Representation and SubRepresentation. So They should be in RepresentationBase. https://bugzilla.gnome.org/show_bug.cgi?id=758515 2015-12-08 16:35:45 +1100 Matthew Waters * gst-libs/gst/gl/glprototypes/sync.h: glproto: include function definitions for GL_APPLE_sync Provides a performance improvement on iOS where we were falling back to glFinish on settting sync points. 2015-12-07 20:34:10 +0200 Sebastian Dröge * ext/openjpeg/gstopenjpegenc.c: openjpegenc: All frames in JPEG2000 are keyframes, mark them as such 2015-12-07 09:08:15 -0500 Nicolas Dufresne * autogen.sh: * common: Automatic update of common submodule From b319909 to 86e4663 2015-12-07 13:48:12 +0100 Edward Hervey * gst/mxf/mxfmux.c: mxfmux: Remove more dead code Coverity CID #1328818 2015-12-07 13:36:29 +0100 Edward Hervey * ext/teletextdec/gstteletextdec.c: teletextdec: Fix leak and NULL pointer usage Coverity CID #1341744 2015-12-07 11:56:09 +0100 Edward Hervey * ext/teletextdec/gstteletextdec.c: teletextdec: Remove dead code ++i in a for() loop results in the loop never being executed more than once Coverity CID #1341748 Coverity CID #1341743 2015-03-12 11:29:00 +0000 Frédéric Wang * configure.ac: * sys/acmenc/acmenc.c: * sys/acmmp3dec/acmmp3dec.c: acm: Port ACM MP3 decoder and encoders to GStreamer 1.x https://bugzilla.gnome.org/show_bug.cgi?id=744047 2015-09-24 17:40:02 +0200 Daniel Kamil Kozar * configure.ac: * ext/teletextdec/Makefile.am: * ext/teletextdec/gstteletextdec.c: * ext/teletextdec/gstteletextdec.h: * ext/teletextdec/teletext.c: port teletextdec to 1.0 https://bugzilla.gnome.org/show_bug.cgi?id=733819 2015-12-02 18:28:15 -0500 Nicolas Dufresne * gst/videoparsers/gsth264parse.c: * gst/videoparsers/gsth265parse.c: h26xparse: Resend PPS/SPS after seek This is to support byte-stream decoder that does not remember the PPS/SPS after a flush. This is not needed by all decoders, but is harmless for those that do remember. https://bugzilla.gnome.org/show_bug.cgi?id=758405 2015-12-01 18:09:25 -0500 Nicolas Dufresne * gst-libs/gst/gl/gstglupload.c: glupload: Only offer custom allocator with caps features To use GLMemory and EGLImage allocators, one need to know the libgstgl API. This is only expected if the associated caps features have been negotiated. Generic element that otherwise receive those allocators may fail, resulting in broken pieline. We don't want to force all generic element to check if the allocator is a custom allocator or a normal allocator (which implement the _alloc method). https://bugzilla.gnome.org/show_bug.cgi?id=758877 2015-12-04 18:05:58 +0200 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Don't copy input buffers, just append them to the header 2015-12-03 11:46:10 +0200 Sebastian Dröge * ext/hls/m3u8.c: hlsdemux: Resync live playlists to the 3rd newest fragment if we fall off the playlist As HLS does not provide any way of knowing the server's clock, and we do buffering of "live" streams, at some point we will fall behind the server in many cases and would have to advance to a fragment that is not in the playlist anymore. Previously we would've just resynced to the next oldest fragment that is still there, but this causes problems as from this point onwards we would always fall off the playlist again all the time. Instead we now resync and move to the 3rd newest fragment like we would do when starting playback of a live stream. https://bugzilla.gnome.org/show_bug.cgi?id=758987 2015-12-03 18:21:50 +0000 Tim-Philipp Müller * ext/hls/m3u8.c: hls: m3u8: remove superfluous gst_m3u8_copy() implementation No need to implement _copy() when we just copy a list that we're freeing three lines later anyway. Instead just steal the new main list. 2015-12-03 10:08:05 +0200 Sebastian Dröge * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Log PTS of buffers that are pushed downstream 2015-10-20 09:49:16 +0200 Edward Hervey * gst/mpegtsdemux/tsdemux.c: tsdemux: Expose DVB Subpicture as subpictures For some reason we were considering them as private data. 2015-10-20 17:22:23 +0200 Edward Hervey * gst/mpegtsdemux/tsdemux.c: tsdemux: Push GAP events *after* deactivating old programs The order in which program switch must happen is: 1) drain all data on old pads (but don't push EOS) 2) add new pads (but don't push any data on them) 3) Push EOS and remove old pads 4) Start pushing data on new pads There was one caveat in this implementation, which is that when we activate a sparse pad (step 2) we would push a GAP event. The problem is that, while being an event, it is actually *data*. We therefore need to make sure pushing those GAP event is done at the step we start pushing data. https://bugzilla.gnome.org/show_bug.cgi?id=750402 2015-09-15 18:20:38 +0200 Edward Hervey * gst/mpegtsdemux/tsdemux.c: tsdemux: Make sure old streams are drained before switching Before we add any streams, make sure we drain all streams. This ensures there's consistency that only "new" data will be pushed on buffers once the new pads are added https://bugzilla.gnome.org/show_bug.cgi?id=750402 2015-09-10 14:55:05 +0200 Edward Hervey * gst/mpegtsdemux/mpegtsbase.c: * gst/mpegtsdemux/mpegtsbase.h: * gst/mpegtsdemux/tsdemux.c: * gst/mpegtsdemux/tsdemux.h: mpegtsdemux: Allow deactivation of programs to be delayed When changing programs, the order of events needs to be the following: * add pads from new program * send EOS on old pads * remove old pads * emit 'no-more-pads' Previously tsdemux was not doing that, and was first deactivating and removing old pads before adding new ones. We fix this by allowing subclasses of mpegtsbase to be able to handle themselves the deactivation of programs. In this case tsdemux will properly deactivate it once it has activated the new program. https://bugzilla.gnome.org/show_bug.cgi?id=750402 2015-12-02 11:01:53 +0100 Maroš Ondrášek * ext/hls/gsthlsdemux.c: hlsdemux: update current variant if connection speed is set If connection speed is set, playlist according to connection speed is selected as current playlist. Problem is that the current variant of main playlist still points to previously set variant. If previously set variant doesn't correspond to current playlist, then it causes unnecessary change of playlist to the same playlist after first fragment is downloaded, because of not updated current variant. To fix this, we need to make sure that current variant of main playlist corresponds to the current playlist https://bugzilla.gnome.org/show_bug.cgi?id=758946 2015-12-02 14:35:22 +0200 Sebastian Dröge * gst/videoframe_audiolevel/gstvideoframe-audiolevel.c: videoframe-audiolevel: Fix compilation of static plugin and some compiler warnings Use G_GSIZE_FORMAT for gsize instead of %ld and make sure that the plugin name is a valid C identifier, i.e. contains no spaces or dashes. 2015-12-02 22:42:39 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: improve the YUY2/UYVY->RGBA conversion shader Don't offset the y-axis. We only need to offset on the x-axis. Removes a sawtooth pattern on horizontal and vertical edges. https://bugzilla.gnome.org/show_bug.cgi?id=755486 2015-12-02 22:40:06 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: improve RGBA->YUY2/UYVY conversion shader We should only average the chroma samples not the luma sample. https://bugzilla.gnome.org/show_bug.cgi?id=758904 2015-11-11 03:55:27 +1100 Jan Schmidt * ext/hls/gsthlsdemux.c: hlsdemux: Tell the base class the fragment duration adaptivedemux uses the fragment duration as a delay in some cases, so make sure to set it. 2015-11-11 03:54:51 +1100 Jan Schmidt * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: Send the bitrate of the stream as a tag If we know or can measure the nominal bitrate of a stream, send that info as a tag downstream 2015-11-08 01:34:30 +1100 Jan Schmidt * ext/hls/gsthlsdemux.c: hlsdemux: When switching bitrate variants, don't jump back Don't jump backward to 3 files from the end of the playlist when switching variants - it just means we downloaded fragments fast and caught up to the end of the playlist. Disable that by treating a variant switch as a playlist update, not a restart due to a seek or so. 2015-04-21 21:09:19 +0300 Vivia Nikolaidou * configure.ac: * gst/videoframe_audiolevel/Makefile.am: * gst/videoframe_audiolevel/gstvideoframe-audiolevel.c: * gst/videoframe_audiolevel/gstvideoframe-audiolevel.h: * tests/check/Makefile.am: * tests/check/elements/videoframe-audiolevel.c: alevel: New audio/video level element The videoframe-audiolevel element acts like a synchronized audio/video "level" element. For each video frame, it posts a level-style message containing the RMS value of the corresponding audio frames. This element needs both video and audio to pass through it. Furthermore, it needs a queue after its video source. https://bugzilla.gnome.org/show_bug.cgi?id=748259 2015-12-01 23:20:45 -0800 Reynaldo H. Verdejo Pinochet * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/insertbin/Makefile.am: Drop usage of deprecated g-ir-scanner --strip-prefix flag 2015-11-10 16:19:34 +0000 Alex Ashley * ext/hls/m3u8.c: * tests/check/elements/hlsdemux_m3u8.c: hlsdemux: correct the calculation of seek range of non-live streams The seek range calculation for on-demand streams was incorrectly excluding the last three segments of the stream. This three segment rule should only be applied to live streams [1]. [1] https://tools.ietf.org/html/draft-pantos-http-live-streaming-17#section-6.3.3 https://bugzilla.gnome.org/show_bug.cgi?id=758386 2015-12-01 17:52:03 +0000 Paolo Pettinato * gst/pcapparse/gstpcapparse.c: pcapparse: Forward FLUSH_STOP events downstream too https://bugzilla.gnome.org/show_bug.cgi?id=758913 2015-11-29 01:02:15 +0000 Tim-Philipp Müller * ext/hls/gsthlsdemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: hlsdemux: fix crash when decryption key can't be downloaded Happened with http://sslhls.m6tv.cdn.sfr.net/hls-live/livepkgr/_definst_/m6_hls_aes/m6_hls_aes_856.m3u8 if glib-networking was not installed (since key has https uri). 2015-11-30 11:05:38 +0000 Tim-Philipp Müller * ext/hls/gsthlsdemux.c: * ext/hls/m3u8.c: * ext/hls/m3u8.h: hls: m3u8: remove pointless client_has_main() function We always have a main list. 2015-11-28 00:12:04 +0000 Tim-Philipp Müller * ext/hls/m3u8.c: * ext/hls/m3u8.h: hls: m3u8: remove unused _get_current_fragment_duration() function 2015-11-27 19:21:22 +0000 Tim-Philipp Müller * ext/hls/m3u8.c: * ext/hls/m3u8.h: hls: m3u8: remove unused m3u8 client update_failed_count field 2015-11-15 17:31:05 +0000 Tim-Philipp Müller * ext/hls/m3u8.c: * ext/hls/m3u8.h: hls: m3u8: remove helper var that's only used during parsing from structure Just keep that local to the parsing function. 2015-11-01 13:21:45 +0000 Tim-Philipp Müller * Makefile.am: * docs/plugins/inspect/plugin-hls.xml: * ext/hls/Makefile.am: * ext/hls/gstfragmented.h: * ext/hls/gsthls.h: * ext/hls/gsthlsdemux.h: * ext/hls/gsthlsplugin.c: * ext/hls/gstm3u8playlist.c: * ext/hls/m3u8.c: * gst-plugins-bad.spec.in: * tests/check/elements/hlsdemux_m3u8.c: hls: rename plugin from fragmented to hls 2015-12-01 19:44:36 +0200 Sebastian Dröge * ext/hls/gsthlsdemux.c: hlsdemux: Always give timestamps if we're discont and don't mark stream discont if a playlist change was not successful If the stream is discont, we must provide a timestamp in any case. Elements like tsdemux are not going to output anything if we give a NONE timestamp after a discont. Also marking a stream as discont if a playlist change was not successful would lead to the above situation, but in that case we are not required at all to mark the stream discont as we're still at the old playlist. 2015-12-01 17:06:33 +0000 Tim-Philipp Müller * gst/mpegtsmux/tsmux/tsmuxstream.c: tsmux: fix wrong log message level ERROR level is debugging left-over. 2015-11-09 16:08:30 +0900 Hyunjun Ko * tests/check/libs/aggregator.c: tests:aggregator: fix tc failure and correct check value Failure by this commit 2dfa548f3645844082c3db65d96d87255701b3ad, which is to append hooks instead of prepend. Because of this change, aggretated_cb is not called and leads to failure. And correct to check flush stop value instead of flush start value https://bugzilla.gnome.org/show_bug.cgi?id=757801 2015-11-30 19:53:28 +0200 Sebastian Dröge * sys/d3dvideosink/d3dhelpers.c: d3dvideosink: Don't try to recreate swapchain while the window is minimized It will fail and cause the sink to crash. Instead wait until the window is visible again before checking if the swapchain really has to be recreated. https://bugzilla.gnome.org/show_bug.cgi?id=741608 2015-11-27 18:46:56 +0000 Luis de Bethencourt * ext/opus/gstopusparse.c: opusparse: remove unneeded statement commit da5c41930c4083979b1745f4d8848d97fe03d8eb removed the two uses of the new value of data: channels = opus_packet_get_nb_channels (data); bandwidth = opus_packet_get_bandwidth (data); Since then, data isn't being used between incrementing it by packet_offset and going out of scope. Removing this uneeded statement. 2015-11-27 12:44:57 +0000 Tim-Philipp Müller * tests/check/elements/id3mux.c: tests: id3mux: add unit test for GST_TAG_PRIVATE_DATA writing https://bugzilla.gnome.org/show_bug.cgi?id=758728 2015-11-27 11:33:07 +0530 Ravi Kiran K N * gst/id3tag/id3tag.c: id3mux: write private data tag Handle "PRIV" tag in id3mux. Write owner identifier and private data and add to the id3v2 frame. https://bugzilla.gnome.org/show_bug.cgi?id=758728 2015-11-26 10:15:36 +0100 Mathias Hasselmann * sys/androidmedia/gstamcvideodec.c: androidmedia: Don't add metadata to locked buffer The video decoders tried calling gst_buffer_add_*meta() on non-writable buffer resulting in warnings of this kind: gstamcvideodec.c:921 (_gl_sync_render_unlocked): WARNING: amcvideodec Failed to create the transformation meta for the gl_sync 0xabc03848 buffer 0xabb01b40 (0) https://bugzilla.gnome.org/show_bug.cgi?id=758694 2015-11-09 18:07:30 +0000 Florin Apostol * tests/check/elements/dash_demux.c: adaptivedemux: tests: disabled testFragmentDownloadError test Until we will have support to control the generating thread from fakeHTTPsrc element, the test testFragmentDownloadError is disabled. https://bugzilla.gnome.org/show_bug.cgi?id=757776 2015-11-09 14:14:34 +0000 Florin Apostol * tests/check/elements/dash_demux.c: adaptivedemux: tests: corrected access to fakeHTTPsrc element The src element for adaptivedemux is now a bin. Updated the tests to correctly reach into the bin and get the fakeHTTPsrc element https://bugzilla.gnome.org/show_bug.cgi?id=757776 2015-11-09 14:13:04 +0000 Florin Apostol * tests/check/elements/fake_http_src.c: adaptivedemux: tests: made fakeHTTPsrc element MT safe https://bugzilla.gnome.org/show_bug.cgi?id=757776 2015-11-23 11:32:13 +0900 Vineeth T M * gst/dvdspu/gstspu-pgs.c: spu-pgs: Fix array memory leak https://bugzilla.gnome.org/show_bug.cgi?id=758517 2015-11-24 00:20:36 +0000 Tim-Philipp Müller * gst/audiomixer/gstaudioaggregator.c: audiomixer: register function name for debugging just once Not every time aggregate is called... 2015-11-24 12:42:45 +0000 Florin Apostol * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: * tests/check/elements/dash_mpd.c: mpdparser: remove gst_mpd_client_check_time_position https://bugzilla.gnome.org/show_bug.cgi?id=758593 2015-11-24 11:50:51 +0100 Maroš Ondrášek * ext/smoothstreaming/gstmssmanifest.c: mssdemux: add depth field to audio caps if available depth field can be retrieved from "BitsPerSample" or from "WaveFormatEx" structure, if provided in Manifest https://bugzilla.gnome.org/show_bug.cgi?id=758586 2015-11-20 16:35:43 +0000 Florin Apostol * tests/check/elements/dash_mpd.c: mpdparser: tests: added test for fraction of seconds in availabilityStartTime https://bugzilla.gnome.org/show_bug.cgi?id=758410 2015-11-20 16:36:00 +0000 Florin Apostol * ext/dash/gstmpdparser.c: mpdparser: added support for parsing fraction of seconds in dateTime fields https://bugzilla.gnome.org/show_bug.cgi?id=758410 2015-11-22 13:11:48 +0100 George Kiagiadakis * tests/examples/waylandsink/Makefile.am: tests: put the waylandsink example window.ui file in EXTRA_DIST 2015-11-22 13:08:35 +0100 George Kiagiadakis * tests/examples/waylandsink/Makefile.am: tests: fix linking waylandsink example with the gstwayland library First, use top_builddir, otherwise it fails in out-of-source builds. Second, link to the libtool archive directly to let make understand the dependency. 2015-11-20 20:59:16 -0300 Thiago Santos * ext/dash/gstmpdparser.c: dashdemux: always set presentationTimeOffset Set it for all types of segment lists (templates / lists / base) and not only for templates. https://bugzilla.gnome.org/show_bug.cgi?id=751529 2015-11-20 17:50:30 +0200 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Error out if we get a timeout during live mixing We can't handle that but need complete streams without gaps. 2015-11-20 17:46:53 +0200 Sebastian Dröge * gst/mxf/mxfmpeg.c: mxfmpeg: Use the correct sound essence compression UL for MP3 There's one for MPEG 1 Layer 1 and one for Layer 2 and 3. We previously had the second for Layer 1 and 2 and nothing for Layer 3, which was wrong. 2015-11-20 17:34:22 +0200 Sebastian Dröge * gst/mxf/mxfmpeg.c: mxfmpeg: Set the essence container UL byte 13 to 0x10 for h264 0x04 signifies a MPEG elementary stream but according to RP2008, 0x10 should be used for a h264 byte-stream. This also fixes compatibility of our files with ffmpeg. 2015-11-20 11:18:43 +1100 Roman Nowicki * ext/qt/qtitem.cc: qml: reuse existing GstQSGTexture Fixes a memory leak leaking the texture objects. https://bugzilla.gnome.org/show_bug.cgi?id=758286 2015-11-20 11:08:37 +1100 Matthew Waters * ext/qt/gstqsgtexture.cc: qml: activate the wrapped context when binding Mitigates the following critical gst_gl_context_thread_add: assertion 'context->priv->active_thread == g_thread_self ()' failed 2015-11-19 11:55:19 +0100 Roman Nowicki * ext/qt/qtitem.cc: qml: proper initialization if scene is already initialized The scene graph can be initialized when the we receive window handle change notification and so we will not receive a scenegraph initialization notification. Initialize ourself in this case. https://bugzilla.gnome.org/show_bug.cgi?id=758337 2015-07-29 22:31:30 +0900 Jimmy Ohn * ext/dash/gstdashdemux.c: dashdemux: Add binary search for stream_sidx_seek Add binary search to optimize in stream_sidx_seek. https://bugzilla.gnome.org/show_bug.cgi?id=749653 2015-11-19 15:59:56 +0000 Florin Apostol * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: * tests/check/elements/dash_mpd.c: mpdparser: remove unused functions gst_mpdparser_get_chunk_by_index and gst_mpdparser_find_segment_by_index https://bugzilla.gnome.org/show_bug.cgi?id=758233 2015-11-19 17:24:53 +0000 Luis de Bethencourt * ext/mpeg2enc/gstmpeg2enc.cc: * ext/opencv/gstedgedetect.cpp: * ext/opencv/gstmotioncells.cpp: * ext/opencv/gsttemplatematch.cpp: * gst/dataurisrc/gstdataurisrc.c: * gst/mve/gstmvemux.c: * gst/pcapparse/gstirtspparse.c: * gst/pcapparse/gstpcapparse.c: * tests/check/elements/dataurisrc.c: docs: update gst-launch-0.10 lines Update references to gst-launch-0.10 to gst-launch-1.0 2015-11-19 10:32:03 +1100 Matthew Waters * sys/androidmedia/gstamcvideodec.c: * sys/androidmedia/gstamcvideodec.h: amcvideodec: move release_output_buffer into the sync meta Some devices only ever keep one buffer available in the GL queue resulting in multiple calls to release_output_buffer only causing one frame to be rendered. If there is a queue after amcvideodec (even playsink's small one), then multiple buffers are pushed but only a small fraction of them are actually rendered on time. The rest will either render some number of frames ahead of where they are meant to be or timeout waiting for a frame that's already been rendered. Solved by moving the release_output_buffer into the sync_meta the is pushed downstream. When downstream renders, the custom sync implementation attempts to release the current buffer (if not already released) and render. Once the frame has been rendered to the screen, the next frame is released and is hopefully available by the time the next frame is to be rendered. This fixes a perceived frame jitter in the output. 2015-11-17 15:23:17 -0800 Reynaldo H. Verdejo Pinochet * ext/audiofile/gstafsink.c: * ext/audiofile/gstafsrc.c: * ext/dash/gstmpdparser.c: * ext/gl/gstglbumper.c: * ext/gl/gstgldifferencematte.c: * ext/gl/gstglfiltershader.c: * ext/gl/gstgloverlay.c: * ext/hls/gsthlsdemux.c: * ext/kate/gstkateenc.c: * ext/kate/gstkatespu.c: * ext/kate/gstkateutil.c: * ext/libmms/gstmms.c: * ext/neon/gstneonhttpsrc.c: * ext/opus/gstopusenc.c: * ext/sndfile/gstsfsink.c: * ext/sndfile/gstsfsrc.c: * ext/spc/tag.c: * ext/timidity/gsttimidity.c: * ext/wayland/gstwaylandsink.c: * gst-libs/gst/gl/gstglfeature.c: * gst-libs/gst/gl/gstglslstage.c: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/x11/gstgldisplay_x11.c: * gst/audiovisualizers/gstwavescope.c: * gst/dvbsuboverlay/dvb-sub.c: * gst/librfb/rfbdecoder.c: * gst/mpegtsdemux/mpegtspacketizer.c: * gst/mpegtsdemux/tsdemux.c: * gst/mpegtsmux/tsmux/tsmux.c: * sys/acmenc/acmenc.c: * sys/acmmp3dec/acmmp3dec.c: * sys/applemedia/avfassetsrc.m: * sys/bluez/gsta2dpsink.c: * sys/bluez/gstavdtpsink.c: * sys/bluez/gstavdtputil.c: * sys/dshowdecwrapper/gstdshowaudiodec.cpp: * sys/dshowdecwrapper/gstdshowvideodec.cpp: * sys/dshowsrcwrapper/gstdshow.cpp: * sys/dshowsrcwrapper/gstdshowvideosrc.cpp: * sys/dshowvideosink/dshowvideosink.cpp: * sys/dvb/camswclient.c: * sys/dvb/dvbbasebin.c: * sys/dvb/parsechannels.c: * sys/pvr2d/gstpvrvideosink.c: * sys/uvch264/gstuvch264_mjpgdemux.c: * sys/vdpau/gstvdpvideomemory.c: * tests/examples/gtk/glliveshader.c: * tests/icles/metadata_editor.c: Remove unnecessary NULL checks before g_free() g_free() is NULL-safe 2015-11-11 16:11:14 +0100 Sebastian Dröge * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: mpdparser: Also allow '/' in RepresentationID Used by http://www.bok.net/dash/tears_of_steel/cleartext/stream.mpd https://bugzilla.gnome.org/show_bug.cgi?id=757903 2015-10-26 16:24:40 +0100 George Kiagiadakis * .gitignore: * configure.ac: * tests/examples/Makefile.am: * tests/examples/waylandsink/Makefile.am: * tests/examples/waylandsink/main.c: * tests/examples/waylandsink/window.ui: tests/examples: add a waylandsink example https://bugzilla.gnome.org/show_bug.cgi?id=748322 2015-11-18 12:56:06 +0100 George Kiagiadakis * ext/wayland/wlwindow.c: waylandsink: call gst_video_sink_center_rect with a destination rectangle that starts from (0,0) The intention of this code is to find the center rectangle relative to (0,0), since subsurface coordinates are relative to the parent surface. The old code used to work but was wrong and broken by http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/gst-libs/gst/video/gstvideosink.c?id=ff57f6913456ec1991e55517cf1f239e80eeddef 2015-11-16 17:25:34 +0000 Florin Apostol * ext/dash/gstmpdparser.c: dashdemux: fixed illegal memory access in gst_mpd_client_get_last_fragment_timestamp_end https://bugzilla.gnome.org/show_bug.cgi?id=758188 2015-11-16 17:25:21 +0000 Florin Apostol * tests/check/elements/dash_mpd.c: mpdparser: tests: added test for gst_mpd_client_get_last_fragment_timestamp_end The timestamp for last fragment is incorrectly retrieved if segment templates are used. https://bugzilla.gnome.org/show_bug.cgi?id=758188 2015-11-17 16:21:44 +0200 Sebastian Dröge * sys/androidmedia/gstamcvideodec.c: amcvideodec: Don't require a non-zero buffer size when doing decoding to a surface At least on some devices/Android versions the buffer size will always be zero in these cases. https://bugzilla.gnome.org/show_bug.cgi?id=758228 2015-11-17 17:17:50 +0200 Sebastian Dröge * ext/gl/gstglimagesink.c: glimagesink: Remove unused variable gstglimagesink.c: In function 'gst_glimage_sink_on_draw': gstglimagesink.c:1959:18: error: unused variable 'sync_meta' [-Werror=unused-variable] GstGLSyncMeta *sync_meta = NULL; ^ 2015-11-17 17:09:51 +0200 Sebastian Dröge * gst-libs/gst/gl/gstglviewconvert.c: glviewconvert: String literals are const gstglviewconvert.c: In function '_mangle_extensions': gstglviewconvert.c:1511:13: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers] ext_str = "#extension GL_OES_EGL_image_external : require\n"; ^ 2015-11-17 17:08:14 +0200 Sebastian Dröge * gst-libs/gst/gl/gstglsyncmeta.c: glsyncmeta: Actually return the newly created meta from gst_buffer_add_gl_sync_meta() gstglsyncmeta.c -fPIC -DPIC -o .libs/libgstgl_1.0_la-gstglsyncmeta.o gstglsyncmeta.c: In function 'gst_buffer_add_gl_sync_meta': gstglsyncmeta.c:131:1: error: control reaches end of non-void function [-Werror=return-type] } ^ 2015-11-17 16:21:10 +0200 Sebastian Dröge * sys/androidmedia/gstamcvideodec.c: amcvideodec: Fix indentation 2015-11-17 16:08:17 +1100 Alessandro Decina * sys/applemedia/vtdec.c: applemedia: vtdec: fix negotiation more Year 12: I still don't understand how negotiation works. Apparently gst_pad_query_caps doesn't do what I thought it did. To get the actual caps that can flow through vtdec:src we must call gst_pad_peer_query_caps with the template caps as filter. Fixes negotiation with stuff that doesn't understand GLMemory (hello videoscale). 2015-11-17 16:14:11 +1100 Alessandro Decina * sys/applemedia/vtdec.c: applemedia: vtdec: minor texture cache fixes Small fix on how the texture cache is cleaned up / setup in case of renegotiation 2015-11-17 16:13:00 +1100 Alessandro Decina * sys/applemedia/corevideotexturecache.m: applemedia: corevideotexturecache: stop configuring cache->convert over and over 2015-11-16 15:46:41 +1100 Matthew Waters * ext/gl/gstglimagesink.c: * ext/gl/gstglimagesink.h: * sys/androidmedia/gstamcvideodec.c: glimagesink: wait on the correct sync meta when rendering 2015-11-03 13:19:41 +1100 Matthew Waters * sys/androidmedia/Makefile.am: * sys/androidmedia/gstamc2dtexturerenderer.c: * sys/androidmedia/gstamc2dtexturerenderer.h: * sys/androidmedia/gstamcvideodec.c: * sys/androidmedia/gstamcvideodec.h: amcviddec: output external-oes textures This provides a performance and power usage improvement by removing the texture copy from an OES texture to 2D texture. The flow is as follows 1. Generate the output buffer with the required sync meta with the incrementing push counter and OES GL memory 1.1 release_output_buffer (buf, render=true) and push downstream 2. Downstream waits for on the sync meta (timed wait) or drops the frame (no wait) 2.1 Timed wait for the frame number to reach the number of frame callbacks fired 2.2 Unconditionally update the image when the wait completes (success or fail). Sets the affine transformation matrix meta on the buffer. 3. Downstream renders as usual. At *some* point through this the on_frame_callback may or may not fire. If it does fire, we can finish waiting early and render. Otherwise we have to wait for a timeout to occur which may cause more buffers to be pused into the internal GL queue which siginificantly decreases the chances of the on_frame_callback to fire again. This is because the frame callback only occurs when the internal GL queue changes state from empty to non-empty. Because there is no way to reliably correlate between the number of buffers pushed and the number of frame callbacks received, there are a number of workarounds in place. 1. We self-increment the ready counter when it falls behind the push counter 2. Time based waits as the frame callback may not be fired for a certain frame. 3. It is assumed that the device can render at speed or performs some QoS of the interal GL queue (which may not match the GStreamer QoS). It holds that we call SurfaceTexture::updateTexImage for each buffer pushed downstream however there's no guarentee that updateTexImage will result in the exact next frame (it could skip or duplicate) so synchronization is not guaranteed to be accurate although it seems to be close enough to be unable to discern visually. This has not changed from before this patch. The current requirement for synchronization is that updateTexImage is called at the point in time when the buffers is to be rendered. https://bugzilla.gnome.org/show_bug.cgi?id=757285 2015-11-02 17:57:29 +1100 Matthew Waters * gst-libs/gst/gl/gstglsyncmeta.c: * gst-libs/gst/gl/gstglsyncmeta.h: glsyncmeta: add vfuncs for all operations there could be other ways/requirements for synchronising two GPU command streams (whether GL or platform specific). e.g. glfencesync/eglwaitnative/cond/etc 2015-11-10 15:37:05 +1100 Matthew Waters * ext/gl/gstglimagesink.c: * ext/gl/gstglimagesink.h: glimagesink: add support for rendering external-oes textures https://bugzilla.gnome.org/show_bug.cgi?id=757285 2015-11-10 14:54:02 +1100 Matthew Waters * gst-libs/gst/gl/gstglviewconvert.c: * gst-libs/gst/gl/gstglviewconvert.h: glviewconvert: add support rectangle/external-oes textures https://bugzilla.gnome.org/show_bug.cgi?id=757285 2015-11-17 15:18:28 +1100 Alessandro Decina * sys/applemedia/vtdec.c: applemedia: vtdec: fix setting internal SKIP / DROP flags 2015-11-17 09:08:52 +0900 Vineeth TM * ext/gl/gstglimagesink.c: glimagesink: Fix structure memory leak https://bugzilla.gnome.org/show_bug.cgi?id=758205 2015-11-16 21:52:07 -0500 Olivier Crête * gst/autoconvert/gstautoconvert.c: autoconvert: Add support for bufferlists 2015-11-17 11:21:27 +1100 Alessandro Decina * sys/applemedia/vtdec.c: * sys/applemedia/vtdec.h: applemedia: vtdec: improve negotiation Rework negotiation implementing GstVideoDecoder::negotiate. Make it possible to switch texture sharing on and off at runtime. Useful to (eventually) turn texture sharing on in pipelines where glimagesink is linked only after decoding has already started (for example OWR). 2015-11-17 11:19:57 +1100 Alessandro Decina * sys/applemedia/vtdec.c: applemedia: vtdec: improve handing of decode errors/frame drops Improve decode error handling by avoiding calling into GstVideoDecoder from the VT decode callback. This removes contention on the GST_VIDEO_DECODER_STREAM_LOCK which used to make the decode callback slow enough for VT to start dropping lots of frames once the first frame was dropped. 2015-11-17 11:22:15 +1100 Alessandro Decina * sys/applemedia/vtdec.c: applemedia: vtdec: fix uninitialized variable warning 2015-11-14 20:21:17 +0000 Tim-Philipp Müller * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: * tests/check/elements/dash_demux.c: adaptivedemux: remove now-defunct "num-lookback-fragments" property This no longer does anything, and it was marked as CONSTRUCT_ONLY which means someone would really have to go out of their way to be able to set this, which would only be done in very custom scenarios, if ever, and those will likely target a specific version of GStreamer then, so probably not much point keeping it deprecated for a while before removing it. 2015-11-13 17:14:14 -0500 Olivier Crête * gst/autoconvert/gstautoconvert.c: autoconvert: Always give a valid reply to internal caps queries Caps queries can always have a valid reply, either the filter or ANY. If the caps are ANY, then accept-caps always returns TRUE. 2015-11-12 16:35:12 +0100 Nicolas Huet * gst/mpegtsdemux/mpegtspacketizer.c: mpegtsdemux: fix section_data leak If packet->payload_unit_start_indicator is true and pointer 0, there is no discontinuity check. Therefore there could be a previous section not complete that need to be cleared. https://bugzilla.gnome.org/show_bug.cgi?id=758010 2015-11-13 10:41:58 +0900 Vineeth TM * gst-libs/gst/gl/gstglsl.c: glsl: fix possible string overrun in gst_glsl_version_profile_from_string given a NULL-terminated string, s. s[i] = '\0'; i++; does not guarentee that s[i] is NULL terminated and thus string operations could read off the end of the array. https://bugzilla.gnome.org/show_bug.cgi?id=758039 2015-11-13 16:50:22 +1100 Matthew Waters * gst-libs/gst/gl/gstglshader.c: glshader: don't read invalid list pointers (use after free) gst_gl_shader_detach_unlocked already removes the list entry so attempting to use the element to iterate to the next stage could read invalid data. Based on patch by Vineeth TM https://bugzilla.gnome.org/show_bug.cgi?id=758039 2015-11-13 10:44:26 +0900 Vineeth TM * tests/check/libs/gstglsl.c: tests:glsl: version_profile_s string leak https://bugzilla.gnome.org/show_bug.cgi?id=758039 2015-11-13 10:56:10 +0900 Vineeth TM * gst-libs/gst/gl/gstglsl.c: glsl: free str while returning error https://bugzilla.gnome.org/show_bug.cgi?id=758039 2015-11-13 11:04:34 +0900 Vineeth TM * tests/check/libs/gstglupload.c: tests:glupload: fix caps memory leak https://bugzilla.gnome.org/show_bug.cgi?id=758039 2015-11-12 12:21:54 +0000 Luis de Bethencourt * ext/opus/gstopusenc.c: opusenc: avoid potential overflow expression The result of the two expressions will be promoted to guint64 anyway, perform all the arithmetic in 64 bits to avoid potential overflows. CID 1338690, CID 1338691 2015-11-12 12:00:07 +0000 Luis de Bethencourt * gst/mpegtsdemux/tsdemux.c: tsdemux: remove memory leak The values of channel_mapping are copied by gst_codec_utils_opus_create_caps () but it doesn't free or take ownership of the g_new0 allocated memory. This needs to be freed before going out of scope. CID 1338692 2015-11-12 11:42:36 +0000 Luis de Bethencourt * gst/mpegtsmux/mpegtsmux.c: mpegtsmux: remove unnecessary buffer check buf surely isn't NULL inside the block conditional to a buffer size bigger than (G_MAXUINT16 - 3). Plus gst_buffer_unref() checks if the buffer is NULL and does nothing if it is. CID 1338693 2015-11-12 11:23:31 +0000 Luis de Bethencourt * ext/opus/gstopusparse.c: opusparse: initialize sample rate to a default sample_rate might be used uninitialized if !sink_caps is TRUE. Initialize it to the default used in gst_codec_utils_opus_parse_caps () when there is no rate defined in the caps. CID 1338695 2015-11-12 16:36:03 +0900 Vineeth TM * gst-libs/gst/gl/gstglslstage.c: glslstage: Fix vertex_sources memory leak vertex_sources is being allocated but not freed resulting in leak https://bugzilla.gnome.org/show_bug.cgi?id=757974 2015-11-12 16:26:00 +0900 Vineeth TM * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: remove unnecessary free version_str is already being freed. So no need to call again https://bugzilla.gnome.org/show_bug.cgi?id=757974 2015-11-12 16:18:35 +0900 Vineeth TM * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: Fix string leak String got using gst_glsl_version_profile_to_string, is allocated memory and should be freed https://bugzilla.gnome.org/show_bug.cgi?id=757974 2015-11-12 16:02:45 +0900 Vineeth TM * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: Fix frag_prog and frag_body memory leak https://bugzilla.gnome.org/show_bug.cgi?id=757974 2015-11-11 16:51:23 +0000 Florin Apostol * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: fixed handling errors emitted by uri handler https://bugzilla.gnome.org/show_bug.cgi?id=757947 2015-11-10 16:32:37 +0100 Nicolas Huet * gst/mpegtsdemux/tsdemux.c: tsdemux: fix pending buffers leak when flushing https://bugzilla.gnome.org/show_bug.cgi?id=757895 2015-06-10 14:18:00 +0200 Etienne Peron * gst/mpegtsdemux/tsdemux.c: tsdemux: Fix pad leak when the pad is never exposed If tsdemux never receives data for a stream, the corresponding pad will never be added and stream->active will remain FALSE. When the stream is removed, the pad will not be unreffed and will be leaked. https://bugzilla.gnome.org/show_bug.cgi?id=757873 2015-11-09 17:45:29 +0200 Sreerenj Balachandran * gst/ivfparse/gstivfparse.c: ivfparse: Fix the wrong width & height parsing of vp9 bitstream The current implementation for detecting the resolution changes on key frames is based on vp8 bitstream alignment. Avoid this width and height parsing for vp9 bitstream, which requires proper frame header parsing inorder to detect the resolution change (Fixme). https://bugzilla.gnome.org/show_bug.cgi?id=757825 2015-11-11 11:40:52 +0100 Heinrich Fink * sys/applemedia/vtenc.c: vtenc: Set profile_level to NULL after release Otherwise, gst_vtenc_negotiate_profile_and_level will double-release as it checks for profile_level != NULL. This caused crashes when the vtenc instance is stopped and then restarted. https://bugzilla.gnome.org/show_bug.cgi?id=757935 2015-11-11 23:39:35 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: mangle gl_FragColor for GL3 Some drivers don't provide the compatibility definition and we need to provide our own 'out vec4' variable to put the results of the fragment shader into. https://bugzilla.gnome.org/show_bug.cgi?id=757938 2015-11-11 16:06:25 +0900 Vineeth TM * tests/check/libs/gstglcolorconvert.c: tests:glcolorconvert: Fix caps memory leak Output caps being got from video info is not getting freed https://bugzilla.gnome.org/show_bug.cgi?id=757929 2015-11-10 17:58:58 +1100 Matthew Waters * gst/mpegtsdemux/tsdemux.c: tsdemux: provide our own definition of log2() The log2 function/macro doesn't exist when targetting android API < 18 (or MSVC < 2013) whereas our current baseline is API 9. 2015-11-10 13:52:30 +1100 Matthew Waters * ext/gl/gstglimagesink.c: * ext/gl/gstglimagesink.h: * ext/gl/gstglstereomix.c: * gst-libs/gst/gl/gstglviewconvert.c: * gst-libs/gst/gl/gstglviewconvert.h: glviewconvert: remove set_format We need the caps to be able to 1. check the caps features 2. get the requested texture-target on input/output 2015-11-11 10:31:07 +1100 Matthew Waters * ext/gl/gstglimagesink.c: glimagesink: fix a memory leak if the view conversion fails 2015-11-11 13:37:59 +1100 Matthew Waters * ext/gl/gstglimagesink.c: glimagesink: balance the creation/destruction of the overlay compositor Fixes some leaks/possible segfault on when failing to create the compositor. 2015-11-11 12:23:30 +1100 Matthew Waters * gst-libs/gst/gl/gstglshader.c: * gst-libs/gst/gl/gstglutils.c: glshader: properly unref the stages on failure When failing in the varargs functions, all the stage objects not handled need to be unreffed to prevent a leak. 2015-11-11 11:29:35 +1100 Matthew Waters * gst-libs/gst/gl/gstglslstage.c: glslstage: properly return an error when we could not create the shader stage While it was erroring out correctly later, there were GLib warnings about setting a GError over the top of another GError. 2015-11-11 01:05:20 +1100 Matthew Waters * gst-libs/gst/gl/gstglshaderstrings.c: glshaderstrings: fixup the external-oes fragment shader The wrong sampler type was used s/sampler2DExternalOES/samplerExternalOES/ 2015-11-10 23:41:24 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: try to keep the same texture-target if possible Fixes issues attempting to passthrough external-oes textures 2015-11-10 22:41:57 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: fix rendering rectangular textures with GL3 Rectangular textures are unavailable in unextended GLES2 #version 100 shaders. Fixes texture-target=rectangle ! glcolorconvert ! texture-target=2D There's a couple of differences between GL3 and GLES2/GL - varying -> in or out depending on the stage (vertex/fragment) - attribute -> in - filtered texture access is a single function, texture() 2015-11-10 20:20:29 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: properly use the other texture-target on fixation 2015-11-10 20:15:56 +1100 Matthew Waters * gst-libs/gst/gl/gstglslstage.c: glslstage: add debug as to why _set_strings() failed 2015-11-10 20:13:53 +1100 Matthew Waters * gst-libs/gst/gl/gstglsl.c: glsl: fix check for glsl version against GL context inversion Any GLSL version that was less than the provided GL version would fail 2015-11-10 10:02:38 +0900 Vineeth TM * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: Fix pad memory leak. The static pads got from queue and uri_handler are not being freed resulting in memory leaks. https://bugzilla.gnome.org/show_bug.cgi?id=757859 2015-11-10 13:13:50 +1100 Matthew Waters * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstgl_enums.h: * gst-libs/gst/gl/gstglmemory.h: gl: forward declare some enums Specifically the GstGLTextureTarget enum 2015-11-10 13:11:37 +1100 Matthew Waters * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstglshaderstrings.c: * gst-libs/gst/gl/gstglshaderstrings.h: * gst-libs/gst/gl/gstglslstage.c: glslstage: expose the default shader strings as public Add some other simple strings for external-oes textures or transforming the texture coordinates with a transformation matrix 2015-11-06 03:05:31 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: wait on the sync meta for input buffers 2015-11-05 00:13:01 +1100 Matthew Waters * ext/gl/gstglimagesink.c: glimagesink: wait on the provided sync meta provided to glimagesink 2015-11-08 22:14:01 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.h: glcolorconvert: use the correct oes target string in the template caps 2015-11-10 12:32:39 +1100 Matthew Waters * ext/gtk/gstgtkglsink.c: gtk: add the overlaycomposition feature to the template caps There is a possibility that the _get_caps impl will be called with the feature in the filter caps which when interecting with the template, will return EMPTY and therefore fail negotiation. https://bugzilla.gnome.org/show_bug.cgi?id=757854 2015-11-10 14:21:33 +1100 Alessandro Decina * sys/applemedia/corevideotexturecache.m: applemedia: fix vtdec texture sharing on ios 9.1 Use gst_gl_sized_gl_format_from_gl_format_type to get the format passed to CVOpenGLESTextureCacheCreateTextureFromImage. Before this change extracting the second texture from the pixel buffer was failing on ios 9.1. 2015-11-06 17:24:52 -0300 Thiago Santos * tests/check/elements/templatematch.c: templatematch: add a framerate to test caps The pad template requires a framerate, so use it to prevent caps negotiation failures. Fixes the unit test 2015-11-06 20:38:56 +0000 Tim-Philipp Müller * tests/check/elements/.gitignore: tests: update .gitignore for new test binaries 2015-11-06 19:26:21 +0000 Tim-Philipp Müller * ext/assrender/gstassrender.c: assrender: don't send flush events on seeks It's for the upstream element driving the pipeline to handle seeks and send flush events or not, filters should not interfere here, otherwise downstream pads could be flushing before upstream pads are flushing, which can result in GST_FLOW_ERROR being sent instead of GST_FLOW_FLUSHING when trying to forward sticky events at just the wrong moment. 2015-11-06 16:16:32 +0100 Edward Hervey * gst/dvbsuboverlay/gstdvbsuboverlay.c: dvbsuboverlay: Don't send flush events It is up to the element handling the seek to send flush events downstream, otherwise we end up with a situation where upstream would get unexpected GST_FLOW_FLUSHING 2015-11-06 19:23:09 +0000 Tim-Philipp Müller * ext/assrender/gstassrender.c: * ext/curl/gstcurlftpsink.c: * ext/dtls/gstdtlsdec.c: * ext/smoothstreaming/gstmssmanifest.c: * gst/geometrictransform/gstmirror.c: * gst/onvif/gstrtponviftimestamp.c: Fix code indentation 2015-10-22 13:40:36 +0200 Branko Subasic * gst/onvif/gstrtponviftimestamp.c: * tests/check/elements/rtponviftimestamp.c: rtponviftimestamp: use stream time for timestamp The Onvif Streaming Specification specifies that the NTP timestamps in the Onvif extension header indicaes the absolute UTC time associated with the access unit. But by using running time we can not achieve that, since a frame's running time depends on the played interval, whether a non-flushing is done, etc. Instead we have to use the stream time. https://bugzilla.gnome.org/show_bug.cgi?id=757688 2015-11-06 09:44:57 +0100 Linus Svensson * gst/onvif/gstrtponviftimestamp.c: * gst/onvif/gstrtponviftimestamp.h: * tests/check/elements/rtponviftimestamp.c: rtponviftimestamp: Update ntp-offset and d/e-bits with a GstEvent It is now possible to update the currently used ntp-offset with a custom serialized downstream event. The element will read the ntp-offset property when doing the state transition from READY to PAUSED and use that offset until it receives a "GstNtpOffset" event, which also has a "ntp-offset" attribute in that it's structure. In case the property is not set and no event has been received, the element will guess the npt-offset with help of the clock. If no clock can be retrieved, the element will error out and stop the data flow. The same event is also used for updating the D/E-bits in the RTP extension header. The discont flag in a buffer can be set whenver a live/network source looses a frame, but that is not the type of discontinuity that the onvif extension header should reflect. The header is mainly used for playback of a track concept, in which gaps can be present, and it's those kind of gaps that should be highlighted with the D- and E-bits. https://bugzilla.gnome.org/show_bug.cgi?id=757688 2015-11-06 09:44:16 +0100 Linus Svensson * gst/onvif/gstrtponviftimestamp.c: * gst/onvif/gstrtponviftimestamp.h: * tests/check/elements/rtponviftimestamp.c: rtponviftimestamp: Do not rearange order of data If a buffer or a buffer list is cached, no events serialized with the data stream should get through. The cached buffers and events should be purged when we stop flushing. https://bugzilla.gnome.org/show_bug.cgi?id=757688 2015-10-13 14:21:47 +0200 Branko Subasic * tests/check/Makefile.am: * tests/check/elements/rtponvifparse.c: * tests/check/elements/rtponviftimestamp.c: rtponvif: split unit tests in several files Split the unit tests for rtponviftimestamp and rtponvifparse elements in separate files. Setup and cleanup the element and pads in fixures. Make the tests work with CK_FORK=no as well, by cleaning up the 'buffers' list when needed. Make unit tests work when run in valgrind by unreffing all buffers, and by not allocating any payload in RTP buffers. Since we're not doing anything with the payload part, but we're memcmp-aring the complete buffer memory, valgrind complained about non-initialized memory being used. https://bugzilla.gnome.org/show_bug.cgi?id=757688 2015-09-04 09:59:06 +0200 Philippe Normand * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: improved bitrate estimations Bitrate estimation is now handled through a queue2 element added after the source element used to download fragments. Original hlsdemux patch by Duncan Palmer https://bugzilla.gnome.org/show_bug.cgi?id=733959 2015-11-06 12:59:51 +0000 Tim-Philipp Müller * sys/dshowsrcwrapper/gstdshow.cpp: dshow: fix GList leak _remove_link() would not free the actual list nodes. 2015-11-06 12:31:09 +0000 Tim-Philipp Müller * gst-libs/gst/gl/gstglshader.c: * gst/mpegtsdemux/mpegtsparse.c: glshader, tsdemux: simplify code Jus use _delete_link() instead of _remove_link() + _free1() 2015-11-06 12:30:12 +0000 Tim-Philipp Müller * ext/gl/gstglmixerbin.c: glmixerbin: fix minor leak Don't leak removed list node. 2015-11-06 10:22:42 +0100 Thibault Saunier * ext/faac/gstfaac.c: faac: Initialize debug category soon enough Avoiding assertions 2015-11-05 10:12:41 +0000 Julian Bouzas * configure.ac: configure.ac: Added --with-hls-crypto=auto|nettle|libgcrypt|openssl option to build the source using the desired cryptographic library for HLS https://bugzilla.gnome.org/show_bug.cgi?id=755319 2015-11-06 00:48:42 +0000 Tim-Philipp Müller * ext/hls/m3u8.c: hls: m3u8: don't leak GList nodes when matching up variant lists after master list update 2015-11-05 12:36:48 +0000 Luis de Bethencourt * gst-libs/gst/base/gstaggregator.c: aggregator: use GST_STIME_FORMAT for GstClockTimeDiff No need to manually handle negative value of deadline, GST_STIME_FORMAT does exactly this. 2015-11-05 12:17:00 +0000 Luis de Bethencourt * ext/resindvd/resindvdsrc.c: resindvd: use GST_STIME_FORMAT for GstClockTimeDiff No need to use G_GINT64_FORMAT for potentially negative values of GstClockTimeDiff. Since 1.6 these can be handled with GST_STIME_FORMAT. Plus it creates more readable values in the logs. https://bugzilla.gnome.org/show_bug.cgi?id=757480 2015-11-05 12:11:19 +0100 Sebastian Dröge * ext/opus/gstopusdec.c: opusdec: Update sink pad templates We always require the channel-mapping-field. If it's 0 we require nothing else, otherwise we need channels, stream-count and coupled count to be available. 2015-11-03 19:09:33 -0800 Stefan Sauer * gst-libs/gst/base/gstaggregator.c: aggregator: don't compare templ instance pointers One can pass the PadTemplate from the element_class or the one from the factory. While they have the same content, the addresses are different. 2015-11-04 00:12:52 +0200 Sebastian Dröge * tests/check/elements/opus.c: opus: Remove invalid unit test Opus headers should never be in-band, so don't test for correct handling of that. 2015-11-04 00:12:22 +0200 Sebastian Dröge * ext/opus/gstopusenc.c: opusenc: Create an empty taglist if there is none There always have to be 2 buffers in the streamheaders, even if the comment buffer is basically empty. 2015-11-03 14:41:57 -0500 Olivier Crête * gst-libs/gst/base/gstaggregator.c: aggregator: Set to running in a single place Only set to running when the thread is actually started. 2015-11-03 14:37:26 -0500 Olivier Crête * gst-libs/gst/base/gstaggregator.c: aggregator: Document more locking 2015-11-03 19:53:00 +0200 Sebastian Dröge * gst/mpegtsdemux/tsdemux.c: tsdemux: Don't create an incomplete OpusHead but set all the other caps fields instead OpusHead is optional, the other fields are not. https://bugzilla.gnome.org/show_bug.cgi?id=757152 2015-11-03 19:51:03 +0200 Sebastian Dröge * gst/mpegtsdemux/tsdemux.c: * gst/mpegtsmux/Makefile.am: * gst/mpegtsmux/mpegtsmux.c: tsmux: Simplify Opus caps parsing by using codecutils helpers https://bugzilla.gnome.org/show_bug.cgi?id=757152 2015-11-03 14:50:53 +0200 Sebastian Dröge * ext/opus/Makefile.am: * ext/opus/gstopusdec.c: * ext/opus/gstopusdec.h: * ext/opus/gstopusenc.c: * ext/opus/gstopusheader.c: * ext/opus/gstopusheader.h: * ext/opus/gstopusparse.c: * ext/opus/gstopusparse.h: * ext/opus/gstrtpopusdepay.c: * ext/opus/gstrtpopuspay.c: opus: Add proper support for multichannel audio https://bugzilla.gnome.org/show_bug.cgi?id=757152 2015-11-03 11:41:07 +0200 Sebastian Dröge * ext/opus/gstopusparse.c: * ext/opus/gstopusparse.h: opusparse: Fix up pre-skip in OpusHead if upstream using GstAudioClippingMeta Makes transmuxing from e.g. MPEG-TS to Ogg sample accurate. https://bugzilla.gnome.org/show_bug.cgi?id=757153 2015-11-02 18:02:55 +0200 Sebastian Dröge * gst/mpegtsdemux/Makefile.am: * gst/mpegtsdemux/tsdemux.c: * gst/mpegtsmux/Makefile.am: * gst/mpegtsmux/mpegtsmux_opus.c: tsdemux/mux: Add support for GstAudioClippingMeta for Opus https://bugzilla.gnome.org/show_bug.cgi?id=757153 2015-11-02 17:33:53 +0200 Sebastian Dröge * ext/opus/gstopusdec.c: opusdec: Handle GstAudioClippingMeta instead of the pre-skip field in the OpusHead oggdemux is outputting the meta now, and only outputs if it should really apply to the current buffer. Previously we would skip N samples also if we started the decoder in the middle of the stream. https://bugzilla.gnome.org/show_bug.cgi?id=757153 2015-11-02 16:52:28 +0200 Sebastian Dröge * ext/opus/gstopusenc.c: opusenc: Add GstAudioClippingMeta to buffers that need to be clipped https://bugzilla.gnome.org/show_bug.cgi?id=757153 2015-11-02 10:30:52 +0200 Sebastian Dröge * ext/opus/gstopusenc.c: opusenc: Disable granule position calculations by the base class It is doing the wrong thing because of the Opus pre-skip: while the timestamps are shifted by the pre-skip, the granule positions are not shifted. oggmux is doing the right thing here already. https://bugzilla.gnome.org/show_bug.cgi?id=757153 2015-10-31 15:02:50 +0200 Sebastian Dröge * ext/opus/gstopusenc.c: opusenc: Add some FIXME comments about calculating padding with LPC https://bugzilla.gnome.org/show_bug.cgi?id=757153 2015-10-30 20:57:37 +0200 Sebastian Dröge * ext/opus/gstopusenc.c: * ext/opus/gstopusenc.h: opusenc: Encode exactly the amount of samples we got as input and put correct timestamps on it The first frame has lookahead less samples, the last frame might have some padding or we might have to encode another frame of silence to get all our input into the encoded data. This is because of a) the lookahead at the beginning of the encoding, which shifts all data by that amount of samples and b) the padding needed to fill the very last frame completely. Ideally we would use LPC to calculate something better than silence for the padding to make the encoding as smooth as possible. With this we get exactly the same amount of samples again in an opusenc ! opusdec pipeline. https://bugzilla.gnome.org/show_bug.cgi?id=757153 2015-10-30 20:47:20 +0200 Sebastian Dröge * ext/opus/gstopusenc.c: * ext/opus/gstopusheader.c: * ext/opus/gstopusheader.h: * ext/opus/gstopusparse.c: opusenc: Put lookahead/pre-skip into the OpusHead header https://bugzilla.gnome.org/show_bug.cgi?id=757153 2015-10-25 17:27:39 +0200 Sebastian Dröge * gst/mpegtsmux/Makefile.am: * gst/mpegtsmux/mpegtsmux.c: * gst/mpegtsmux/mpegtsmux_opus.c: * gst/mpegtsmux/mpegtsmux_opus.h: * gst/mpegtsmux/tsmux/tsmuxstream.c: * gst/mpegtsmux/tsmux/tsmuxstream.h: tsmux: Add support for Opus https://bugzilla.gnome.org/show_bug.cgi?id=757049 2015-10-24 14:27:43 +0300 Sebastian Dröge * gst/mpegtsdemux/Makefile.am: * gst/mpegtsdemux/gstmpegdesc.h: * gst/mpegtsdemux/tsdemux.c: tsdemux: Add support for Opus Code partially based on https://git.videolan.org/?p=ffmpeg.git;a=commit;h=74141f693ded2fbf75af56fff309d2db35183635 and based on the spec draft at https://wiki.xiph.org/OpusTS Makes it possible to demux http://www.obe.tv/Downloads/opus.ts https://bugzilla.gnome.org/show_bug.cgi?id=757049 2015-10-25 19:31:51 +0200 Sebastian Dröge * gst/mpegtsmux/mpegtsmux.c: tsmux: Don't leak buffer in error cases https://bugzilla.gnome.org/show_bug.cgi?id=757049 2015-10-25 19:29:53 +0200 Sebastian Dröge * gst/mpegtsmux/mpegtsmux.c: tsmux: Call prepare function for each collected buffer Not when clipping buffers, as that doesn't happen for every buffer. https://bugzilla.gnome.org/show_bug.cgi?id=757049 2015-10-25 18:09:24 +0200 Sebastian Dröge * gst-libs/gst/mpegts/gstmpegtsdescriptor.c: * gst-libs/gst/mpegts/gstmpegtsdescriptor.h: mpegtsdescriptor: Add API for creating extended descriptors and fix writing them https://bugzilla.gnome.org/show_bug.cgi?id=757049 2015-11-02 21:16:15 -0800 Stefan Sauer * ext/opencv/gsthanddetect.cpp: opencv: cast paramspec flags to fix the build for c++ All the other elements in this plugin do this already. 2015-11-03 15:05:20 +0000 Luis de Bethencourt * sys/dvb/gstdvbsrc.c: dvbsrc: use GST_STIME_ARGS for GstClockTimeDiff No need to use G_GINT64_FORMAT for potentially negative values of GstClockTimeDiff. Since 1.6 these can be handled with GST_STIME_ARGS. Plus it creates more readable values in the logs. https://bugzilla.gnome.org/show_bug.cgi?id=757480 2015-11-03 15:00:01 +0000 Luis de Bethencourt * sys/androidmedia/gstamcvideodec.c: amcvideodec: use GST_STIME_ARGS for GstClockTimeDiff No need to manually handle negative value of deadline, GST_STIME_ARGS does exactly this. 2015-11-03 10:42:40 +0000 Hyunil Park * ext/wayland/gstwaylandsink.c: waylandsink: Add exception code for setting wl_surface Waylandsink needs exception code in gst_wayland_sink_set_window_handle(). After making sink->window, User can call gst_wayland_sink_set_window_handle(). It is the user's fault, but Waylandsink needs to handle the exception, if not then sink->window is changed and rendering fails. https://bugzilla.gnome.org/show_bug.cgi?id=747482 2015-04-09 13:17:01 +0900 Hyunil Park * ext/wayland/gstwaylandsink.c: waylandsink: Add exception code for setting wl_display Waylandsink needs exception code in gst_wayland_sink_set_context(). After calling gst_wayland_sink_set_context(), below code is set. GST_ELEMENT_CLASS (parent_class)->set_context (element, context); but, If user can call onemore. It is user's fault. but waylandsink need to exception. https://bugzilla.gnome.org/show_bug.cgi?id=747482 2015-11-02 20:10:35 -0500 Olivier Crête * gst-libs/gst/base/gstaggregator.c: aggregator: Hold object lock while manipulating the segment Make sure the object lock is held when aggregator->segment is modified. 2015-11-02 19:40:28 -0500 Olivier Crête * gst/audiomixer/gstaudioaggregator.c: audioaggregator: Improve log messages Make the level of log messages saner and improve some. 2015-11-02 19:05:01 -0500 Olivier Crête * gst-libs/gst/base/gstaggregator.c: aggregator: Remove dead code This code will never be called as max>=min in all cases. If the upstream latency query returned min>max, the function already returned and all values that are added to those have max>= min. 2015-11-02 17:02:47 +0000 Luis de Bethencourt * gst/mpegtsmux/mpegtsmux.c: mpegtsmux: use GST_STIME_ARGS for GstClockTimeDiff No need to manually handle negative values of best->dts in GST_DEBUG_OBJECT. Use GST_STIME_ARGS for this. 2015-11-02 16:58:57 +0000 Luis de Bethencourt * gst-libs/gst/video/gstvideoaggregator.c: videoaggregator: use GST_STIME_ARGS for GstClockTimeDiff No need to manually handle negative values of diff, GST_STIME_ARGS does exactly this. 2015-11-02 11:17:29 +0000 Florin Apostol * ext/dash/gstmpdparser.c: dashdemux: remove unreachable code The stream->cur_seg_template is set to the lowest available segment template (representation or adaptation or period, in this order). Because the template elements are inherited, the lowest template will have all the elements the parents had, so there is no need to check the parent for an element that is not found in the child (eg initialisation or index). https://bugzilla.gnome.org/show_bug.cgi?id=752714 2015-11-02 10:48:11 +0000 Vincent Penquerc'h * tests/check/elements/dash_mpd.c: tests: add a test for MPD file duration parsing https://bugzilla.gnome.org/show_bug.cgi?id=752336 2015-11-02 10:25:38 +0000 Vincent Penquerc'h * ext/dash/gstmpdparser.c: mpdparser: add some checks to duration parsing https://bugzilla.gnome.org/show_bug.cgi?id=752336 2015-09-29 09:32:02 +0100 Florin Apostol * ext/dash/gstmpdparser.c: dashdemux: added duration format validation https://bugzilla.gnome.org/show_bug.cgi?id=752336 2015-11-02 11:21:14 +0000 Luis de Bethencourt * ext/dash/gstmpdparser.c: dashdemux: fix memory leak Free new_mpd, allocated with g_slice_new(), before going out of scope in goto error. CID 1338050 2015-11-02 20:14:11 +1100 Alessandro Decina * sys/applemedia/vtenc.c: Revert "vtenc: free input buffer ASAP" This reverts commit 6101fc57b8afac4f4e4aa742892f0d9c99d38a8c. GstVideoEncoder assumes that the input buffer is available until _finish_frame. https://bugzilla.gnome.org/show_bug.cgi?id=756951 2015-11-01 23:34:32 +0200 Sebastian Dröge * ext/opus/gstopusdec.c: opusdec: Assume 48kHz if no sample rate is given in the header 2015-10-30 20:59:41 +0200 Sebastian Dröge * ext/opus/gstopusenc.c: opusenc: Place 48kHz first in the caps For all the other sample rates the encoder will have to resample internally. 2015-11-02 12:10:44 +1100 Alessandro Decina * gst-libs/gst/gl/gstglutils.c: gstglutils: fix shader compilation on Mountain Lion Make gst_gl_context_gen_shader/_compile_shader assume GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY as the profile. Without this, the shader compiler doesn't inject the #version tag resulting in a compilation error on Mountain Lion. This is a workaround for old code using gst_gl_context_gen_shader. New code should use the gst_glsl_stage_* API directly which allows the caller to explicitly specify version/profile. 2015-10-31 18:47:39 +0100 Philippe Renon * sys/winks/gstksvideosrc.c: ksvideosrc: don't try to align current timestamp on previous timestamp this causes frames to be dropped. Based on a patch by Sebastian Dröge https://bugzilla.gnome.org/show_bug.cgi?id=748337 2015-10-31 23:28:20 +1100 Matthew Waters * gst-libs/gst/gl/gstglbufferpool.c: glbufferpool: explicitly initialize a possibly uninitialized variable The ret variable may be uninitialized and so its contents were undefined and the results were erratic (failing with glvideomixer, succeeding in other cases) P.S. No idea why gcc/clang et al never picked up on this like they normally do (probably due to some optimisation pass figuring out it's only set once...) 2015-10-29 11:38:35 +0000 Vincent Penquerc'h * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: * tests/check/elements/dash_mpd.c: mpdparser: make durations unsigned where appropriate The standard does not seem to make any particular explicit not implicit reference to the signedness of durations, and the code does not rely on such, nor on the negativity of the -1 value that's used as a placeholder when a duration property is not present in the XML. https://bugzilla.gnome.org/show_bug.cgi?id=750847 2015-10-30 15:55:19 +0000 Florin Apostol * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: dashdemux: inherit bitstreamSwitching from Period to AdaptationSet https://bugzilla.gnome.org/show_bug.cgi?id=752340 2015-08-20 18:14:36 +0100 Florin Apostol * ext/dash/gstdashdemux.c: dashdemux: marked PROP_BANDWIDTH_USAGE property as deprecated https://bugzilla.gnome.org/show_bug.cgi?id=753890 2015-10-30 15:02:35 +0000 Florin Apostol * tests/check/elements/dash_mpd.c: dashdemux: unit testing reproducing inherited segment duration overflow unit test reproducing https://bugzilla.gnome.org/show_bug.cgi?id=751832 2015-10-30 14:31:21 +0000 Florin Apostol * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: dashdemux: inherited segment URLs are ignored if they are defined again in a lower SegmentList According to the standard: "SegmentBase, SegmentTemplate and SegmentList shall inherit attributes and elements from the same element on a higher level. If the same attribute or element is present on both levels, the one on the lower level shall take precedence over the one on the higher level." gst_mpdparser_parse_segment_list_node will now discard any inherited segment URLs if the parsed element defines some too. https://bugzilla.gnome.org/show_bug.cgi?id=751832 2015-10-20 17:21:00 +0100 Florin Apostol * tests/check/elements/dash_demux.c: * tests/check/elements/fake_http_src.c: * tests/check/elements/fake_http_src.h: adaptivedemux: tests: added test for fragment download error https://bugzilla.gnome.org/show_bug.cgi?id=757361 2015-10-20 15:46:36 +0100 Florin Apostol * tests/check/elements/dash_demux.c: adaptivedemux: tests: made adaptive demux test thread safe https://bugzilla.gnome.org/show_bug.cgi?id=757361 2015-10-16 16:20:34 +0100 Florin Apostol * tests/check/elements/dash_demux.c: adaptivedemux: tests: added query test Testing if adaptive demux responds to queries. https://bugzilla.gnome.org/show_bug.cgi?id=757361 2015-10-28 11:21:14 +0000 Florin Apostol * tests/check/elements/dash_mpd.c: dashdemux: tests: added test for multiple BaseURL entries https://bugzilla.gnome.org/show_bug.cgi?id=757245 2015-09-16 10:40:33 +0100 Florin Apostol * tests/check/elements/dash_mpd.c: dashdemux: tests: added unit test for 6d1eda9391d3143b5fc633edfd94b89dbba209ab Commit 6d1eda9391d3143b5fc633edfd94b89dbba209ab fixed the period start time scaling. This patch updates the unit tests to cover that scenario. https://bugzilla.gnome.org/show_bug.cgi?id=755105 2015-10-16 17:10:11 +0100 Florin Apostol * tests/check/elements/dash_demux.c: adaptivedemux: tests: added download error test Tests adaptive demux behaviour when the uri is wrong and download does not happen. 2015-10-30 12:49:20 +0000 Florin Apostol * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: stop task on multiple download errors On multiple download errors, we stop the download task and change the src element state to NULL. https://bugzilla.gnome.org/show_bug.cgi?id=756240 2015-10-30 12:24:22 +0000 Vincent Penquerc'h * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: fix a missing lock in write to stream->last_ret https://bugzilla.gnome.org/show_bug.cgi?id=757359 2015-10-07 23:20:51 +0100 Florin Apostol * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: return error if src element cannot start https://bugzilla.gnome.org/show_bug.cgi?id=756209 2015-10-08 11:45:25 +0100 Florin Apostol * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: fixed waiting for fragment updates https://bugzilla.gnome.org/show_bug.cgi?id=756237 2015-10-08 12:35:44 +0100 Florin Apostol * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: fix header redownload in case of errors https://bugzilla.gnome.org/show_bug.cgi?id=756239 2015-10-30 00:04:12 +0000 Florin Apostol * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: release manifest lock before sending flush stop event https://bugzilla.gnome.org/show_bug.cgi?id=757337 2015-10-29 23:41:46 +0000 Florin Apostol * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: reset download_finished before starting the src element https://bugzilla.gnome.org/show_bug.cgi?id=757336 2015-10-29 23:23:05 +0000 Florin Apostol * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: release manifest lock before changing element state https://bugzilla.gnome.org/show_bug.cgi?id=757335 2015-10-30 16:38:17 +1100 Matthew Waters * sys/applemedia/corevideotexturecache.m: vtdec: fix compilation error Undefined symbols for architecture x86_64: "__gl_target_to_gst", referenced from: __do_get_gl_buffer in libgstapplemedia_la-corevideotexturecache.o 2015-10-30 15:00:23 +1100 Matthew Waters * tests/check/libs/gstglcolorconvert.c: * tests/check/libs/gstglmemory.c: * tests/check/libs/gstglupload.c: gl/tests: update for glmemory api changes 2015-10-30 14:43:23 +1100 Matthew Waters * ext/gl/gstglcolorconvertelement.c: glcolorconvert: remove unused ret variable 2015-10-30 14:40:35 +1100 Matthew Waters * gst-libs/gst/gl/gstglslstage.h: glslstage: remove typedefs from the header They are already defined in the forward decleration header and defining them more than once will give an error with OSX's clang about typedef redefinition being a C11 feature. 2015-10-30 14:38:05 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: follow the correct texture target names 2015-10-30 01:42:42 +1100 Matthew Waters * gst-libs/gst/gl/gstglupload.c: glupload: explicitly configure the texture target on the gl buffer pool If we don't, then the pool could end up allocating 2D textures when the caps explictly state they should be rectangle textures. 2015-10-30 01:27:36 +1100 Matthew Waters * gst-libs/gst/gl/gstglbufferpool.c: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: glbufferpool: add bufferpool options for the various texture targets This was chosen over relying solely on the caps as glupload needs to propose an allocation and set the texture target based on the output caps. Setting the caps in the config is currently pointless as they are overwritten in a lot of element's decide_allocation functions. This provides a mechanism for the buffer pool to be configured for a certain texture target when none has been configured. 2015-10-29 13:04:31 +1100 Matthew Waters * ext/gl/gstglcolorconvertelement.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglcolorconvert.h: * sys/applemedia/corevideotexturecache.h: * sys/applemedia/corevideotexturecache.m: * sys/applemedia/vtdec.c: glcolorconvert: add support for converting texture targets Solved with a simple shader templating mechanism and string replacements of the necessary sampler types/texture accesses and texture coordinate mangling for rectangular and external-oes textures. 2015-10-29 00:44:26 +1100 Matthew Waters * ext/gl/caopengllayersink.m: * ext/gl/gstglcolorconvertelement.c: * ext/gl/gstglimagesink.c: * ext/gl/gstgloverlay.c: * ext/gl/gstglstereomix.c: * ext/gl/gstgltestsrc.c: * gst-libs/gst/gl/gstglbufferpool.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglcolorconvert.h: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglmemory.c: * gst-libs/gst/gl/gstglmemory.h: * gst-libs/gst/gl/gstgloverlaycompositor.c: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstgluploadmeta.c: * gst-libs/gst/gl/gstglviewconvert.c: * sys/applemedia/corevideotexturecache.m: * tests/check/libs/gstglmemory.c: glmemory: add support for rectangle textures Add the various tokens/strings for the differnet texture types (2D, rect, oes) Changes the GLmemory api to include the GstGLTextureTarget in all relevant functions. Update the relevant caps/templates for 2D only textures. 2015-10-30 01:45:13 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.h: glcolorconvert: order the caps template so that RGBA is first glcolorconvert ! glcolorconvert would sometimes negotiated RGB (the first list entry) otherwise. 2015-10-30 01:16:02 +1100 Matthew Waters * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstglbufferpool.h: glbufferpool: move typedef's into the forward decleration file Otherwise, for example, clang will warn about typedef redefinitions being a C11 feature. 2015-10-16 18:36:20 +0100 Florin Apostol * tests/check/elements/fake_http_src.c: tests: fixed fake soup http src plugin The soup http src changed the way it interprets the seek segment stop value. Previously it was inclusive, now it is not (see commit 21c6da6764c0cd015e9f3c5eecba36e297187deb, bug https://bugzilla.gnome.org/show_bug.cgi?id=748316) Updated fake soup http src to also consider segment stop not inclusive. https://bugzilla.gnome.org/show_bug.cgi?id=756322 2015-10-09 14:10:52 +0100 Florin Apostol * tests/check/Makefile.am: * tests/check/elements/dash_demux.c: adaptivedemux: tests: added unit test for adaptivedemux Created a unit test for dashdemux. It relies on a fake SOUP HTTP src plugin that will feed data to dashdemux. The test controls the data to be generated and checks the correct data was received for each expected stream. https://bugzilla.gnome.org/show_bug.cgi?id=756322 2015-10-09 21:23:20 +0100 Alex Ashley * tests/check/elements/fake_http_src.c: * tests/check/elements/fake_http_src.h: tests: added fake http src plugin Added a fake http src plugin capable of generating data buffers for a request of a http url. Can be used in tests to simulate http accesses. https://bugzilla.gnome.org/show_bug.cgi?id=756322 2015-07-07 15:38:08 +0100 Alex Ashley * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: * tests/check/elements/dash_mpd.c: dashdemux: provide a default suggestedPresentationDelay If MPD@suggestedPresentationDelay is not present in the manifest, dashdemux selects the fragment closest to the most recently generated fragment. This causes a playback issue because this choice does not allow the DASH client to build up any buffer of downloaded fragments without pausing playback. This is because by definition new fragments appear on the server in real-time (e.g. if segment duration is 4 seconds, a new fragment will appear on the server every 4 seconds). If the starting playback position was n*segmentDuration seconds behind "now", the DASH client could download up to 'n' fragments faster than realtime before it reached the point where it needed to wait for fragments to appear on the server. The MPD@suggestedPresentationDelay attribute allows a content publisher to provide a suggested starting position that is behind the current "live" position. If the MPD@suggestedPresentationDelay attribute is not present, provide a suitable default value as a property of the dashdemux element. To allow the default presentation delay to be specified either using fragments or seconds, the property is a string that contains a number and a unit (e.g. "10 seconds", "4 fragments", "2500ms"). 2015-10-29 15:02:38 +0200 Sreerenj Balachandran * gst/ivfparse/gstivfparse.c: * gst/ivfparse/gstivfparse.h: ivfparse: Add vp9 support Differentiate the vp8/vp9 bitstream based on fourcc. https://bugzilla.gnome.org/show_bug.cgi?id=757251 2015-09-09 14:09:43 +0100 Florin Apostol * ext/dash/gstdashdemux.c: dashdemux: improve detection of stream language Improved the detection of stream's language if the AdaptationSet contains more than 1 ContentComponent https://bugzilla.gnome.org/show_bug.cgi?id=752367 2015-10-29 12:04:31 +0000 Vincent Penquerc'h * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: dash_mpd: restrict segment template format strings to %0[0-9]*d as per spec https://bugzilla.gnome.org/show_bug.cgi?id=751735 2015-09-09 12:36:10 +0100 Florin Apostol * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: dashdemux: segment template parsing: added support for %d Added support for %d in template identifier. Added testcases for %d, %3d, %0-4d identifier formats. 2015-10-29 11:54:34 +0000 Florin Apostol * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: dashdemux: corrected parsing of segment templates Corrected the parsing of a segment template string. Added unit tests to test the segment template parsing. All reported problems are now correctly handled. https://bugzilla.gnome.org/show_bug.cgi?id=751735 2015-10-29 11:17:48 +0000 Florin Apostol * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: dahsdemux: task is signaled to stop without stop condition being set The gst_adaptive_demux_stream_free function is trying to stop the stream's download task. For this, it signals the task. But it fails to also set the stream->download_finished = TRUE, so the task will go back to sleep and only exit when the download is finished. https://bugzilla.gnome.org/show_bug.cgi?id=755121 2015-10-28 17:02:51 +0000 Florin Apostol * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: dashdemux: fixed crash when segment timeline list is greater than segment url list When building the media segment list using a SegmentList node, the gst_mpd_client_setup_representation function will iterate through the list of S nodes and will expect to find a matching SegmentUrl node. If one does not exist, the code made an illegal memory access. https://bugzilla.gnome.org/show_bug.cgi?id=752496 2015-09-11 10:59:15 +0100 Florin Apostol * tests/check/elements/dash_mpd.c: dashdemux: unit test for missing profiles 2015-09-11 10:57:26 +0100 Vincent Penquerc'h * ext/dash/gstmpdparser.c: mpdparser: do not dereference profiles is absent These are used to apply restrictions on what the MPD file may use, so no profile means no restrictions. Besides, nothing actually uses the profiles (yet) anyway. https://bugzilla.gnome.org/show_bug.cgi?id=750869 2015-09-16 16:46:29 +0100 Florin Apostol * ext/hls/gsthlsdemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: adaptivedemux: fixed multithread support https://bugzilla.gnome.org/show_bug.cgi?id=755169 2015-10-28 16:31:39 +0000 Florin Apostol * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: dashdemux: parser rejects negative values for mediaPresentationDuration https://bugzilla.gnome.org/show_bug.cgi?id=752326 2015-10-28 16:24:01 +0000 Florin Apostol * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: dashdemux: corrected parsing of negative values into unsigned data https://bugzilla.gnome.org/show_bug.cgi?id=752429 2015-09-17 20:18:52 +0200 Víctor Manuel Jáquez Leal * gst-libs/gst/codecparsers/gsth264parser.c: codecparser: h264: initialize parsing structures Initialize to 0 these parse structures before filling them: GstH264SEIMessage, GstH264NalUnit, GstH264PPS, GstH264SPS and GstH264SliceHdr. When calling the functions which fill those structures, they may fail, leaving unitialized those structures. This situation may lead to future problems, such as a segmentation fault when freeing, for example. This patch initializes to zero these structures, before filling them. https://bugzilla.gnome.org/show_bug.cgi?id=755161 2015-09-18 10:09:26 +0200 Víctor Manuel Jáquez Leal * gst-libs/gst/codecparsers/gsth265parser.c: codecparser: h265: initialize parsing structures Initialize to 0 these parse structures before filling them: GstH265SEIMessage, GstH265NalUnit, GstH265VPS, GstH265PPS, GstH265SPS and GstH265SliceHdr. When calling the functions which fill those structures, they may fail, leaving unitialized those structures. This situation may lead to future problems, such as a segmentation fault when freeing, for example. This patch initializes to zero these structures, before filling them. https://bugzilla.gnome.org/show_bug.cgi?id=755161 2015-10-26 19:58:04 -0400 Olivier Crête * gst/audiomixer/gstaudiomixer.c: liveadder: Make latency property be a uint in millisecs This restores roughly the same behaviour as the old liveadder element. Except that the latency now also includes the output-buffer-duration. https://bugzilla.gnome.org/show_bug.cgi?id=757050 2015-09-08 14:00:54 +0100 Vincent Penquerc'h * ext/dash/gstmpdparser.c: mpdparser: forbid negative values for duration https://bugzilla.gnome.org/show_bug.cgi?id=752492 2015-10-28 15:39:07 +0000 Florin Apostol * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: dashdemux: parser rejects XMLs with negative period duration https://bugzilla.gnome.org/show_bug.cgi?id=752329 2015-10-28 15:34:29 +0000 Vincent Penquerc'h * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: mpdparser: check segment lists have either duration or timeline And add error checking along the way. Add duration where appropriate so unit tests still pass. https://bugzilla.gnome.org/show_bug.cgi?id=751650 2015-09-29 16:17:03 +0100 Vincent Penquerc'h * ext/dash/gstmpdparser.c: * tests/check/elements/dash_mpd.c: mpdparser: validate representation set identifier It must have no whitespace, and must comply with RFC 1738 when used to build a URL. https://bugzilla.gnome.org/show_bug.cgi?id=750852 2015-10-28 14:41:54 +0000 Julien Isorce * gst-libs/gst/gl/gstglslstage.c: glslstage: initialize output params to 0 before calling gl functions The client side API of the Chromium's GPU Process has asserts in debug mode that check that output params are initialized to 0. 2015-10-27 16:32:48 +0200 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Remove some dead code that could never be called Coverity CIDs #1328818, #1328819, #1328820. 2015-10-27 00:36:41 +1100 Matthew Waters * ext/gl/Makefile.am: * ext/gl/gstopengl.c: opengl: build/provide glstereomix/split on gles only systems 2015-10-26 16:51:06 +0100 George Kiagiadakis * gst/geometrictransform/geometricmath.c: * gst/geometrictransform/geometricmath.h: * gst/geometrictransform/gstbulge.c: * gst/geometrictransform/gstcircle.c: * gst/geometrictransform/gstgeometrictransform.c: * gst/geometrictransform/gstkaleidoscope.c: * gst/geometrictransform/gstmarble.c: * gst/geometrictransform/gstmarble.h: * gst/geometrictransform/gstsquare.c: * gst/geometrictransform/gststretch.c: geometrictransform: rename gemetric math functions to have their symbols namespaced Otherwise those symbols can conflict with external libraries when linking everything statically for mobile targets. Use the gst_gm_ prefix, short for gst geometric math. https://bugzilla.gnome.org/show_bug.cgi?id=756882 2015-10-26 15:30:08 +0100 George Kiagiadakis * ext/wayland/gstwaylandsink.c: waylandsink: don't advertise the local wl_display context This wl_display proxy is temporary only until waylandsink goes NULL, at which point the connection to the display is disposed. Unfortunately, if this is advertised as a GstContext, playbin will cache it and re-feed it to the sink when it goes PLAYING again, but the wl_display pointer will at that point be invalid and cause a crash. Another solution to the problem would be to also cache the GstWlDisplay object inside the GstContext, which would automatically ref-count the display connection, but I see no reason in doing that at the moment, as there are no known users of this GstContext outside waylandsink. It's probably better to avoid chasing hidden refcounts. https://bugzilla.gnome.org/show_bug.cgi?id=756567 2015-10-26 18:26:18 +1100 Matthew Waters * gst-libs/gst/gl/gstglcolorconvert.c: glcolorconvert: allow outputting multiple textures for gles3 contexts the USING_GLES2 includes all GLES3 contexts as well which does support drawing to multiple buffers. Instead make or decision solely based on whether glDrawBuffers is available or not. 2015-10-26 17:36:21 +1100 Matthew Waters * ext/gl/gstopengl.c: * gst-libs/gst/gl/gstglviewconvert.c: glviewconvert: expose the element on gles2 platforms We can do everything with gles3 however gles2 restricts us not allowing separated or frame-by-frame multiview modes due to multiple draw buffers. 2015-10-25 01:19:33 +0100 Tim-Philipp Müller * tests/check/elements/hlsdemux_m3u8.c: tests: hlsdemux_m3u: add test for master playlist with missing variant list uri https://bugzilla.gnome.org/show_bug.cgi?id=756861 2015-10-20 09:13:04 +0100 André Draszik * ext/hls/m3u8.c: hlsdemux: don't crash or leak memory on broken master playlist If a (master) playlist contains a variant list entry without a URI then during parsing of the next variant list entry we are a) leaking the entry we're currently parsing (new_list), and b) free'ing the pointer to the previous list entry (list) without updating the pointer. Hence when then adding the URI for the latest parsed entry, incorrect information is stored, as the information is used from 'list' which is not valid memory anymore, also leading to crashes. Fix this by correctly storing the new variant list entry pointer as needed. https://bugzilla.gnome.org/show_bug.cgi?id=756861 2015-09-04 11:29:08 +0100 Tim-Philipp Müller * ext/hls/gsthlsdemux.c: hlsdemux: change dispose function to finalize 2015-08-30 21:35:02 +0100 Tim-Philipp Müller * ext/hls/gsthlsdemux.c: hlsdemux: remove helper function only used once 2015-08-30 17:41:23 +0100 Tim-Philipp Müller * ext/hls/gsthlsdemux.c: hlsdemux: remove deprecated 'fragments-cache' property It's been non-functional for two cycles now, let's get rid of it. 2015-09-02 16:40:17 +0100 Tim-Philipp Müller * ext/hls/m3u8.c: hlsdemux: m3u8: move file lookup by sequence directly into code Nicer to read, two lines of code less, and also the callback function should've been a GCompareFunc that returns a gint and not a boolean (it did work correctly, was just confusing). 2015-09-01 12:48:38 +0100 Tim-Philipp Müller * ext/hls/m3u8.c: * ext/hls/m3u8.h: hlsdemux: m3u8: clean-up: remove unused argument in function call 2015-08-30 17:22:19 +0100 Tim-Philipp Müller * ext/hls/m3u8.h: hlsdemux: m3u8: clean-up: reindent header for better readability And remove duplicate define. 2015-10-23 18:58:41 +0300 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Remove empty set/get_property() We can add them again if we ever add properties. 2015-10-23 18:38:33 +0300 Sebastian Dröge * gst/mxf/Makefile.am: * gst/mxf/mxfmux.c: * gst/mxf/mxfmux.h: mxfmux: Port to GstAggregator 2015-10-22 19:20:24 +0300 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Set GC essence element UL version to 0x01 ffmpeg otherwise rejects it and the spec is not 100% clear about that. 2015-10-20 17:09:22 +0200 Santiago Carot-Nemesio * ext/srtp/gstsrtp.c: srtp: Fix critical warning trying to retrieve SSRC from a non fb message https://bugzilla.gnome.org/show_bug.cgi?id=756876 2015-10-22 19:24:34 +0300 Sebastian Dröge * gst/mxf/Makefile.am: mxf: Reorder CFLAGS and LIBS 2015-10-23 15:42:24 +0300 Sebastian Dröge * gst-libs/gst/base/gstaggregator.c: * gst-libs/gst/base/gstaggregator.h: aggregator: Add create_new_pad() vfunc to allow subclasses to override the default behaviour Not all aggregator subclasses will have a single pad template called sink_%u and might do something special depending on what the application requests. https://bugzilla.gnome.org/show_bug.cgi?id=757018 2015-10-21 19:00:41 +0300 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Set KAG size to 1 We're not aligning our output in any way, and 0 is invalid. 2015-10-21 18:58:06 +0300 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Don't let the header partition's prev_partition point forward to the footer 2015-10-21 18:32:09 +0300 Sebastian Dröge * gst/mxf/mxftypes.c: mxftypes: Fix generation of operational pattern UL 2015-10-21 18:31:43 +0300 Sebastian Dröge * tests/examples/mxf/mxfdemux-structure.c: mxfdemux-structure: Sync fakesink state with the bin to make the application work at all 2015-10-21 18:20:16 +0300 Sebastian Dröge * gst/mxf/mxfmpeg.c: mxfmpeg: h264 is always byte-stream inside MXF 2015-10-21 18:06:11 +0300 Sebastian Dröge * tests/check/elements/mxfmux.c: * tests/check/pipelines/mxf.c: mxf: Add unit tests for H264/PCM 2015-10-21 17:47:00 +0300 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Don't leak SEEK events when dropping them 2015-10-21 17:21:09 +0300 Sebastian Dröge * gst/mxf/mxfvc3.c: mxfvc3: The wrapping is the 15th byte of the essence container UL, not the 16th In other mappings it is the 16th though. 2015-10-21 17:11:03 +0300 Sebastian Dröge * gst/mxf/mxfdemux.c: mxfdemux: If seeking to the remaining parts of the file fails on EOS, consider the stream done Without this we would run this while loop forever, always seeking again for the same stream. 2015-10-21 15:07:23 +0300 Sebastian Dröge * tests/check/elements/mxfmux.c: * tests/check/pipelines/mxf.c: mxf: Properly enable unit tests again 2015-10-21 01:22:11 +0300 Sebastian Dröge * gst/mxf/mxf.c: mxf: Re-enable mxfmux element 2015-10-21 01:21:37 +0300 Sebastian Dröge * gst/mxf/mxfjpeg2000.c: mxfjpeg2000: Fix caps There is no fields field anymore. 2015-10-21 01:17:04 +0300 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Don't fail SEGMENT events 2015-10-21 01:02:46 +0300 Sebastian Dröge * gst/mxf/mxfmux.c: mxfmux: Push stream-start and caps event before segment event And don't push the caps event during instance initialization already. 2015-10-21 00:45:19 +0300 Sebastian Dröge * gst/mxf/mxfaes-bwf.c: mxfaes-bwf: Format is unsigned if it's 1 byte per channel ... not 1 byte per block. 2015-10-21 16:51:10 +0100 Luis de Bethencourt * ext/opencv/gsthanddetect.cpp: opencv: handdetect: no need to get a writable buffer No need to get a writable buffer inside cv_trans_func of opencv video filter. GstBaseTransform takes care of this. 2015-10-21 14:35:11 +0100 Tim-Philipp Müller * common: Automatic update of common submodule From b99800a to b319909 2015-10-20 17:29:42 +0300 Sebastian Dröge * configure.ac: Use new GST_ENABLE_EXTRA_CHECKS #define https://bugzilla.gnome.org/show_bug.cgi?id=756870 2015-10-21 14:26:01 +0300 Sebastian Dröge * README: * common: Automatic update of common submodule From 9aed1d7 to b99800a 2015-10-21 05:34:18 +1100 Matthew Waters * ext/gl/gstglfiltershader.c: glshaderelement: free the vertex and fragment strings on finalize Fixes a memory leak when using the vertex/fragment properties. 2015-10-21 05:33:13 +1100 Matthew Waters * sys/androidmedia/gstamcvideodec.c: androidmedia: fix build errors printf %lld instead of G_GINT64_FORMAT. Double ret variable declaration. 2015-10-21 05:00:11 +1100 Matthew Waters * ext/gl/gstglfiltershader.c: glshaderelement: remove unneeded reference to 2015-10-21 04:44:50 +1100 Matthew Waters * gst-libs/gst/gl/egl/gsteglimagememory.c: * gst-libs/gst/gl/egl/gstglcontext_egl.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglcontext.c: gl: fix usage of string.h and stdio.h functions without including the headers e.g: gstglcontext_egl.c:613:7: error: implicit declaration of function 'strcmp' [-Werror=implicit-function-declaration] if (strcmp (G_MODULE_SUFFIX, "so") == 0) 2015-10-16 07:03:06 +1100 Matthew Waters * ext/gl/gstglimagesink.c: glimagesink: create a context in NULL_READY So that it's possible for decoders et al. to request the OpenGL context in their READY_PAUSED transition with decodebin/playbin. 2015-10-16 00:34:22 +1100 Matthew Waters * sys/androidmedia/gstamcvideodec.c: * sys/androidmedia/gstamcvideodec.h: amcviddec: use gstcontext to retreive the OpenGL context 2015-04-20 13:46:58 +0200 Matthieu Bouron * sys/androidmedia/gstamc.c: * sys/androidmedia/gstamc.h: * sys/androidmedia/gstamcvideodec.c: androidmedia: Only allow GL output if the decoder has unknown color formats If GST_AMC_IGNORE_UNKNOWN_COLOR_FORMATS is set to yes, non-GL output is still allowed. https://bugzilla.gnome.org/show_bug.cgi?id=731204 2014-06-05 10:33:56 +0200 Matthieu Bouron * sys/androidmedia/Makefile.am: * sys/androidmedia/gstamc.c: * sys/androidmedia/gstamc.h: * sys/androidmedia/gstamc2dtexturerenderer.c: * sys/androidmedia/gstamc2dtexturerenderer.h: * sys/androidmedia/gstamcaudiodec.c: * sys/androidmedia/gstamcsurface.c: * sys/androidmedia/gstamcsurface.h: * sys/androidmedia/gstamcsurfacetexture.c: * sys/androidmedia/gstamcsurfacetexture.h: * sys/androidmedia/gstamcvideodec.c: * sys/androidmedia/gstamcvideodec.h: * sys/androidmedia/gstamcvideoenc.c: * sys/androidmedia/gstjniutils.c: * sys/androidmedia/gstjniutils.h: * sys/androidmedia/org/freedesktop/gstreamer/androidmedia/GstAmcOnFrameAvailableListener.java: androidmedia: Add support for GL output in amcvideodec https://bugzilla.gnome.org/show_bug.cgi?id=731204 2015-04-30 12:33:58 +0200 Matthieu Bouron * sys/androidmedia/gstamcvideodec.c: androidmedia: Do not flush codec if it is not started 2015-04-13 13:10:10 +0200 Matthieu Bouron * sys/androidmedia/gstjniutils.c: androidmedia: Allow object to be NULL in gst_amc_jni_*unref functions 2015-03-13 16:13:08 +0100 Edward Hervey * sys/androidmedia/gstamc.c: * sys/androidmedia/gstamcvideoenc.c: androidmedia: Fix debug statement (%d for a gsize argument) 2015-04-02 16:28:14 +0200 Matthieu Bouron * sys/androidmedia/gstamcvideodec.c: androidmedia: Improve color format debug messages 2015-03-31 16:24:40 +0200 Matthieu Bouron * sys/androidmedia/gstamc.c: androidmedia: Improve debug messages 2015-03-31 17:48:59 +0200 Matthieu Bouron * sys/androidmedia/gstamc.c: androidmedia: Do not warn we do not support COLOR_FormatSurface 2015-10-21 03:59:33 +1100 Matthew Waters * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstglshadervariables.c: * gst-libs/gst/gl/gstglshadervariables.h: gl: remove unneeded shader variable parsing code 2015-10-21 03:23:30 +1100 Matthew Waters * ext/gl/gstglfiltershader.c: * ext/gl/gstglfiltershader.h: glshaderelement: implement setting arbitrary uniforms Currently float and int are supported by default. vec2, vec3, vec4 and mat4 are supported if graphene is used. Of course if one wants to set custom uniforms they can also be set using the create-shader signal. 2015-10-20 12:24:11 +0100 Luis de Bethencourt * ext/opencv/gsthanddetect.cpp: opencv: handdetect: free best_r with delete best_r is a cv::Rect, so it should be freed with delete and not with g_free() 2015-10-20 12:08:59 +0100 Luis de Bethencourt * ext/opencv/gstmotioncells.cpp: opencv: motioncells: remove unnecessary check We know that the gchar arrays contain at least one string. Furthermore, g_strfreev() checks if the array is NULL and simply returns if it is. Hence, there is no need to check if the array is empty before using g_strfreev(). CID 1327412-1327415 2015-07-08 17:17:12 +0200 Edward Hervey * ext/hls/m3u8.c: * ext/hls/m3u8.h: hls/m3u8: Update current position in all cases In order to ensure the sequence_position will always be consistently updated, store the current file duration. This way, when we advance, we can always increment the position based on what was previously outputted. https://bugzilla.gnome.org/show_bug.cgi?id=752132 2015-10-14 18:35:00 +0200 plamot * sys/dshowvideosink/dshowvideosink.cpp: dshowvideosink: Fix 64bit compatibility issue SetWindowLong works only for 32 bit systems, thus windows events (move/resize) where not interpreted on 64 bit systems https://bugzilla.gnome.org/show_bug.cgi?id=756617 2015-10-19 15:15:30 +1100 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * ext/gl/gstglimagesink.c: * ext/gtk/gtkgstglwidget.c: * ext/qt/qtitem.cc: * gst-libs/gst/gl/android/gstglwindow_android_egl.h: * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h: * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h: * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h: * gst-libs/gst/gl/eagl/gstglcontext_eagl.h: * gst-libs/gst/gl/eagl/gstglwindow_eagl.h: * gst-libs/gst/gl/egl/gstglcontext_egl.c: * gst-libs/gst/gl/egl/gstglcontext_egl.h: * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstglcontext.h: * gst-libs/gst/gl/gstgldisplay.c: * gst-libs/gst/gl/gstglshader.c: * gst-libs/gst/gl/gstglshader.h: * gst-libs/gst/gl/gstglsl.c: * gst-libs/gst/gl/gstglslstage.c: * gst-libs/gst/gl/gstglsyncmeta.c: * gst-libs/gst/gl/gstglviewconvert.c: * gst-libs/gst/gl/gstglwindow.c: * gst-libs/gst/gl/gstglwindow.h: * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h: * gst-libs/gst/gl/win32/gstglcontext_wgl.h: * gst-libs/gst/gl/win32/gstglwindow_win32.h: * gst-libs/gst/gl/win32/gstglwindow_win32_egl.h: * gst-libs/gst/gl/x11/gstglcontext_glx.h: * gst-libs/gst/gl/x11/gstglwindow_x11.h: gl: be consistent in gobject boilerpate GST_GL_IS_* vs GST_IS_GL_* git grep -l 'GST_GL_IS_' | xargs sed -i 's/GST_GL_IS_/GST_IS_GL_/g' 2015-10-19 15:02:10 +1100 Matthew Waters * .gitignore: add glliveshader program to .gitignore 2015-10-17 12:48:11 -0700 Reynaldo H. Verdejo Pinochet * gst/pnm/gstpnmdec.c: pnmdec: drop frame in case of _handle() failure Allows baseclass to handle it from there Related to: https://bugzilla.gnome.org/show_bug.cgi?id=756563 2015-10-17 01:51:24 -0700 Reynaldo H. Verdejo Pinochet * gst/pnm/gstpnmdec.c: * gst/pnm/gstpnmdec.h: pnmdec: propagate input state after parsing Store and copy input state fields when setting the output state of the decoder. Avoids problems like the framerate set by an upstream element being ignored Related to: https://bugzilla.gnome.org/show_bug.cgi?id=756563 2015-10-16 20:45:42 -0700 Reynaldo H. Verdejo Pinochet * gst/pnm/gstpnmdec.c: pnmdec: completely reset parsing state at flush Makes sure the mngr struct reflects a clean state for the next frame, avoiding failures like: https://bugzilla.gnome.org/show_bug.cgi?id=756563 2015-10-17 15:26:46 +1100 Matthew Waters * ext/gl/gstglfiltershader.c: * ext/gl/gstglfiltershader.h: * tests/examples/gtk/glliveshader.c: glshaderelement: implement on-demand create-shader signalling One may not have an GstGLContext available or current in the thread where one would need to update the shader. Support this by signalling create-shader whenever the one-shot 'update-shader' is set to TRUE. 2015-10-17 02:42:47 +1100 Matthew Waters * ext/gl/caopengllayersink.m: gl/calayer: don't leak a gl shader object We will always overwrite the ca_sink->redisplay_shader without freeing the object. 2015-10-17 02:40:50 +1100 Matthew Waters * ext/gtk/gstgtkbasesink.c: gtk: separate out the widget/window destroy callbacks Fixes assertion due to the sink_finalize() being run before the widget destroy callback. https://bugzilla.gnome.org/show_bug.cgi?id=755969 2015-10-17 01:08:29 +1100 Matthew Waters * tests/examples/gtk/Makefile.am: * tests/examples/gtk/glliveshader.c: gl/examples: add a live shader demo using the new GstGLSLStage Implemented with videotestsrc ! glshader ! glupload ! gtkglsink Errors on an invalid shader compilation are ignored however any error provided by the glsl compiler is printed to stdout. 2015-10-16 00:23:56 +0200 Miguel París Díaz * ext/srtp/gstsrtpdec.c: srtpdec: skip padding when mapping RTP packets https://bugzilla.gnome.org/show_bug.cgi?id=756653 2015-10-14 19:32:07 +0300 Sebastian Dröge * sys/androidmedia/gstamcvideodec.c: amcvideodec: Properly forward the return value of gst_video_decoder_negotiate() https://bugzilla.gnome.org/show_bug.cgi?id=756578 2015-10-14 19:24:22 +0300 Sebastian Dröge * sys/androidmedia/gstamc.c: * sys/androidmedia/gstamcvideodec.c: amcvideodec: Implement support for COLOR_QCOM_FormatYVU420SemiPlanar32mMultiView for decoding https://bugzilla.gnome.org/show_bug.cgi?id=756578 2015-10-16 02:57:19 +1100 Matthew Waters * gst-libs/gst/gl/gstglslstage.c: glslstage: add brackets around pointer dereference referencing an array While technically, i is always 0 and *vertex_sources[i++] is equivalant to (*vertex_sources)[i++]. Be future-proof in the case of code moves/changes/etc. CID 1327406 2015-10-15 23:47:11 +1100 Matthew Waters * ext/gl/caopengllayersink.m: gl/caopengllayersink: port to new GstGLShader API fixes build error: "undefined symbols for architecture: gst_gl_shader_compile_with_default_vf_and_check" 2015-10-15 22:42:26 +1100 Matthew Waters * tests/check/libs/gstglcontext.c: gl/tests: port glcontext test to opengl Now uses vao's and vbo's when possible like the rest of the gstgl library. 2015-09-04 16:16:51 +1000 Matthew Waters * ext/gl/gstglfiltershader.c: * ext/gl/gstglfiltershader.h: glshader: port element to GstGLSLStage - Provide a shader property to set the full shader pipeline - Provide vertex and fragment properties for just providing simple shader sources. 2015-09-04 16:02:32 +1000 Matthew Waters * ext/gl/effects/gstgleffectidentity.c: * ext/gl/gstglcolorscale.c: * ext/gl/gstgldifferencematte.c: * ext/gl/gstgleffects.c: * ext/gl/gstglimagesink.c: * ext/gtk/gtkgstglwidget.c: * gst-libs/gst/gl/gstgloverlaycompositor.c: * gst-libs/gst/gl/gstglshader.c: * gst-libs/gst/gl/gstglshader.h: * gst-libs/gst/gl/gstglutils.c: * tests/check/libs/gstglcontext.c: * tests/check/libs/gstglupload.c: glshader: port to using GstGLSLStage objects for string management A GstGLShader is now simply a collection of stages that are compiled and linked together into a program. The uniform/attribute interface has remained the same. 2015-09-04 14:36:47 +1000 Matthew Waters * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstgl_fwd.h: * gst-libs/gst/gl/gstglslstage.c: * gst-libs/gst/gl/gstglslstage.h: glsl: add a shader stage object GstGLSLStage Represents a stage (vertex, geometry, fragment, etc) in the shader pipeline. 2015-09-04 00:09:09 +1000 Matthew Waters * gst-libs/gst/gl/gstglshadervariables.h: gl/shader/variables: include generic gl.h header Otherwise we may miss some forward declarations Fixes build error: undefined reference to GstGLSLStage 2015-08-20 15:11:06 +1000 Matthew Waters * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gstglsl.c: * gst-libs/gst/gl/gstglsl.h: * gst-libs/gst/gl/gstglsl_private.h: * tests/check/Makefile.am: * tests/check/libs/.gitignore: * tests/check/libs/gstglsl.c: gl: add some GLSL utility functions Specifically parsing/setting GLSL versions and the shader related function table. 2015-10-14 22:51:29 +0200 Paul Arzelier * ext/dtls/gstdtlscertificate.c: dtls: Fix name conflict with openssl on win32 https://bugzilla.gnome.org/show_bug.cgi?id=756592 2015-09-04 18:40:18 -0300 Thiago Santos * ext/hls/m3u8.c: hls: if media sequence is not specified, use 0 Allows playlists that are missing the mediasequence information to be correctly parsed. If the playlist was updated without reseting the mediasequence it would constantly increase over subsequent updates, leading to issues during playback. 2015-08-30 14:56:57 +0200 George Kiagiadakis * ext/wayland/gstwaylandsink.c: waylandsink: fix fallback buffer allocation Copy-paste mistake; the wl_buffer was attached on the wrong buffer... 2015-08-30 14:55:11 +0200 George Kiagiadakis * ext/wayland/gstwaylandsink.c: * ext/wayland/wldisplay.c: * ext/wayland/wldisplay.h: waylandsink: rename GstWlDisplay::formats array to shm_formats These formats are specific to the wl_shm interface. We are going to add dmabuf formats later as well. 2015-08-29 22:29:17 +0200 George Kiagiadakis * ext/wayland/Makefile.am: * ext/wayland/wlshmallocator.c: * ext/wayland/wlshmallocator.h: waylandsink: replace the custom GstWlShmMemory with GstFdMemory 2015-10-14 19:53:34 +0300 Sebastian Dröge * po/POTFILES.in: po: Update POTFILES.in for OpenCV C++ file rename 2015-10-14 17:41:05 +0200 Edward Hervey * ext/hls/m3u8.c: hls: Allow debugging of the playlist Helps debugging issues 2015-10-14 17:38:39 +0200 Edward Hervey * ext/hls/gsthlsdemux.c: hlsdemux: Avoid negative sequence numbers For live streams, we want to make sure there's a certain distance between the sequence to play and the last (earliest) fragment. The problem is that it assumes there are at least 3 fragments in the playlist, which might not always be the case (like in the case of a server restarting and gradually adding fragments). In order to avoid ending up with negative sequence numbers (which will just loop forever), limit the new target sequence number to the highest of: * either the first sequence number of the playlist (fallback) * or 3 fragments from the last one (standard behaviour) 2015-10-14 15:30:05 +0100 Luis de Bethencourt * ext/opencv/Makefile.am: * ext/opencv/gstopencvutils.cpp: * ext/opencv/gstopencvvideofilter.cpp: * ext/opencv/gsttemplatematch.cpp: opencv: switch remaining to C++ Switch remaining C files to C++ for consistency with other OpeCV elements, and support of the new 2.4.11 API. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-14 10:31:23 +0300 Sebastian Dröge * ext/dash/gstmpdparser.c: mpdparser: Set default last_byte_pos to -1 The value is optional in the range, and if it is absent it means we should download until the end of stream. Not until position 0. https://bugzilla.gnome.org/show_bug.cgi?id=748316 2015-10-14 10:34:58 +0300 Sebastian Dröge * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: HTTP ranges are inclusive, GStreamer segment.stop is exclusive Translate the values accordingly. https://bugzilla.gnome.org/show_bug.cgi?id=748316 2015-10-14 14:34:32 +0100 Luis de Bethencourt * ext/opencv/Makefile.am: * ext/opencv/gstmotioncells.cpp: * ext/opencv/gstmotioncells.h: * ext/opencv/motioncells_wrapper.cpp: * ext/opencv/motioncells_wrapper.h: opencv: motioncells: Switch to C++ Switch gstmotioncells to C++ for consistency with other OpenCV elements, and support of the new 2.4.11 API. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-14 22:35:26 +1100 Matthew Waters * Makefile.am: build: add liveadder directory to the cruft list So that we can remove it and avoid duplicate GstLiveAdder GType registrations. 2015-10-13 12:40:04 +0200 Guillaume Desmottes * gst-libs/gst/gl/gstgldebug.c: gl: fix leak in gst_gl_insert_debug_marker() The string allocated by g_vasprintf() was leaked. Reproduced using the validate.file.compositor.simple.play_15s.synchronized validate scenario. https://bugzilla.gnome.org/show_bug.cgi?id=756492 2015-10-12 11:07:32 +0100 Tim-Philipp Müller * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faac.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-fragmented.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gmedec.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-mimic.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mpg123.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-neon.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-opencv.xml: * docs/plugins/inspect/plugin-opus.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-zbar.xml: docs: update to git https://bugzilla.gnome.org/show_bug.cgi?id=756424 2015-10-12 09:36:29 +0100 Tim-Philipp Müller * gst/audiomixer/gstaudiomixer.c: liveadder: latency property is an uint64 in audiomixer 2015-10-11 23:44:25 +0100 Luis de Bethencourt * ext/opencv/Makefile.am: * ext/opencv/gsttextoverlay.cpp: textoverlay: Switch to C++ Switch gsttextoverlay to C++ for consistency with other OpenCV elements, and support of the new 2.4.11 API. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-11 21:54:30 +0100 Luis de Bethencourt * ext/opencv/Makefile.am: * ext/opencv/gstpyramidsegment.cpp: opencv: pyramidsegment: Switch to C++ Switch gstpyramidsegment to C++ for consistency with other OpenCV elements, and support of the new 2.4.11 API. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-05 00:55:36 +0100 Olivier Crête * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/inspect/plugin-liveadder.xml: * gst/audiomixer/gstaudiomixer.c: * gst/liveadder/Makefile.am: * gst/liveadder/liveadder.c: * gst/liveadder/liveadder.h: liveadder: Remove plugin, replace by compat subclass of audiomixer New subclass with a similar behaviour as the old liveadder, but a slightly different API as the latency is in nanoseconds, not milliseconds. Also, the new liveadder has a effective latency that is latency + output-buffer-duration. In practice, just setting a non-zero latency with the new audiomixer gives you the right behavior in 99% of the cases. 2015-10-11 10:00:43 +0100 Julien Isorce * configure.ac: * ext/dash/Makefile.am: dashdemux: fix undefined reference to gst_ntp_clock_new Found with gst-inspect-1.0 -b in gst-uninstalled env. https://bugzilla.gnome.org/show_bug.cgi?id=756383 2015-10-10 17:52:23 +0100 Luis de Bethencourt * ext/opencv/Makefile.am: * ext/opencv/gstcvsobel.cpp: cvsobel: Switch to C++ Switch gstcvlsobel to C++ for consistency with other OpenCV elements, and support of the new 2.4.11 API. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-10 17:00:55 +0100 Luis de Bethencourt * ext/opencv/Makefile.am: * ext/opencv/gstcvlaplace.cpp: cvlaplace: Switch to C++ Switch gstcvlaplace to C++ for consistency with other OpenCV elements, and support of the new 2.4.11 API. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-10 16:57:36 +0100 Luis de Bethencourt * ext/opencv/Makefile.am: * ext/opencv/gstcvequalizehist.cpp: cvequalizehist: Switch to C++ Switch gstcvequalizehist to C++ for consistency with other OpenCV elements, and support of the new 2.4.11 API. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-10 14:10:32 +0100 Luis de Bethencourt * ext/opencv/Makefile.am: * ext/opencv/gstcvdilateerode.cpp: * ext/opencv/gstcverode.cpp: cverode: Switch to C++ Switch gstcverode to C++ for consistency with other OpenCV elements, and support of the new 2.4.11 API. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-08 14:46:10 -0700 Reynaldo H. Verdejo Pinochet * sys/dvb/parsechannels.c: dvb: simplify ZAP file format parser Simplify state handing, drop unneeded local vars, etc. 2015-10-07 14:22:46 +0100 Florin Apostol * ext/dash/gstmpdparser.c: dashdemux: fixed has_next_period gst_mpd_client_has_next_period now calls gst_mpd_client_setup_media_presentation to refresh the period information. https://bugzilla.gnome.org/show_bug.cgi?id=756186 2015-10-07 08:48:15 +0900 Vineeth TM * gst/audiomixer/gstaudioaggregator.c: audioaggregator: Fix build error Build error due to wrong argument type in debug message aagg->priv->offset and next_offset are of type int64, but uint64 formatter is being used in logs. Changing all those to int64 https://bugzilla.gnome.org/show_bug.cgi?id=756065 2015-10-06 21:23:11 +0530 Nirbheek Chauhan * ext/gl/gstglvideomixer.c: glvideomixer: Proxy the ignore-eos videoaggregator property as well Identical to how the z-order property is proxied 2015-10-05 11:21:07 +0900 Vineeth TM * gst/id3tag/id3tag.c: id3tag: fix sample memory leak When getting sample from taglist, the memory is not being freed resulting in memory leak. https://bugzilla.gnome.org/show_bug.cgi?id=756070 2015-10-01 11:18:52 +0200 Havard Graff * ext/rtmp/gstrtmpsrc.c: rtmpsrc: plug memory-leaks https://bugzilla.gnome.org/show_bug.cgi?id=756001 2015-10-02 22:57:27 +0300 Sebastian Dröge * ext/resindvd/resindvdbin.c: * ext/resindvd/resindvdbin.h: * ext/resindvd/resindvdsrc.c: * ext/resindvd/resindvdsrc.h: resindvd: Port to new GLib mutex/cond API 2015-10-02 22:24:19 +0300 Sebastian Dröge * configure.ac: * ext/hls/m3u8.c: * ext/libde265/libde265-dec.c: * gst-libs/gst/glib-compat-private.h: * gst/videomeasure/gstvideomeasure_ssim.c: Update GLib dependency to 2.40.0 2015-10-02 19:02:26 +0100 Vanessa Chipirrás Navalón * ext/opencv/Makefile.am: * ext/opencv/gstcvdilate.cpp: cvdilate: Change gstcvdilate to C++ Change the gstcvdilate.c file extension to cpp and add it into Makefile for consistency with other elements of opencv and because Opencv not support C language in new API 2.4.11. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-02 18:50:45 +0100 Vanessa Chipirrás Navalón * ext/opencv/Makefile.am: * ext/opencv/gstskindetect.cpp: skindetect: Change gstskindetect to C++ Change the file extension to cpp and add it into Makefile for consistency with other elements of opencv and because Opencv not support C language in new API 2.4.11. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-08-31 17:43:26 +0200 Vanessa Chipirrás Navalón * ext/opencv/gstopencvutils.h: opencvutils: add extern C, for the opencv elements work. Adding G_BEGIN_DECLS and G_END_DECLS to gstopencvutils.h to allow C-style linking. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-02 18:40:43 +0100 Luis de Bethencourt * ext/opencv/gstretinex.cpp: retinex: use OpenCV namespace As part of the switch to C++, use the new OpenCV functions. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-02 18:10:32 +0100 Vanessa Chipirrás Navalón * ext/opencv/Makefile.am: * ext/opencv/gstcvsmooth.cpp: cvsmooth: port to C++ Change the file extension to cpp and add it into Makefile for consistency with other elements of opencv and because Opencv not support C language in new API 2.4.11. https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-02 17:48:47 +0100 Vanessa Chipirrás Navalón * ext/opencv/Makefile.am: * ext/opencv/gstretinex.cpp: retinex: Change retinex to C++ Change the gstretinex.c file to cpp and add it into Makefile. It is necessary to migrate the retinex element to C++, because new Opencv API leaves obsolete functions like cvSmooth. This element uses this function. You can see in this link: http://docs.opencv.org/modules/imgproc/doc/filtering.html? highlight=cvsmooth#void cvSmooth(const CvArr* src, CvArr* dst, int smoothtype, int size1, int size2, double sigma1, double sigma2) https://bugzilla.gnome.org/show_bug.cgi?id=754148 2015-10-02 17:18:33 +0100 Vanessa Chipirrás Navalón * ext/opencv/gsthanddetect.cpp: * ext/opencv/gsthanddetect.h: handdetect: remove another unused variable Memory is reserved for this variable and then released without making any use of it. https://bugzilla.gnome.org/show_bug.cgi?id=752528 2015-10-02 17:02:42 +0100 Luis de Bethencourt * ext/opencv/gsthanddetect.cpp: * ext/opencv/gsthanddetect.h: handdetect: CvPoint values changed from uint to int The x and y values of CvPoint changed from unsigned to signed integers in OpenCV 2.4.11. https://bugzilla.gnome.org/show_bug.cgi?id=752528 2015-10-02 16:22:36 +0100 Luis de Bethencourt * ext/opencv/gsthanddetect.cpp: * ext/opencv/gsthanddetect.h: handdetect: need to migrate to C++ The cascade classifier changes its structure on new version of OpenCV 2.4.11. It is need to migrate to C++ to utilize the new load method of OpenCV which allows to load the old and new classifiers. https://bugzilla.gnome.org/show_bug.cgi?id=752528 2015-10-02 16:01:29 +0100 Luis de Bethencourt * ext/opencv/Makefile.am: * ext/opencv/gsthanddetect.cpp: handdetect: Change gsthanddetect to C++ Change the gsthanddetect.c file to cpp and add it into Makefile. It is necessary to migrate the handdetect plugin to C++, in order to load new and old classifiers, to make handdetect work with newer versions of Opencv. https://bugzilla.gnome.org/show_bug.cgi?id=752528 2015-10-02 17:05:11 +0200 Polochon_street * ext/dtls/gstdtlsdec.c: dtls: fix printf format on win32 2015-08-20 16:03:29 +0900 Vineeth TM * gst/inter/gstintertest.c: * tests/examples/camerabin2/gst-camerabin2-test.c: * tests/examples/codecparsers/parse-jpeg.c: * tests/examples/gl/gtk/fxtest/fxtest.c: * tests/examples/gl/gtk/fxtest/pixbufdrop.c: * tests/examples/opencv/gstfacedetect_test.c: * tests/examples/playout.c: * tools/gst-app-maker: gstreamer: bad: Fix memory leaks when context parse fails When g_option_context_parse fails, context and error variables are not getting free'd which results in memory leaks. Free'ing the same. And replacing g_error_free with g_clear_error, which checks if the error being passed is not NULL and sets the variable to NULL on free'ing. https://bugzilla.gnome.org/show_bug.cgi?id=753854 2015-06-25 19:17:36 +0200 Arnaud Vrac * ext/assrender/gstassrender.c: assrender: optimize blending Skip empty source pixels when blending an image. There can be hundreds of images to blend at each frame, so this brings a nice performance boost. https://bugzilla.gnome.org/show_bug.cgi?id=753821 2015-08-19 17:18:31 +0200 Arnaud Vrac * ext/assrender/gstassrender.c: * ext/assrender/gstassrender.h: assrender: Use the window size from downstream This allows rendering the overlay at a resolution matching the video resolution. https://bugzilla.gnome.org/show_bug.cgi?id=753824 2014-09-04 18:16:00 +0200 Arnaud Vrac * ext/assrender/gstassrender.c: * ext/assrender/gstassrender.h: assrender: Improve negotiation This is mostly a copy/paste of the negotiation function in basetextoverlay, which was improved recently to handle many more cases. This will allow us to negotiate a window size with downstream. https://bugzilla.gnome.org/show_bug.cgi?id=753824 2015-08-19 13:44:35 +0200 Arnaud Vrac * configure.ac: * ext/assrender/gstassrender.c: assrender: render the subtitles with the proper aspect This bumps the libass version requirement to 0.10.2. https://bugzilla.gnome.org/show_bug.cgi?id=753824 2015-09-07 16:20:42 +0100 Florin Apostol * tests/check/elements/dash_mpd.c: dashdemux: test: added unit test for presentation time offset https://bugzilla.gnome.org/show_bug.cgi?id=752409 2015-09-30 10:27:06 -0700 Aleix Conchillo Flaqué * configure.ac: dtls: require openssl >= 1.0.1 https://bugzilla.gnome.org/show_bug.cgi?id=755892 2015-10-02 14:46:59 +0200 Paul Arzelier * ext/dtls/gstdtlsenc.c: dtls: fix printf format on win32 https://bugzilla.gnome.org/show_bug.cgi?id=755981 2015-09-30 11:00:39 +0800 John Chang * ext/dash/gstisoff.c: dashdemux: Correctly assign earliest pts instead of overriding it with first offset https://bugzilla.gnome.org/show_bug.cgi?id=755824 2015-09-15 03:14:37 +1000 Matthew Waters * configure.ac: * ext/qt/gstplugin.cc: * ext/qt/gstqsgtexture.h: * ext/qt/gstqtsink.cc: * ext/qt/qtitem.cc: * ext/qt/qtitem.h: qt: add support for building on osx/ios Including: - Necessary configure checks - Necessary compile time platform checks - Necessary runtime qt iOS/OSX platform detection https://bugzilla.gnome.org/show_bug.cgi?id=755100 2015-09-28 11:29:29 +0100 John Slade * ext/rtmp/gstrtmpsrc.c: rtmpsrc: Fix indentation with gst-indent https://bugzilla.gnome.org/show_bug.cgi?id=755732 2015-10-02 11:31:50 +0300 Sebastian Dröge * gst/audiovisualizers/Makefile.am: audiovisualizers: Fix nodist_HEADERS 2015-10-02 14:56:41 +1000 Jan Schmidt * tests/check/Makefile.am: * tests/check/elements/baseaudiovisualizer.c: Remove baseaudiovisualizer test. The base class has moved into gst-plugins-base 2015-09-30 19:05:35 +0200 Sebastian Dröge * gst-libs/gst/base/gstaggregator.c: aggregator: Convert GST_ERROR_OBJECT() for seek events to GST_DEBUG_OBJECT() 2015-09-30 19:03:05 +0200 Sebastian Dröge * gst-libs/gst/base/gstaggregator.c: aggregator: For the start time selection, only set the segment position segment.time and segment.start can stay the same, and were always the same before anyway because of a mistake. https://bugzilla.gnome.org/show_bug.cgi?id=755623 2015-09-30 19:01:21 +0200 Sebastian Dröge * gst/audiomixer/gstaudioaggregator.c: audioaggregator: Select the initial offset based on the start segment position instead of always using 0. Otherwise we might output a lot of silence in the beginning instead of outputting from the relevant position. https://bugzilla.gnome.org/show_bug.cgi?id=755623 2015-10-01 15:35:37 +0100 Luis de Bethencourt * docs/plugins/Makefile.am: * gst/audiovisualizers/Makefile.am: * gst/audiovisualizers/gstaudiovisualizer.c: * gst/audiovisualizers/gstaudiovisualizer.h: * gst/audiovisualizers/gstspacescope.h: * gst/audiovisualizers/gstspectrascope.h: * gst/audiovisualizers/gstsynaescope.h: * gst/audiovisualizers/gstwavescope.h: audiovisualizers: merge audiovisualizer base classes These plugins now use the audiovisualizer base class in pbutils https://bugzilla.gnome.org/show_bug.cgi?id=742875 2015-10-02 01:01:42 +1000 Matthew Waters * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gl.h: * gst-libs/gst/gl/gstglcontext.c: * gst-libs/gst/gl/gstgldebug.c: * gst-libs/gst/gl/gstgldebug.h: * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: gl: move debugging related functions to their own file 2015-10-01 23:20:19 +1000 Matthew Waters * ext/gl/gstglcolorscale.c: glcolorscale: use glbasefilter vfuncs Uses less code \o/ Fixes legacy opengl rendering \o/ 2015-09-16 12:50:46 +0200 Philippe Normand * ext/smoothstreaming/gstmssdemux.c: mssdemux: activate streams before configuring bitrate Doing the contrary has no effect and the consequence is that playback will start with the lowest bitrate even if we can already handle higher bitrate. https://bugzilla.gnome.org/show_bug.cgi?id=755108 2015-06-08 15:33:22 +0200 Philippe Normand * ext/smoothstreaming/gstmssdemux.c: * ext/smoothstreaming/gstmssdemux.h: * ext/smoothstreaming/gstmssmanifest.c: * ext/smoothstreaming/gstmssmanifest.h: mssdemux: PlayReady WRM parsing support If the manifest has a ProtectionHeader node then parse it and emit protection events according to the specified protection SystemID. https://bugzilla.gnome.org/show_bug.cgi?id=753613 2015-09-03 15:11:00 +0200 Philippe Normand * ext/smoothstreaming/gstmssmanifest.c: mssdemux: always use timescale for gst timestamp calculation Not doing this can lead the demuxer to attempt downloading fragments for an invalid start time. The server would then send a HTTP Precondition failed error, the demuxer would try some more times to download the invalid fragment and eventually error out. https://bugzilla.gnome.org/show_bug.cgi?id=754523 2015-09-30 08:36:15 +0200 Antoine Jacoutot * gst-libs/gst/gl/Makefile.am: gl: Pass GL_CFLAGS to g-ir-scanner This unbreaks building when some headers are under a non-standard path. e.g. /usr/X11R6/include as on OpenBSD. https://bugzilla.gnome.org/show_bug.cgi?id=755850 2015-09-30 00:44:16 -0700 Aleix Conchillo Flaqué * sys/applemedia/Makefile.am: applemedia: dist missing header files https://bugzilla.gnome.org/show_bug.cgi?id=755852 2015-09-30 13:13:19 +0900 Vineeth TM * tests/check/elements/audiointerleave.c: audiointerleave: typecast bit-mask to guint64 to fix segmentation fault While creating caps in audiointerleave tests, bitmask is being set as 0x9 This is resulting in segmentation fault. Fix the same by typecasting to guint64 https://bugzilla.gnome.org/show_bug.cgi?id=755840 2015-09-30 15:17:38 +1000 Matthew Waters * gst-libs/gst/gl/gstglcontext.c: glcontext: fixup strstr lengths so we don't overrun 2015-09-30 13:31:50 +1000 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * ext/gl/gstgluploadelement.c: * gst-libs/gst/gl/gstglupload.c: * gst-libs/gst/gl/gstglupload.h: * tests/check/libs/gstglupload.c: glupload: remove useless release_buffer It's a leftover from when we weren't outputting GstBuffer's and returning raw texture id's. 2015-09-30 01:53:53 +1000 Matthew Waters * gst-libs/gst/gl/gstglutils.c: glutils: use gst_element_set_context for setting display/other_context 1. So we get tracking inside GstElement properly when e.g. adding to a bin 2. Removes redundant code. Now only one place where GstContext->GstGLDisplay/GstGLContext transformation occurs 3. Fixes a memory leak in the process 4. Make the retrieval of debug categories thread safe 2015-09-29 22:57:52 +1000 Matthew Waters * ext/gtk/gtkgstglwidget.c: gtk: add some GL debug statements to show up in GL traces 2015-08-30 17:11:31 +0100 Tim-Philipp Müller * ext/hls/gstm3u8playlist.c: * ext/hls/gstm3u8playlist.h: hls: m3u8playlist: more clean-ups Remove unused functions; move GstM3U8 struct into .c file, and indent the header so it's nice to read. 2015-08-30 17:01:13 +0100 Tim-Philipp Müller * ext/hls/gstm3u8playlist.c: hls: m3u8playlist: fix silly queue iteration code 2015-08-30 16:40:02 +0100 Tim-Philipp Müller * ext/hls/gstm3u8playlist.c: hls: m3u8playlist: more minor playlist_render() clean-ups Move the TAG defines directly into the code, not sure what their purposes is, these are printf format strings so having them directly as literals in the code where they're used makes the code easier to follow. 2015-08-30 16:34:26 +0100 Tim-Philipp Müller * ext/hls/gstm3u8playlist.c: hls: m3u8playlist: move entry rendering into render_playlist() Makes the code easier to follow and avoids unnecessary temporary strings, since we can just append to the playlist GString directly. 2015-08-30 16:24:41 +0100 Tim-Philipp Müller * ext/hls/gstm3u8playlist.c: * ext/hls/gstm3u8playlist.h: hls: m3u8playlist: simplify gst_m3u8_playlist_render() Remove playlist_str GString variable from GstM3U8Playlist struct, since it's only used temporarily in playlist_render(). Might just as well keep it local then. 2015-08-30 15:55:51 +0100 Tim-Philipp Müller * ext/hls/Makefile.am: * ext/hls/gstfragmented.h: * ext/hls/gsthlssink.c: * ext/hls/gstm3u8playlist.h: hls: remove unused macro and direct gio usage 2015-09-30 00:36:14 +0100 Tim-Philipp Müller * gst/mpegtsmux/mpegtsmux.c: mpegtsmux: fix downstream key unit events handling with hlssink The buffer timestamps in the collect function will already be running time, don't try to convert them again to running time, this would yield CLOCK_TIME_NONE now that the segment is shifted to account for negative dts. This fixes x264enc ! mpegtsmux ! hlssink, which was broken because mpegtsmux would send a downstream key unit event with running time NONE and then hlssink would immediately send another one upstream and it would just be a flood of force keyframe events in both directions after the first one. This would then break hlssink because it uses multifilesink in next-file=key-unit-event mode, and starting a new file after every few kB does not work well for HLS. 2015-08-20 17:35:04 +0100 Luis de Bethencourt * ext/opencv/gstcverode.c: opencv: erode: remove non-ip transform func Transform is set to be done in place in gstcvdilateerode.c, so the in-place transform function is always used and the other is redundant. Removing it. https://bugzilla.gnome.org/show_bug.cgi?id=753885 2015-08-20 17:23:40 +0100 Luis de Bethencourt * ext/opencv/gstcvdilate.c: opencv: dilate: remove non-ip transform func Transform is set to be done in place in gstcvdilateerode.c, so the in-place transform function is always used and the other is redundant. Removing it. https://bugzilla.gnome.org/show_bug.cgi?id=753885 2015-09-29 20:00:02 +0100 Luis de Bethencourt * ext/opencv/gstcvdilateerode.c: * ext/opencv/gstcvequalizehist.c: * ext/opencv/gstcvlaplace.c: * ext/opencv/gstcvsmooth.c: * ext/opencv/gstcvsobel.c: * ext/opencv/gstretinex.c: * ext/opencv/gstretinex.h: * ext/opencv/gstskindetect.c: opencv: use gst_opencv_video_filter_set_in_place() Using the gst_base_transform function directly won't work. Need to use gst_opencv_video_filter_set_in_place(). 2015-09-29 17:00:22 +0100 Luis de Bethencourt * ext/opencv/gsthanddetect.c: handdetect: check for haar cascade files path When running GStreamer from uninstalled sources, the location of the haar cascade files will be local. Check if running in uninstalled and set the file paths accordingly. 2015-09-26 17:02:09 +0800 John Chang * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: adaptivedemux: remove unused variable https://bugzilla.gnome.org/show_bug.cgi?id=755656 2015-09-29 13:31:18 +0100 Tim-Philipp Müller * gst-libs/gst/video/gstvideoaggregator.c: videoaggregator: fix compilation with older glib version Remove weird use of private gtype defines and fix compilation with older glib versions such as 2.36. https://bugzilla.gnome.org/show_bug.cgi?id=755754 2015-09-29 13:52:47 +0100 Luis de Bethencourt * ext/opencv/gstcvlaplace.c: * ext/opencv/gstcvlaplace.h: opencv: cvlaplace: add scale and shift properties Add scale and shift properties so these can be used to tweak the values used in cvConvertScale() instead of using only defaults. 2015-08-28 16:24:24 +0100 Luis de Bethencourt * ext/qt/gstqtsink.cc: qtsink: explicitely fallthrough switch statement In case ret is False, fallthrough to default case. CID #1320705 2015-08-28 16:13:16 +0100 Luis de Bethencourt * gst/videoparsers/gstvc1parse.c: vc1parse: add break to switch case Even though all cases inside VC1_STREAM_FORMAT_ASF are goto or g_assert_not_reached(), add a break at the end to appease Coverity. CID #1320706 2015-09-28 20:56:56 +0200 Arnaud Vrac * ext/assrender/gstassrender.c: assrender: fix leak of tag samples in the tag list Move handling of a GstSample in a separate function, and unref the sample after calling it. libass copies the font data so we don't need to keep it around. https://bugzilla.gnome.org/show_bug.cgi?id=755759 2015-09-28 20:30:17 +0200 Arnaud Vrac * ext/assrender/gstassrender.c: assrender: fix gap event leak and invalid return value We don't want the gap event to be forwarded https://bugzilla.gnome.org/show_bug.cgi?id=755759 2015-09-29 16:17:22 +1000 Matthew Waters * sys/nvenc/gstnvbaseenc.c: nvenc: call the parent class on GstElement::set_context 2015-09-17 16:59:16 +1000 Matthew Waters * gst-libs/gst/gl/eagl/gstglcontext_eagl.m: gl/eagl: use the default GL context debug category 2015-07-30 16:42:38 +1000 Matthew Waters * configure.ac: * sys/Makefile.am: * sys/nvenc/Makefile.am: * sys/nvenc/README: * sys/nvenc/TODO: * sys/nvenc/gstnvbaseenc.c: * sys/nvenc/gstnvbaseenc.h: * sys/nvenc/gstnvenc.c: * sys/nvenc/gstnvenc.h: * sys/nvenc/gstnvh264enc.c: * sys/nvenc/gstnvh264enc.h: Add Nvidia based hardware encoder element Currently only h264 is supported https://bugzilla.gnome.org/show_bug.cgi?id=753405 2015-09-29 00:25:00 +1000 Matthew Waters * ext/gtk/gstgtkbasesink.c: gtk: fix assertion when the element has no peer When proxying keyboard/navigation/mouse events, only unref a successfully retreived peer pad. https://bugzilla.gnome.org/show_bug.cgi?id=755738 2015-09-28 15:30:30 +0200 Stefan Sauer * configure.ac: * gst/midi/Makefile.am: * gst/midi/alsamidisrc.c: * gst/midi/alsamidisrc.h: * gst/midi/midi.c: Revert "midi: add an ALSA MIDI sequencer source" This reverts commit cd7f4e524718a2f75467852235e4e13d64d2ac82. 2015-09-28 22:31:09 +1000 Matthew Waters * gst-libs/gst/gl/gstglutils.c: gl: set the context on the element on a context query Otherwise it's possible to lose the context information if the context is only propagated through queries. 2015-09-28 22:20:29 +1000 Matthew Waters * ext/gl/caopengllayersink.m: * ext/gl/gstglbasemixer.c: * ext/gl/gstglimagesink.c: * ext/gl/gstglstereosplit.c: * ext/gl/gstgltestsrc.c: * gst-libs/gst/gl/gstglbasefilter.c: gl: chain up to the parent class for GstElement::set_context https://bugzilla.gnome.org/show_bug.cgi?id=705579 2015-08-07 15:28:54 +0200 Antonio Ospite * configure.ac: * gst/midi/Makefile.am: * gst/midi/alsamidisrc.c: * gst/midi/alsamidisrc.h: * gst/midi/midi.c: midi: add an ALSA MIDI sequencer source The alsamidisrc element allows to get input event from ALSA MIDI sequencer devices, and possibly convert them to sound using some downstream element like fluiddec. https://bugzilla.gnome.org/show_bug.cgi?id=738687 2015-08-28 16:35:39 +0100 Luis de Bethencourt * ext/qt/qtitem.cc: qml: remove overwritten value Value in tex is overwritten before being used. Removing it. CID 1320715 https://bugzilla.gnome.org/show_bug.cgi?id=754253 2015-09-02 23:45:07 +1000 Matthew Waters * configure.ac: * ext/qt/Makefile.am: * ext/qt/gstqsgtexture.h: * ext/qt/gstqtgl.h: * ext/qt/qtitem.cc: * ext/qt/qtitem.h: qt: add support for building/running on android Including: - Necessary configure checks - Necessary compile time platform checks - Necessary runtime qt android platform detection - Escaping GLsync definition with Qt's GLES2 implementation https://bugzilla.gnome.org/show_bug.cgi?id=754466 2015-09-02 23:40:31 +1000 Matthew Waters * ext/qt/Makefile.am: qt: don't use CPPFLAGS for tools that cannot use them For example moc will bail out when given arguments it does not know about. The moc specific MOC_CPPFLAGS can still be used to pass flags to moc. https://bugzilla.gnome.org/show_bug.cgi?id=754466 2015-09-02 23:39:54 +1000 Matthew Waters * ext/qt/Makefile.am: qt: rename library to include gst prefix libqtsink -> libgstqtsink https://bugzilla.gnome.org/show_bug.cgi?id=754466 2015-08-31 19:21:54 +1000 Matthew Waters * ext/gl/gstglimagesink.c: * gst-libs/gst/gl/gstglbasefilter.c: * gst-libs/gst/gl/gstglcolorconvert.c: * gst-libs/gst/gl/gstglfilter.c: gl: sprinkle some debug markers to ease debugging 2015-08-31 19:18:23 +1000 Matthew Waters * gst-libs/gst/gl/gstglutils.c: * gst-libs/gst/gl/gstglutils.h: gl/utils: add a function to insert a debug marker These markers are visible in tools that record the GL function calls such as apitrace, et al. Makes it easier to match up GL draw commands with specific elements. 2015-08-31 19:17:21 +1000 Matthew Waters * gst-libs/gst/gl/glprototypes/debug.h: gl: add some debugging prototypes 2015-09-26 19:19:50 +1000 Matthew Waters * docs/libs/gst-plugins-bad-libs-sections.txt: * gst-libs/gst/gl/android/gstglwindow_android_egl.c: * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: * gst-libs/gst/gl/eagl/gstglwindow_eagl.m: * gst-libs/gst/gl/gstglwindow.c: * gst-libs/gst/gl/gstglwindow.h: * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c: * gst-libs/gst/gl/win32/gstglwindow_win32.c: * gst-libs/gst/gl/x11/gstglwindow_x11.c: glwindow: remove unused draw_unlocked function The functionality is provided by draw anyway and is leftover from X11's specific threading requirements that no longer apply. 2015-09-27 13:07:19 +1000 Jan Schmidt * ext/resindvd/gstmpegdemux.c: resindvd: Send gap updates to the segment stop during stills Ignore the normal gap threshold for laggy streams and immediately catch all streams up to the end of the segment when processing gap updates for a segment during a still frame sequence. https://bugzilla.gnome.org/show_bug.cgi?id=755680 2015-09-27 00:24:24 +1000 Jan Schmidt * gst/dvdspu/Makefile.am: * gst/dvdspu/gstdvdspu-render.c: * gst/dvdspu/gstdvdspu.c: * gst/dvdspu/gstdvdspu.h: * gst/dvdspu/gstspu-common.h: * gst/dvdspu/gstspu-pgs.c: * gst/dvdspu/gstspu-pgs.h: * gst/dvdspu/gstspu-vobsub-render.c: * gst/dvdspu/gstspu-vobsub.c: * gst/dvdspu/gstspu-vobsub.h: Revert "dvdspu: render to AYUV overlay" This reverts commit 5016a73190595505dc38b54f8f9a08c4f180f3a6. 2015-09-27 00:24:23 +1000 Jan Schmidt * gst/dvdspu/gstdvdspu.c: * gst/dvdspu/gstspu-common.h: * gst/dvdspu/gstspu-pgs.c: * gst/dvdspu/gstspu-vobsub-render.c: Revert "dvdspu: render to ARGB overlay instead of AYUV" This reverts commit dd3e9deb2aa695a391b58f24d86a3c00bbc1258a. 2015-09-27 00:24:17 +1000 Jan Schmidt * gst/dvdspu/gstspu-vobsub.c: * gst/dvdspu/gstspu-vobsub.h: Revert "dvdspu: handle frame size event from upstream" This reverts commit 46aaaa6c309b8a8f6e218142fd5944f5d24f095c. 2015-09-27 00:24:17 +1000 Jan Schmidt * gst/dvdspu/gstdvdspu.c: * gst/dvdspu/gstdvdspu.h: Revert "dvdspu: cache overlay composition" This reverts commit aabb8a1a68372f750c63b9b6586e18e829745774. 2015-09-27 00:24:15 +1000 Jan Schmidt * gst/dvdspu/gstdvdspu.c: * gst/dvdspu/gstdvdspu.h: Revert "dvdspu: improve negotiation of overlay composition" This reverts commit 1899e2a099932a7a734e7784c20b624517237e18. 2015-09-18 19:07:47 +0200 Arnaud Vrac * gst/dvdspu/gstspu-pgs.c: dvdspu: fix pgs palette colors U and V were inverted https://bugzilla.gnome.org/show_bug.cgi?id=755239 2014-08-27 16:47:22 +0200 Arnaud Vrac * gst/dvdspu/gstdvdspu.c: * gst/dvdspu/gstdvdspu.h: dvdspu: improve negotiation of overlay composition Support negotiating GstVideoOverlayComposition downstream while not providing it upstream. https://bugzilla.gnome.org/show_bug.cgi?id=663750 2013-09-02 17:48:50 +0200 Arnaud Vrac * gst/dvdspu/gstdvdspu.c: * gst/dvdspu/gstdvdspu.h: dvdspu: cache overlay composition This avoids rendering the overlay buffer for each video frame. https://bugzilla.gnome.org/show_bug.cgi?id=663750 2013-08-30 22:08:01 +0200 Arnaud Vrac * gst/dvdspu/gstspu-vobsub.c: * gst/dvdspu/gstspu-vobsub.h: dvdspu: handle frame size event from upstream An IDX file or codec_data normally contains the original frame size of the video. Allow upstream to provide this information by sending a custom event, which will allow scaling the overlay correctly. https://bugzilla.gnome.org/show_bug.cgi?id=663750 2013-12-05 21:59:18 +0100 Arnaud Vrac * gst/dvdspu/gstdvdspu.c: dvdspu: allow suffix in dvd event name to allow multiple sticky dvd events https://bugzilla.gnome.org/show_bug.cgi?id=663750 2015-04-07 14:38:08 +0200 Arnaud Vrac * gst/dvdspu/gstdvdspu.c: * gst/dvdspu/gstspu-common.h: * gst/dvdspu/gstspu-pgs.c: * gst/dvdspu/gstspu-vobsub-render.c: dvdspu: render to ARGB overlay instead of AYUV https://bugzilla.gnome.org/show_bug.cgi?id=663750 2013-01-23 17:59:01 +0100 Arnaud Vrac * gst/dvdspu/Makefile.am: * gst/dvdspu/gstdvdspu-render.c: * gst/dvdspu/gstdvdspu.c: * gst/dvdspu/gstdvdspu.h: * gst/dvdspu/gstspu-common.h: * gst/dvdspu/gstspu-pgs.c: * gst/dvdspu/gstspu-pgs.h: * gst/dvdspu/gstspu-vobsub-render.c: * gst/dvdspu/gstspu-vobsub.c: * gst/dvdspu/gstspu-vobsub.h: dvdspu: render to AYUV overlay Instead of only supporting writing SPU data directly to YUV frames, render the SPU data to an intermediate AYUV overlay buffer. The overlay data is then attached to the video frame if downstream supports overlay composition, otherwise the AYUV overlay is blended to the video frame. For the PGS format, the overlay buffer size is set to the size of the Composition Window, and its position in the overlay composition is set to the window position. The objects to render are now cropped when the cropping flag is set. For the Vobsub format, the overlay buffer size is set to the size of the Display Area. Once rendered, the overlay composition rectangle is now moved and scaled to fit the video output size, to avoid clipping. https://bugzilla.gnome.org/show_bug.cgi?id=663750 2013-09-02 17:07:49 +0200 Arnaud Vrac * gst/dvdspu/gstdvdspu.c: dvdspu: pass dvdspu argument to set_caps functions https://bugzilla.gnome.org/show_bug.cgi?id=663750 2015-09-18 19:15:45 +0200 Arnaud Vrac * gst/dvdspu/gstspu-pgs.c: dvdspu: skip unneeded reading of RLE data The RLE data was being read for dumping the SPU image even when the DUMP_FULL_IMAGE macro was not set. https://bugzilla.gnome.org/show_bug.cgi?id=663750 2015-08-29 19:16:38 +0530 Nirbheek Chauhan * tests/check/elements/compositor.c: check: Add test for videoaggregator sinkpads being sorted by zorder https://bugzilla.gnome.org/show_bug.cgi?id=754285 2015-09-26 10:21:41 +0100 Tim-Philipp Müller * gst/audiomixer/gstaudioaggregator.c: audiomixer: fix deadlock when G_DISABLE_ASSERT is not defined This makes the audiomixer unit test time out in master. Broke with 587e7c4 2015-09-26 10:49:31 +0200 Sebastian Dröge * tests/check/elements/dash_mpd.c: dash: Fix unit test after internal API change 2015-08-25 17:39:30 +0900 Jimmy Ohn * ext/sndfile/gstsfdec.c: sfdec: Fix typo in goto variable name https://bugzilla.gnome.org/show_bug.cgi?id=754057 2015-08-18 14:16:11 +0100 Chris Bass * ext/dash/gstdashdemux.c: * ext/dash/gstdashdemux.h: * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: dashdemux: create src pads for subtitle streams. Create src pads for Representations that contain timed-text subtitles, both when the subtitles are encapsulated in ISO BMFF (i.e., the Representation has mimeType "application/mp4") and when they are unencapsulated (i.e., the Representation has mimeType "application/ttml+xml"). https://bugzilla.gnome.org/show_bug.cgi?id=747774 2015-09-26 00:17:55 +0200 Sebastian Dröge * gst/audiomixer/gstaudioaggregator.c: audioaggregator: Stop using deprecated gst_segment_to_position() 2015-08-31 16:12:40 +0300 Sebastian Dröge * gst-libs/gst/base/gstaggregator.c: aggregator: Don't forward QOS events to sinkpads that had no buffer yet Otherwise they will receive a QOS event that has earliest_time=0 (because we can't have negative timestamps), and consider their buffer as too late https://bugzilla.gnome.org/show_bug.cgi?id=754356 2015-09-22 16:17:38 +0200 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: * tests/check/elements/dash_mpd.c: dashdemux: Implement lazy-loading of external periods https://bugzilla.gnome.org/show_bug.cgi?id=752230 2015-09-21 21:05:03 +0200 Sebastian Dröge * ext/dash/gstmpdparser.c: mpdparser: Load OnLoad external resources immediately instead of on demand https://bugzilla.gnome.org/show_bug.cgi?id=752230 2015-09-08 13:36:23 +0300 Sebastian Dröge * ext/dash/gstmpdparser.c: mpdparser: Add support for loading external SegmentLists https://bugzilla.gnome.org/show_bug.cgi?id=752230 2015-09-08 13:04:11 +0300 Sebastian Dröge * ext/dash/gstmpdparser.c: mpdparser: Add support for loading external AdaptationSets https://bugzilla.gnome.org/show_bug.cgi?id=752230 2015-08-21 16:40:10 +0300 Sebastian Dröge * ext/dash/gstmpdparser.c: mpdparser: Implement loading of external Period nodes The same has to be done for AdaptationSet and SegmentList nodes still. Also this does not correctly implement the semantics: by default Period (and other nodes) should only be loaded when needed, not in the very beginning. We need to implement lazy loading for them, which means adjusting gst_mpd_client_setup_media_presentation(). https://bugzilla.gnome.org/show_bug.cgi?id=752230 2015-08-21 12:06:07 +0300 Sebastian Dröge * ext/dash/gstdashdemux.c: * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: * tests/check/Makefile.am: mpdparser: Store an URI downloader in the parser for downloading additional MPD resources if needed https://bugzilla.gnome.org/show_bug.cgi?id=752230 2015-07-10 18:56:29 +0300 Sebastian Dröge * ext/dash/gstmpdparser.c: * ext/dash/gstmpdparser.h: mpdparser: Parse xlink attributes from Period, AdaptationSet and SegmentList We still have to do something useful with them, like actually loading the content behind the URL. https://bugzilla.gnome.org/show_bug.cgi?id=752230 2015-09-16 23:38:24 +0200 Sebastian Dröge * ext/dash/gstdashdemux.c: dashdemux: Properly handle relative and non-HTTP URIs for the headers/indices gst_uri_join_strings() will return the second parameter if it is an absolute URI. No need to do a (wrong) check if the URI is absolute or not beforehand. https://bugzilla.gnome.org/show_bug.cgi?id=755134 2015-09-16 23:12:54 +0200 Sebastian Dröge * ext/dash/gstmpdparser.c: mpdparser: If no Initialization is present in the SegmentBase, assume it is before the indexRange https://bugzilla.gnome.org/show_bug.cgi?id=755132 2015-09-25 23:51:20 +0200 Sebastian Dröge * configure.ac: Back to development === release 1.6.0 === 2015-09-25 23:33:37 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-fieldanalysis.xml: * docs/plugins/inspect/plugin-flite.xml: * docs/plugins/inspect/plugin-fragmented.xml: * docs/plugins/inspect/plugin-frei0r.xml: * docs/plugins/inspect/plugin-gaudieffects.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-geometrictransform.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstsiren.xml: * docs/plugins/inspect/plugin-id3tag.xml: * docs/plugins/inspect/plugin-inter.xml: * docs/plugins/inspect/plugin-interlace.xml: * docs/plugins/inspect/plugin-jpegformat.xml: * docs/plugins/inspect/plugin-liveadder.xml: * docs/plugins/inspect/plugin-mimic.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpegpsdemux.xml: * docs/plugins/inspect/plugin-mpegpsmux.xml: * docs/plugins/inspect/plugin-mpegtsdemux.xml: * docs/plugins/inspect/plugin-mpegtsmux.xml: * docs/plugins/inspect/plugin-mpg123.xml: * docs/plugins/inspect/plugin-mplex.xml: * docs/plugins/inspect/plugin-ofa.xml: * docs/plugins/inspect/plugin-openal.xml: * docs/plugins/inspect/plugin-opencv.xml: * docs/plugins/inspect/plugin-opus.xml: * docs/plugins/inspect/plugin-pcapparse.xml: * docs/plugins/inspect/plugin-pnm.xml: * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-removesilence.xml: * docs/plugins/inspect/plugin-resindvd.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-rtmp.xml: * docs/plugins/inspect/plugin-schro.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-segmentclip.xml: * docs/plugins/inspect/plugin-shm.xml: * docs/plugins/inspect/plugin-smooth.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spandsp.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-subenc.xml: * docs/plugins/inspect/plugin-videoparsersbad.xml: * docs/plugins/inspect/plugin-voaacenc.xml: * docs/plugins/inspect/plugin-voamrwbenc.xml: * docs/plugins/inspect/plugin-waylandsink.xml: * docs/plugins/inspect/plugin-y4mdec.xml: * docs/plugins/inspect/plugin-zbar.xml: * gst-plugins-bad.doap: * win32/common/config.h: Release 1.6.0 2015-09-25 23:01:35 +0200 Sebastian Dröge * 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/ky.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: Update .po files 2015-09-25 10:32:00 +0100 Julien Isorce * gst-libs/gst/gl/gstglfilter.c: glfilter: use GL_ELEMENT_ARRAY_BUFFER for vbo indices Fixes this error with chromium gpu process: GL_INVALID_OPERATION, glBindBuffer: buffer bound to more than 1 target https://bugzilla.gnome.org/show_bug.cgi?id=755618 2015-09-17 14:17:09 +0100 Julien Isorce * gst-libs/gst/gl/gstglmemory.c: glmemory: fix texture leak in _gl_mem_copy https://bugzilla.gnome.org/show_bug.cgi?id=755456 2015-09-24 18:51:39 +0200 Sebastian Dröge * ext/gtk/gstgtkbasesink.c: gtk: Only run from the main thread in stop() if we created the window We're not doing anything at all from the main thread in other cases. 2015-09-24 15:52:40 +0200 Thibault Saunier * ext/gtk/gtkgstbasewidget.c: gtk: When setting format check if pending format changed In case the format changed fast and the pending format is different than the currently set but the currently set is equal to the pending one we could end up having mismatch between the finally set format and the data stream format. https://bugzilla.gnome.org/show_bug.cgi?id=755542 2015-09-24 15:51:28 +0200 Thibault Saunier * ext/gtk/gstgtkbasesink.c: gtk: Do not forget to release OBJECT_LOCK on error path https://bugzilla.gnome.org/show_bug.cgi?id=755542 2015-09-24 11:37:04 +0200 Thibault Saunier * ext/gtk/Makefile.am: * ext/gtk/gstgtkbasesink.c: * ext/gtk/gstgtkutils.c: * ext/gtk/gstgtkutils.h: * ext/gtk/gtkgstglwidget.c: gtk: Factor out a function to run a function on main thread https://bugzilla.gnome.org/show_bug.cgi?id=755251 2015-09-24 10:51:31 +0200 Thibault Saunier * ext/gtk/gstgtkbasesink.c: gtk: Marshall state changes in the main thread Gtk is not MT safe thus we need to make sure that everything is done in the main thread when working with it. https://bugzilla.gnome.org/show_bug.cgi?id=755251 2015-09-23 15:56:26 +0200 Sebastian Dröge * sys/decklink/gstdecklink.cpp: * sys/decklink/gstdecklink.h: * sys/decklink/gstdecklinkvideosink.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: decklink: Add a clock epoch that is used as offset whenever restarting the clock Otherwise we're going to return times starting at 0 again after shutting down an element for a specific input/output and then using it again later. https://bugzilla.gnome.org/show_bug.cgi?id=755426 2015-09-22 19:35:00 +0200 Sebastian Dröge * sys/decklink/gstdecklinkaudiosrc.cpp: * sys/decklink/gstdecklinkvideosink.cpp: * sys/decklink/gstdecklinkvideosrc.cpp: decklink: Disable inputs/outputs in PAUSED->READY to allow going to PAUSED again from there https://bugzilla.gnome.org/show_bug.cgi?id=755426 2015-09-23 11:42:51 +0200 Thibault Saunier * ext/gtk/gstgtkbasesink.c: gtksink: Do not show window until we reach the PAUSED state https://bugzilla.gnome.org/show_bug.cgi?id=755459 2015-09-22 14:43:44 +0200 Sebastian Dröge * ext/dash/gstmpdparser.c: mpdparser: Only check stream->segments for a repeated last segment if we have a static list of segments Otherwise we'll crash, trying to derefence NULL. And if we have no static list of segments, we can't have repeated segments anyway. Regression introduced by cfe2871a5e3c5b1db20470927642b776e055a87a https://bugzilla.gnome.org/show_bug.cgi?id=755411 2015-09-21 19:02:08 +0530 Arun Raghavan * ext/x265/gstx265enc.c: x265enc: Drop incorrect stream-format="avc" in template caps 2015-09-21 10:47:15 +0200 Thibault Saunier * ext/gtk/gstgtkbasesink.c: gtksink: Do not re destroy the GtkWindow if destroyed by the user Otherwise we will get an ASSERT. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=755249 2015-09-21 08:04:40 +0000 Matthew Waters * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c: gl/dispmanx: fix rendering with recent resize state tracking 557ca6fda5f831be4aba5819bf7b30b296e575cd didn't change to the necessary gst_gl_window_resize() call for the dispmanx backend. 2015-09-19 11:46:37 +0200 Thibault Saunier * ext/gtk/gstgtkbasesink.c: * ext/gtk/gstgtkbasesink.h: * ext/gtk/gstgtkglsink.c: gtkglsink: Hide and clean the GtkWindow we might create When stopping the sink we should always hide the window. https://bugzilla.gnome.org/show_bug.cgi?id=755249 === release 1.5.91 === 2015-09-18 19:51:49 +0200 Sebastian Dröge * ChangeLog: * NEWS: * RELEASE: * configure.ac: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/inspect/plugin-accurip.xml: * docs/plugins/inspect/plugin-adpcmdec.xml: * docs/plugins/inspect/plugin-adpcmenc.xml: * docs/plugins/inspect/plugin-aiff.xml: * docs/plugins/inspect/plugin-asfmux.xml: * docs/plugins/inspect/plugin-assrender.xml: * docs/plugins/inspect/plugin-audiomixer.xml: * docs/plugins/inspect/plugin-audiovisualizers.xml: * docs/plugins/inspect/plugin-autoconvert.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-camerabin.xml: * docs/plugins/inspect/plugin-chromaprint.xml: * docs/plugins/inspect/plugin-coloreffects.xml: * docs/plugins/inspect/plugin-curl.xml: * docs/plugins/inspect/plugin-dataurisrc.xml: * docs/plugins/inspect/plugin-debugutilsbad.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvbsuboverlay.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect