diff --git a/ChangeLog b/ChangeLog index 2b61b99692..a387112172 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,16045 @@ -=== release 1.4.0 === +=== release 1.5.1 === -2014-07-19 Sebastian Dröge +2015-06-07 Sebastian Dröge * configure.ac: - releasing 1.4.0 + releasing 1.5.1 + +2015-06-07 09:36:21 +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 + +2015-05-30 21:35:36 +0900 Jimmy Ohn + + * ext/hls/gsthlsdemux.c: + hlsdemux: Fix wrong gst-launch command in the description + Fix wrong gst-lauch command in the description. + This patch may help people to get right testing results using the script. + https://bugzilla.gnome.org/show_bug.cgi?id=750143 + +2015-06-05 14:49:18 +0100 Luis de Bethencourt + + * ext/directfb/dfbvideosink.c: + dfbvideosink: remove ignored assignments + Remove assignments to DFBResult res that are never read. + +2015-06-05 14:34:55 +0100 Luis de Bethencourt + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: remove ignored assignment + Function goes to done before the value set in start_offset is ever used. + +2015-06-05 09:35:39 -0300 Thiago Santos + + * ext/gl/caopengllayersink.m: + * ext/gl/gstglfilterbin.c: + * ext/gl/gstglmixerbin.c: + * ext/gl/gstglsinkbin.c: + * ext/gl/gstglsrcbin.c: + * gst-libs/gst/gl/gstglcontext.c: + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c: + * sys/applemedia/avsamplevideosink.m: + * tests/check/elements/glimagesink.c: + Fix a common typo: retreive -> retrieve + Seems to have been copy pasted around a few places + +2015-06-05 09:22:58 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + hlsdemux: drop TODO that doesn't need a solution + Connection speed is only checked at that point in hlsdemux so there + is no real need to refactor it. + https://bugzilla.gnome.org/show_bug.cgi?id=749328 + +2015-06-05 09:15:34 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + * ext/hls/m3u8.c: + Revert "hlsdemux: Simplify logic in process_manifest" + This reverts commit 4ca3a22b6b33ad8be4383063e76f79c4d346535d. + The connection-speed=0 is used as a special value in the property + of hlsdemux to mean 'automatic' selection, m3u8.c doesn't need + to know about that as it should be as simple as possible. + So this patch hides this automatic selection documented in hlsdemux + into m3u8 logic and I think the gets harder to understand the code. + It also makes the hlsdemux unit tests work again + https://bugzilla.gnome.org/show_bug.cgi?id=749328 + +2015-06-05 14:30:03 +0200 Sebastian Dröge + + * ext/dash/gstmpdparser.c: + mpdparser: Fix inverted logic introduced in last commit + +2015-06-05 08:58:03 +0900 Vineeth TM + + * gst/videosignal/gstsimplevideomarkdetect.c: + simplevideomarkdetect: fix detect of videomark partially or fully outside video + In case of the videomark being partially or fully outside, + an error was bein thrown saying, mark width is more than video width. + And when the width, offset properties are set to maximum it resulted in crash. + Instead of throwing error, added logic to detect the mark + in case of partial visibility or dont show the mark when it is outside. + https://bugzilla.gnome.org/show_bug.cgi?id=743908 + +2015-06-05 14:10:43 +0200 Sebastian Dröge + + * ext/dash/gstmpdparser.c: + mpdparser: Calculate the number of segments we have when a segment template instead of a list is used + Otherwise we would just continue downloading new files forever until we get + 404 for the first one, and then error out instead of going EOS. + +2015-06-05 08:53:30 +0900 Vineeth TM + + * gst/videosignal/gstsimplevideomark.c: + simplevideomark: Add Error logs + When the pattern offset is outside the video, the print error message + https://bugzilla.gnome.org/show_bug.cgi?id=743908 + +2015-06-05 13:28:39 +0200 Sebastian Dröge + + * ext/dash/gstmpdparser.c: + Revert "mpdparser: Don't consider streams with a known media presentation duration as live" + This reverts commit 37011e519830e0786fa6e307ed26003a2a8774f1. + This change was actually completely unnecessary, the streams in question are + marked as static and are not considered live anyway. + +2015-06-05 13:21:55 +0200 Sebastian Dröge + + * ext/dash/gstmpdparser.c: + mpdparser: Don't consider streams with a known media presentation duration as live + +2015-06-05 11:26:11 +0200 Sebastian Dröge + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Error out if downloading a segment failed too often in live mode + It's true that we shouldn't consider errors fatal immediately, but if we + always ignore them we will loop infinitely on live streams with segments + that can't be downloaded at all. + +2015-06-03 12:17:19 +0200 Jose Antonio Santos Cadenas + + * ext/srtp/gstsrtp.c: + srtp: Allow getting ssrc of more package types than RR and SR + This allows decrypting reduce size packages. See RFC 5506 + https://bugzilla.gnome.org/show_bug.cgi?id=750326 + +2015-06-04 13:36:32 -0300 Thiago Santos + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: refactor pad creation + Avoid repeating the same pad creation code everywhere + +2015-06-04 15:57:57 +0200 Sebastian Dröge + + * ext/dash/gstmpdparser.c: + mpdparser: Don't crash in debug output if stream->segments is NULL + +2015-06-04 13:31:56 +0100 Tim-Philipp Müller + + * sys/winks/gstksvideosrc.c: + ksvideosrc: fix logic and timestamp non-muxed streams again + https://bugzilla.gnome.org/show_bug.cgi?id=750381 + +2015-06-04 12:53:19 +0100 Tim-Philipp Müller + + * ext/libde265/gstlibde265.c: + * ext/libde265/libde265-dec.c: + libde265dec: fix up plugin name and decoder description + +2015-06-04 13:36:05 +0200 Sebastian Dröge + + * ext/dash/gstmpdparser.c: + mpdparse: Clamp seek times to the availabilityStartTime + Otherwise we will seek to negative times, which are interpreted as unsigned + integers later. + +2015-06-04 13:13:39 +0200 Sebastian Dröge + + * ext/dash/gstmpdparser.c: + mpdparser: Improve debug output a bit when advancing segments + +2015-06-04 12:36:41 +0200 Sebastian Dröge + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Release the manifest mutex before waiting for a download + Otherwise we will hurt parallel downloads in the best case, and often cause + deadlocks. + +2015-06-04 11:54:24 +0200 Sebastian Dröge + + * ext/opus/gstopusdec.c: + opusdec: If channel/rate negotiation fails, fall back to stereo and 48kHz + +2015-06-04 11:52:40 +0200 Sebastian Dröge + + * ext/opus/gstopusparse.c: + opusparse: Set up default header with 48kHz sample rate instead of 0 + +2015-06-04 11:45:05 +0200 Sebastian Dröge + + * ext/opus/gstopusdec.c: + opusdec: gst_structure_fixate_field_nearest_int() only works if the structure has this field + Just set the rate/channels directly if the caps don't have this field. + +2015-06-04 11:05:07 +0200 Sebastian Dröge + + * ext/dash/gstmpdparser.c: + mpdparser: Use 64 bit integer format strings when passing a 64 bit integer + Otherwise we'll only get half of its bits printed on 32 bit architectures. + For this, promote the %d-style format strings to something that accepts + 64 bit integers with G_GINT64_MODIFIER. + +2015-06-04 10:47:07 +0200 Sebastian Dröge + + * ext/dash/gstmpdparser.c: + mpdparse: Validate format strings before using them + Using format strings from an untrusted source without validation is + calling for problems, and at least allows to remotely crash your application. + If not worse. + +2015-06-04 09:40:19 +0200 Philippe Normand + + * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c: + gl/dispmanx: Fix build + +2015-06-03 22:21:30 +0100 Julien Isorce + + * tests/examples/gl/cocoa/Makefile.am: + gl/example: fix build error when compiling cocoa-videooverlay + libtool: error: ignoring unknown tag OBJC + and + clang: error: argument unused during compilation: '-pthread' + +2015-06-04 15:01:16 +1000 Matthew Waters + + * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c: + gl/window/dispmanx: fix compiler warning + +2015-06-04 12:16:35 +1000 Matthew Waters + + * gst-libs/gst/gl/android/gstglwindow_android_egl.c: + * gst-libs/gst/gl/android/gstglwindow_android_egl.h: + * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c: + * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h: + * gst-libs/gst/gl/eagl/gstglwindow_eagl.m: + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c: + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h: + * gst-libs/gst/gl/win32/gstglwindow_win32.c: + * gst-libs/gst/gl/win32/gstglwindow_win32.h: + gl/window: use the default main loop implementation for all backends + fixes glimagsink being unable to display. + https://bugzilla.gnome.org/show_bug.cgi?id=750337 + +2015-06-03 21:22:09 +0100 Julien Isorce + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + glwindow_cocoa: use parent default implementation + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750337 + +2015-06-03 20:03:37 +0200 Sebastian Dröge + + * ext/dash/gstmpdparser.c: + mpdparser: Add the startNumber as offset to the segment index when using a template + +2015-06-03 16:59:44 +0200 Santiago Carot-Nemesio + + * ext/dtls/gstdtlsdec.c: + * ext/dtls/gstdtlsdec.h: + dtlsdec: Fix critical warning "got data flow before stream-start event" + Forward sticky events on requested src pad. + https://bugzilla.gnome.org/show_bug.cgi?id=750348 + +2015-06-03 15:25:10 +0100 Luis de Bethencourt + + * gst/videoparsers/gstvc1parse.c: + vc1parse: remove useless value assignments + In all these cases ret is set but overwritten before the return of the function + +2015-06-03 14:44:31 +0100 Luis de Bethencourt + + * tests/examples/camerabin2/gst-camerabin2-test.c: + examples: gst-camerabin2-test: protect from division by zero + Highly unlikely to have 0 captures, but protect from crashes in the future by + doing none of the math if there is no data. + +2015-06-02 20:57:34 +0100 Tim-Philipp Müller + + * configure.ac: + configure: lower curl requirement to 7.35.0 + Build and unit tests were tested against 7.35 too now, + which is the version in Ubuntu 14.04. + +2015-06-02 16:40:25 -0300 Thiago Santos + + * gst/mpegtsdemux/mpegtsbase.c: + mpegtsbase: do not access variable after unref + Data might not exist anymore + +2015-06-02 15:45:13 -0400 Olivier Crête + + * tests/check/elements/audiointerleave.c: + tests: audiointerleave: test not setting positions + Disable "channel-positions-from-input", but without actually giving + a position table, so every position should be NONE + +2015-06-02 15:44:57 -0400 Olivier Crête + + * tests/check/elements/audiointerleave.c: + tests: Fix indentation in audiointerleave test + +2015-06-02 11:31:00 -0300 Reynaldo H. Verdejo Pinochet + + * ext/zbar/gstzbar.c: + zbar: don't ignore zbar_scan_image() errors + +2015-06-03 00:31:42 +1000 Jan Schmidt + + * gst-libs/gst/gl/gstglsyncmeta.c: + glsyncmeta: Set new sync point when copying + Set a new sync point when copying instead of + transferring the (non-refcounted) GL sync object + from the source meta. + https://bugzilla.gnome.org/show_bug.cgi?id=750279 + +2015-06-02 23:59:50 +1000 Jan Schmidt + + * gst-libs/gst/gl/gstglsyncmeta.c: + glsyncmeta: Add some debug output + +2015-06-02 16:02:37 +0200 Edward Hervey + + * tests/check/elements/asfmux.c: + * tests/check/elements/faac.c: + * tests/check/elements/faad.c: + * tests/check/elements/h263parse.c: + * tests/check/elements/hlsdemux_m3u8.c: + * tests/check/elements/jpegparse.c: + * tests/check/elements/kate.c: + * tests/check/elements/mpeg2enc.c: + * tests/check/elements/mpeg4videoparse.c: + * tests/check/elements/mpegvideoparse.c: + * tests/check/elements/mplex.c: + * tests/check/elements/opus.c: + * tests/check/elements/rtponvif.c: + * tests/check/elements/timidity.c: + * tests/check/elements/voaacenc.c: + * tests/check/elements/voamrwbenc.c: + * tests/check/libs/h264parser.c: + * tests/check/libs/mpegts.c: + * tests/check/libs/mpegvideoparser.c: + * tests/check/libs/vc1parser.c: + * tests/check/libs/vp8parser.c: + * tests/check/pipelines/simple-launch-lines.c: + * tests/check/pipelines/streamheader.c: + check: Use GST_CHECK_MAIN () macro everywhere + Makes source code smaller, and ensures we go through common initialization + path (like the one that sets up XML unit test output ...) + +2015-06-02 10:21:42 +0900 Vineeth TM + + * gst/videosignal/gstsimplevideomark.c: + simplevideomark: fix display of videomark partially or fully outside video + In case of the videomark being partially or fully outside, an error was being + thrown saying the mark width is more than video width. And when the width, + offset properties are set to maximum it resulted in crash. Instead of throwing + an error, add logic to detect the mark in case of partial visibility or don't + show the mark when it is outside. + https://bugzilla.gnome.org/show_bug.cgi?id=743908 + +2015-03-24 15:17:16 +0100 Aurélien Zanelli + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: enable Chinese AVS video stream + Chinese broadcaster encapsulate AVS video codec into MPEG2-TS. They + use the stream_id 0x42 to identify AVS video streams. It should be noted + that this id is currently within the ISO reserved range, hence it's + utilisation is unofficial. + https://bugzilla.gnome.org/show_bug.cgi?id=727731 + +2015-06-02 17:24:18 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: provide compatibility definition for GLES2 for GL_RGBA8 + +2015-06-02 16:32:03 +1000 Matthew Waters + + * ext/gl/gstgleffects.c: + * ext/gl/gstglfiltershader.c: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglframebuffer.c: + * gst-libs/gst/gl/gstglmemory.c: + * gst-libs/gst/gl/gstglmemory.h: + * gst-libs/gst/gl/gstglutils.c: + * gst-libs/gst/gl/gstglutils.h: + gl: consolidate internal_rgba_format into glmemory + Expose some useful value format conversion functions available in + GstGLMemory. + +2015-06-01 19:43:20 -0400 Olivier Crête + + * gst/audiomixer/gstaudiointerleave.c: + audiointerleave: Always have "channels" be the actual pad count + Don't force it anywhere + https://bugzilla.gnome.org/show_bug.cgi?id=750252 + +2015-06-01 19:42:49 -0400 Olivier Crête + + * gst/audiomixer/gstaudiointerleave.c: + audiointerleave: Use the channel count from the set caps + This is the same number that was used to allocate the buffer + +2015-06-01 18:50:14 -0400 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Document that the latency is in ns + +2015-06-01 20:03:22 +0200 Sebastian Dröge + + * sys/androidmedia/gstamc.c: + amc: Only lower ranks of OMX.Exynos. audio codecs, the video codecs are actually working + +2015-06-01 19:40:11 +0200 Sebastian Dröge + + * sys/androidmedia/gstamc.c: + amc: Give marginal rank to codecs that start with OMX.Exynos. + OMX.Exynos. codecs are existing on some devices like the + Galaxy S5 mini, and cause random crashes (of the device, + not the app!) and generally misbehave. That specific device + has other codecs that work with a different name, but let's + just give them marginal rank in case there are devices that + have no other codecs and these are actually the only working + ones + +2015-06-01 19:23:01 +0200 Sebastian Dröge + + * sys/androidmedia/gstamc.c: + androidmedia: Give lower ranks to codecs not starting with OMX. + On some devices there are codecs that don't start with OMX., while + there are also some that do. And on some of these devices the ones + that don't start with OMX. just crash during initialization while + the others work. To make things even more complicated other devices + have codecs with the same name that work and no alternatives. + So just give a lower rank to these non-OMX codecs and hope that + there's an alternative with a higher rank. + Also stagefright gives codecs starting with OMX. a higher rank too and + considers other codecs that don't start with OMX. as software codecs. + +2015-06-01 11:12:22 -0300 Reynaldo H. Verdejo Pinochet + + * tests/check/elements/zbar.c: + tests: zbar: check for frame field on attach-frame=true + Also check for the sample to have a buffer and caps + associated with it. + Related to: + https://bugzilla.gnome.org/show_bug.cgi?id=747557 + +2015-05-20 15:04:40 -0400 Nicolas Dufresne + + * sys/applemedia/vtdec.c: + vtdec: Require width and height field for H264 + This decoder does not work if width and height field are not set + in the sinkpad caps. Let's make this explicit by adding them to + the template caps. + https://bugzilla.gnome.org/show_bug.cgi?id=749655 + +2015-06-01 14:07:37 +0100 Julien Isorce + + * gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.c: + glcontext_gpu_process: close the window when done + +2015-06-01 14:05:58 +0100 Julien Isorce + + * gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.c: + glwindow_gpu_process: avoid empty struct + +2015-06-01 12:58:11 +0100 Julien Isorce + + * gst-libs/gst/gl/gstglwindow.c: + glwindow: move main loop/context creation back to init/finalize + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750199 + +2015-06-01 14:05:06 +0200 Edward Hervey + + * tests/examples/gl/gtk/gstgtk.c: + examples: Fix gl usage without wayland support + Not all platforms have wayland support. Handle that gracefully at + compile time + +2015-06-01 13:55:20 +0200 Edward Hervey + + * ext/rtmp/gstrtmpsink.c: + rtmpsink: Initialize GstMapInfo + Avoids doing a call to unmap with it uninitialized + CID #1302834 + +2015-06-01 12:51:46 +0100 Luis de Bethencourt + + * gst/audiovisualizers/gstaudiovisualizer.c: + audiovisualizer: clean dereferences of private structure + https://bugzilla.gnome.org/show_bug.cgi?id=742875 + +2015-04-25 22:55:28 +0300 Ilya Konstantinov + + * sys/applemedia/vtenc.c: + * sys/applemedia/vtenc.h: + vtenc: fix keyframe request race condition + It is incorrect to modify the frame properties after passing them, since + VTCompressionSessionEncodeFrame takes reference and we have no control + over when it's being used. + In fact, the code can be simplified. We just preallocate the frame + properties for keyframe requests, and pass NULL otherwise. + https://bugzilla.gnome.org/show_bug.cgi?id=748467 + +2015-06-01 11:56:13 +0100 Luis de Bethencourt + + * gst/audiovisualizers/gstaudiovisualizer.c: + * gst/audiovisualizers/gstaudiovisualizer.h: + audiovisualizer: make private all variable subclasses don't need + https://bugzilla.gnome.org/show_bug.cgi?id=742875 + +2015-05-01 23:20:30 -0300 Reynaldo H. Verdejo Pinochet + + * ext/zbar/gstzbar.c: + * ext/zbar/gstzbar.h: + zbar: add frame sample to barcode message + New attach-frame property enables barcode frame + dumping when set to true. + https://bugzilla.gnome.org/show_bug.cgi?id=747557 + +2015-05-31 21:30:23 +0200 Sebastian Dröge + + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c: + gl: Fix compiler warning + gstglwindow_wayland_egl.c:246:41: error: unused variable 'surface_listener' [-Werror,-Wunused-const-variable] + static const struct wl_surface_listener surface_listener = { + ^ + +2015-05-27 23:34:14 +0200 Sebastian Dröge + + * sys/androidmedia/gstamc.c: + * sys/androidmedia/gstamc.h: + * sys/androidmedia/gstamcaudiodec.c: + * sys/androidmedia/gstamcaudiodec.h: + * sys/androidmedia/gstamcvideodec.c: + * sys/androidmedia/gstamcvideodec.h: + * sys/androidmedia/gstamcvideoenc.c: + * sys/androidmedia/gstamcvideoenc.h: + * sys/androidmedia/gstjniutils.c: + * sys/androidmedia/gstjniutils.h: + androidmedia: Conditionally use get_{input,output}_buffer() Android 21 APIs + Also properly set limit/position on byte buffer, some codecs prefer to have + correct values there. + +2015-05-31 16:53:14 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglwindow.c: + glwindow: fix compiler error + gstglwindow.c:1118:544: error: 'return' with no value, in function returning non-void [-Werror] + g_return_if_fail (GST_GL_IS_WINDOW (window)); + +2015-05-31 15:42:48 +1000 Matthew Waters + + * tests/examples/gl/gtk/filternovideooverlay/main.cpp: + * tests/examples/gl/gtk/filtervideooverlay/main.cpp: + gl/examples: update gtk examples for glupload + +2015-05-31 15:40:15 +1000 Matthew Waters + + * tests/examples/gl/gtk/filtervideooverlay/main.cpp: + * tests/examples/gl/gtk/switchvideooverlay/main.cpp: + gl/examples: update gtk examples for wayland + +2015-05-29 18:06:27 +1000 Matthew Waters + + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c: + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h: + gl/wayland: implement setting the render rectangle + Places our subsurface at the rectangle provided position + +2015-05-29 18:03:52 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + * gst-libs/gst/gl/gstglwindow.c: + * gst-libs/gst/gl/gstglwindow.h: + glwindow: handle gst_video_overlay_set_render_rectangle + +2015-05-29 18:01:29 +1000 Matthew Waters + + * gst-libs/gst/gl/wayland/wayland_event_source.c: + gl/wayland: don't block the event loop after poll + Use the dispatch_pending set of functions which just run the currently + queued up events instead of potentially waiting for an event to occur. + +2015-05-27 16:42:55 +1000 Matthew Waters + + * tests/examples/gl/gtk/gstgtk.c: + * tests/examples/gl/gtk/gstgtk.h: + tests/gl/gtk: implement setting a wayland display/surface + +2015-05-27 16:39:06 +1000 Matthew Waters + + * gst-libs/gst/gl/egl/gstglcontext_egl.c: + * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c: + * gst-libs/gst/gl/wayland/gstgldisplay_wayland.h: + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c: + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h: + gl/wayland: implement basic video overlay support via subsurfaces + Currently does not position the subsurface relative to the parent surface at all + +2015-05-27 15:44:33 +1000 Matthew Waters + + * gst-libs/gst/gl/wayland/wayland_event_source.c: + gl/wayland: allow a NULL wl_event_queue + perform operations on the default wl_display event queue in that case + +2015-05-27 15:43:06 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglutils.c: + gl/utils: implement wayland display GstContext + requried for sharing GL contexts or subsurface support + +2015-05-22 16:07:49 +1000 Matthew Waters + + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c: + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h: + * gst-libs/gst/gl/wayland/wayland_event_source.c: + * gst-libs/gst/gl/wayland/wayland_event_source.h: + gl/wayland: run each window on a separate queue + Based on patch by Julien Isorce + https://bugzilla.gnome.org/show_bug.cgi?id=709747 + +2015-05-30 02:19:25 +1000 Jan Schmidt + + * gst-libs/gst/gl/gstglcolorconvert.c: + gl: Don't leak temp strings in _RGB_pixel_order() + Fix a memory leak of temporary strings when computing + swizzling of RGB formats. + +2015-05-30 02:29:47 +1000 Jan Schmidt + + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + glfilter: Add transform_internal_caps() vfunc + Add a vfunc that is called by glfilter before it sets + caps features and intersects with the peer caps, and + move removing the size from caps into its default + implementation. Allows sub-classes to do more + sophisticated management of the size fields in case they + don't support arbitrary resizing or have distinct + preferences. + +2015-05-30 02:23:44 +1000 Jan Schmidt + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: Don't remove size fields from caps + Instead of removing size fields, set them to the full range + like videoscale does, so the caps are clearly unfixed in + all cases. + +2015-05-10 18:55:16 +1000 Jan Schmidt + + * gst-libs/gst/video/gstvideoaggregator.c: + * gst-libs/gst/video/gstvideoaggregator.h: + videoaggregator: Add class property to disable caps scaling + Add preserve_update_caps_result boolean on the class to allow + sub-classes to disable videoaggregator removing sizes and framerate + from the update_caps() return result. + +2015-05-04 18:17:21 +1000 Jan Schmidt + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Catch errors, and allow sub-class to return NULL from get_output_buffer() + A return value of GST_FLOW_OK with a NULL buffer from get_output_buffer() + means the sub-class doesn't want to produce an output buffer, so + skip it. + If gst_videoaggregator_do_aggregate() generates an error, make sure + to propagate it - don't just ignore and discard the error by + over-writing it with the gst_pad_push() result. + +2015-05-29 16:02:31 +0300 Vivia Nikolaidou + + * ext/rtmp/gstrtmpsink.c: + * ext/rtmp/gstrtmpsink.h: + rtmpsink: Do not crash when receiving buffers after GST_FLOW_ERROR + If the RTMP URI is invalid, the rtmpsink will return GST_FLOW_ERROR. + If it still receives buffers after that, it shouldn't crash. + https://bugzilla.gnome.org/show_bug.cgi?id=750104 + +2015-05-29 09:01:29 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + dashdemux: avoid assertion when splitting buffer + Pass size=-1 as is if that is the case instead of subtracting + the offset. Otherwise we have an invalid size passed for that + buffer. + +2015-05-28 15:59:02 +0200 Santiago Carot-Nemesio + + * ext/dtls/gstdtlssrtpdec.c: + dtlssrtpdec: Release requested pads + https://bugzilla.gnome.org/show_bug.cgi?id=750036 + +2015-05-28 15:57:10 +0200 Santiago Carot-Nemesio + + * ext/dtls/gstdtlsdec.c: + dtlsdec: Remove unnecessary ref/unref operations + https://bugzilla.gnome.org/show_bug.cgi?id=750036 + +2015-05-28 15:55:03 +0200 Santiago Carot-Nemesio + + * ext/dtls/gstdtlsdec.c: + dtlsdec: Fix release request pad function + Don't unref the pad reference we don't own and just remove the pad. + https://bugzilla.gnome.org/show_bug.cgi?id=750036 + +2015-05-28 14:30:46 +0200 Edward Hervey + + * ext/hls/m3u8.c: + hlsdemux: Search more when advancing fragment + In live situations, it is not uncommon for the current fragment to end + up out of the (updated) play range (lowest/highest sequence). But the next + fragment to play *is* present in the play range. + When advancing, if we can't find the current GstM3U8MediaFile, don't abort + straight away. Instead, look if a GstM3U8MediaFile with the next sequence value + is present, and if so switch to it. + https://bugzilla.gnome.org/show_bug.cgi?id=750028 + +2015-05-27 10:58:10 +0100 Julien Isorce + + * configure.ac: + * ext/gl/gstglimagesink.c: + * gst-libs/gst/gl/Makefile.am: + * gst-libs/gst/gl/gpuprocess/Makefile.am: + * gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.c: + * gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.h: + * gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.c: + * gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.h: + * gst-libs/gst/gl/gstglapi.c: + * gst-libs/gst/gl/gstglapi.h: + gl: add GstGLContextGPUProcess backend + It builds its GL vtable from a proc address provided + by the application. + +2015-05-27 16:28:39 +0100 Julien Isorce + + * ext/gl/gstgleffects.c: + * ext/gl/gstglfiltershader.c: + * gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglframebuffer.c: + * gst-libs/gst/gl/gstglmemory.c: + * gst-libs/gst/gl/gstglutils.c: + * gst-libs/gst/gl/gstglutils.h: + gl: add and use gst_gl_internal_format_rgba + Previously when compiling GstGL with both GL and GLES2, + GL_RGBA8 was picked from GL/gl.h. But a clash may happen at + runtime when one is selecting GLES2. + gst_gl_internal_format_rgba allows to check at runtime + if it should use GL_RGBA or GL_RGBA8. + +2015-05-27 14:10:16 +0100 Julien Isorce + + * gst-libs/gst/gl/gstglwindow.c: + * gst-libs/gst/gl/x11/gstglwindow_x11.c: + * gst-libs/gst/gl/x11/gstglwindow_x11.h: + glwindow_x11: use parent default implementation + +2015-05-27 11:16:32 +0100 Julien Isorce + + * gst-libs/gst/gl/x11/gstglcontext_glx.c: + glcontext_glx: rename variable from window to context + +2015-05-27 11:11:55 +0100 Julien Isorce + + * gst-libs/gst/gl/gstglwindow.c: + glwindow: initialize debug in class_init + Useful if one uses gst_gl_window_x11_new directly + instead of gst_gl_window_new. + +2015-05-27 11:07:38 +0100 Julien Isorce + + * gst-libs/gst/gl/gstglcontext.c: + glcontext: initialize debug in class_init + Useful if one uses gst_gl_context_egl_new directly + instead of gst_gl_context_new. + +2015-05-27 10:55:20 +0100 Julien Isorce + + * gst-libs/gst/gl/gstglcontext.c: + * gst-libs/gst/gl/gstglcontext.h: + glcontext: add gst_gl_context_set_display helper + +2015-05-27 15:25:40 +0100 Julien Isorce + + * gst-libs/gst/gl/gstglcontext.h: + glcontext: add missing _CAST after G_TYPE_CHECK_CLASS + +2015-05-27 10:51:54 +0100 Julien Isorce + + * gst-libs/gst/gl/gstglwindow.h: + glwindow: add missing _CAST after G_TYPE_CHECK_CLASS + +2015-05-26 18:38:39 +0100 Julien Isorce + + * gst-libs/gst/gl/gstglwindow.c: + glwindow: provides some default implementations to factorize with all backends + +2015-05-28 00:59:39 +1000 Jan Schmidt + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Push EOS on error return. + Before shutting down the srcpad task due to a + downstream error, push an EOS to give downstream + a chance to shut down somewhat cleanly. + +2015-05-27 13:12:57 +0100 Luis de Bethencourt + + * gst/mpegtsmux/mpegtsmux.c: + mpegtsmux: don't overwrite value + Value of res is reset to FALSE in each iteration of the while loop. We want to + conserve TRUE if any pad event succeeded until we arrive to done. + Also, buf is set to the value of *outbuf twice. Removing the first assignment + since the second one is outside of a conditional. + +2015-05-27 13:08:46 +0100 Luis de Bethencourt + + * ext/opencv/gstretinex.c: + opencv: 'for' loop initial declaration + 'for' loop initial declarations are not allowed in C89, moving the declarations + to before the 'for' loops. + +2015-05-27 13:05:11 +0100 Luis de Bethencourt + + * ext/gl/gstgleffects.c: + gleffects: 'for' loop initial declaration + 'for' loop initial declarations are not allowed in C89, moving the declarations + to before the 'for' loops. + +2015-05-27 12:03:42 +0100 Luis de Bethencourt + + * ext/resindvd/gstmpegdemux.c: + resindvd: remove unused value + The data variable is incremented but never read again. Remove the unused value + assignment. + +2015-05-27 06:17:49 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + * ext/hls/gsthlsdemux.h: + hlsdemux: remove more unused attributes + Those are not used or only read + +2015-05-27 05:35:30 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + * ext/hls/gsthlsdemux.h: + hlsdemux: remove unused attribute + It is never read for anything useful + +2015-05-26 16:47:47 -0400 Xavier Claessens + + * ext/gl/gstgloverlay.c: + gloverlay: fix a leak + https://bugzilla.gnome.org/show_bug.cgi?id=749846 + +2015-05-26 15:10:28 -0400 Xavier Claessens + + * ext/gl/gstgloverlay.c: + gloverlay: properly handle errors while loading file + Post an error on the bus if anything bad happens while reading + and parsing the image file. + https://bugzilla.gnome.org/show_bug.cgi?id=749846 + +2015-05-26 15:04:34 -0400 Xavier Claessens + + * ext/gl/gstgloverlay.c: + * ext/gl/gstgloverlay.h: + gloverlay: remove unused type_file field + https://bugzilla.gnome.org/show_bug.cgi?id=749846 + +2015-05-26 15:01:37 -0400 Xavier Claessens + + * gst-libs/gst/gl/gstglfilter.c: + gl: propagate return value from filter and filter_texture + https://bugzilla.gnome.org/show_bug.cgi?id=749846 + +2015-05-26 16:39:59 +0100 Luis de Bethencourt + + * gst/dvbsuboverlay/dvb-sub.c: + dvbsuboverlay: remove unused assignment + buf is incremented just before returning, this new value is never used. + Removing unused assignment. + +2015-05-26 15:24:52 +0100 Luis de Bethencourt + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: 'for' loop initial declaration + 'for' loop initial declarations are only allowed in C89, moving the declaration + to before the 'for' loop. + +2015-05-26 14:14:34 +0100 Vineeth T M + + * gst/gaudieffects/gstexclusion.c: + exclusion: exception when set factor to 0 + When factor property is set to 0, transform just returns. + Adjust the minimum value to 1. + https://bugzilla.gnome.org/show_bug.cgi?id=743907 + +2015-05-26 12:47:40 +1000 Matthew Waters + + * ext/gl/gstgleffects.c: + gleffects: properly initialize the shaders across contexts implementing multiple API's + +2015-05-26 12:44:47 +1000 Matthew Waters + + * ext/gl/effects/gstgleffectssources.c: + gleffects_laplacian: fix shader compilation in gl3/gles2 + https://bugzilla.gnome.org/show_bug.cgi?id=748393 + +2015-05-25 12:33:50 +0200 Patricia Muscalu + + * configure.ac: + * ext/curl/gstcurlbasesink.c: + * ext/curl/gstcurlbasesink.h: + curlsink: handle socket callback for active FTP connections as well + Since version 7.28.0, libcurl allows application to set + socket options for active FTP connections. + Bump libcurl requirement to version tested. + https://bugzilla.gnome.org/show_bug.cgi?id=749815 + +2015-05-20 12:08:38 +0100 David Waring + + * ext/dash/gstmpdparser.c: + dashdemux: Fix segfault introduced by segment iteration refactoring (2105a310). + The functions to get the next fragment, next fragment timestamp and to advance + to the next fragment need to work differently when stream->segments is NULL. + Use logic similar to that introduced by commit 2105a310 to perform these + functions. + https://bugzilla.gnome.org/show_bug.cgi?id=749684 + +2015-05-18 22:33:50 -0300 Thiago Santos + + * ext/dash/gstmpdparser.c: + * ext/dash/gstmpdparser.h: + dashdemux: use signed integet to represent segment index + We need to be able to represent -1 to check when we are EOS + on reverse playback and unsigned integer won't allow that. + CID #1298193 + CID #1298194 + CID #1298195 + https://bugzilla.gnome.org/show_bug.cgi?id=749534 + +2015-05-25 10:30:55 +0900 Suhwang Kim + + * ext/dash/gstdashdemux.c: + dashdemux: fix outdated example launch line + https://bugzilla.gnome.org/show_bug.cgi?id=749809 + +2015-05-22 13:12:09 +1000 Matthew Waters + + * gst-libs/gst/gl/wayland/wayland_event_source.c: + gl/wayland: remove dead event source code + +2015-05-21 17:48:31 +1000 Matthew Waters + + * gst-libs/gst/gl/gstgldisplay.c: + * gst-libs/gst/gl/wayland/Makefile.am: + * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c: + * gst-libs/gst/gl/wayland/gstgldisplay_wayland.h: + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c: + gl/wayland: add GstGLDisplayWayland + Simple implementation split from GstGLWindowWayland + Can now have multiple glimagesink elements all displaying output + linked via GL or otherwise (barring GL platform limitations). + The intel driver is racy and can crash setting up the two glimagesink contexts. + e.g. + videotestsrc ! tee name=t ! queue ! glupload ! glimagesinkelement + t. ! queue ! gleffects_blur ! glimagesinkelement + videotestsrc ! glupload ! glfiltercube ! tee name=t ! queue ! glimagesinkelement + t. ! queue ! gleffects_blur ! glimagesinkelement + +2015-05-25 17:27:58 +1000 Matthew Waters + + * ext/gl/gstgltransformation.c: + gltransformation: fix DrawElements call for element array buffers + https://bugzilla.gnome.org/show_bug.cgi?id=749734 + +2015-05-23 01:00:18 +1000 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: + gl/calayer: provide the exact GL api version for the wrapped context + Otherwise we could end up being mistaken for the diference between a + gl3 and a gl2 context resulting in a failure getting the list of + extensions from the wrapped context due to the difference between + glGetString and glGetStringi for the GL_EXTENSIONS token. + https://bugzilla.gnome.org/show_bug.cgi?id=749728 + +2015-05-22 02:40:37 +0900 Jimmy Ohn + + * ext/dash/gstdashdemux.c: + dashdemux: remove unnecessary semicolon + https://bugzilla.gnome.org/show_bug.cgi?id=749691 + +2015-05-21 15:30:34 -0400 Xavier Claessens + + * gst-libs/gst/gl/win32/gstglwindow_win32.c: + gl: win32: do not call SetParent in release_parent_win_id() + When called from gst_gl_window_win32_close(), internal window + could not exist, and if it does it's going to be destroyed just + after that anyway. Also it causes window_proc() to be called + and crash because it gets a NULL context. + When called from gst_gl_window_win32_set_window_handle() we are + going to set another parent anyway, and it's probably better to + reparent directly instead of passing by a NULL parent which could + cause the internal window to popup briefly. + https://bugzilla.gnome.org/show_bug.cgi?id=749601 + +2015-05-21 15:30:00 -0400 Xavier Claessens + + * gst-libs/gst/gl/win32/gstglwindow_win32.c: + gl: win32: remove unused code + https://bugzilla.gnome.org/show_bug.cgi?id=749601 + +2015-05-20 17:09:21 -0400 Xavier Claessens + + * gst-libs/gst/gl/win32/gstglwindow_win32.c: + gl: win32: fix crash when finalizing GstGLContext + gst_gl_context_finalize() is calling gst_gl_window_win32_quit() + which was posting a message. But then window_proc takes window's + context and get a NULL. + Now that we've got a GMainLoop we can do like other backends and + simply call g_main_loop_quit(). + This also remove duplicated code to release the parent window and + potential crash there because parent_proc could be NULL if we never + created the internal window. That could happen for example if setting + state to READY then setting a window_handle, and go back to NULL state. + https://bugzilla.gnome.org/show_bug.cgi?id=749601 + +2015-05-20 17:06:42 -0400 Xavier Claessens + + * gst-libs/gst/gl/win32/gstglwindow_win32.c: + gl: win32: Fix leaked GstGLContext + https://bugzilla.gnome.org/show_bug.cgi?id=749601 + +2015-05-20 15:30:49 -0400 Xavier Claessens + + * gst-libs/gst/gl/win32/gstglwindow_win32.c: + gl: win32: set the parent window when creating internal window + When _set_window_handle() was called in READY state, it wasn't + set to the internal window created later. + https://bugzilla.gnome.org/show_bug.cgi?id=749601 + +2015-05-20 15:29:50 -0400 Xavier Claessens + + * gst-libs/gst/gl/win32/Makefile.am: + * gst-libs/gst/gl/win32/gstglwindow_win32.c: + * gst-libs/gst/gl/win32/gstglwindow_win32.h: + * gst-libs/gst/gl/win32/win32_message_source.c: + * gst-libs/gst/gl/win32/win32_message_source.h: + gl: win32: use a GMainContext to dispatch win32 messages + gst_gl_window_win32_send_message_async() could be called before the + internal window is created so we cannot use PostMessage there. + x11 and wayland backends both create a custom GSource for this, + so there is no reason to not do that for win32. + https://bugzilla.gnome.org/show_bug.cgi?id=749601 + +2015-05-22 00:27:36 +1000 Jan Schmidt + + * gst-libs/gst/gl/gstglupload.c: + glupload: Don't leak all memory uploaded via raw uploads. + Remove an extra ref missed when switching over to not + reusing output textures + +2015-05-21 16:24:48 +0300 Sebastian Dröge + + * ext/gl/gstglvideomixer.c: + * gst/compositor/compositor.c: + compositor/glvideomixer: Don't calculate PAR/DAR with unset GstVideoInfos + Otherwise we divide by zero. + +2015-05-21 16:19:08 +0300 Sebastian Dröge + + * gst/compositor/compositor.c: + compositor: Fix double assignment + +2015-05-21 15:05:33 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglcontext.c: + glcontext: require a shader version to initialize. + It's very near pointless to try our GL implementation without shaders. + https://bugzilla.gnome.org/show_bug.cgi?id=749284 + +2015-05-20 02:38:53 +1000 Jan Schmidt + + * tests/examples/gl/generic/cube/Makefile.am: + * tests/examples/gl/generic/cubeyuv/Makefile.am: + * tests/examples/gl/generic/doublecube/Makefile.am: + Fix flags order in GL examples for uninstalled build + +2015-05-20 01:57:52 +1000 Jan Schmidt + + * sys/wasapi/Makefile.am: + wasapi: Fix flags order for uninstalled build + +2015-05-21 00:56:01 +1000 Matthew Waters + + * ext/gl/gstglvideomixer.c: + * gst/compositor/compositor.c: + compositor/glvideomixer: fix up par handling + We were using the wrong formula + https://bugzilla.gnome.org/show_bug.cgi?id=749634 + +2015-04-17 15:36:49 +0200 Edward Hervey + + * gst/videoparsers/gsth264parse.c: + h264parse: Consider SEI NALU as "HEADER" packets + Like SPS/PPS they do contain information which will be needed to + decode the following data (as per definition of the flag) + Also ensures that the series of SPS/PPS/SEI NALU before a keyframe + can be considered as one contiguous header + +2015-04-17 15:35:43 +0200 Edward Hervey + + * gst/mpegtsmux/mpegtsmux.c: + * gst/mpegtsmux/mpegtsmux.h: + mpegtsmux: Carry over GST_BUFFER_FLAG_HEADER + In the same way we do it for the DELTA_UNIT flag + This allows downstream elements to know whether a given mpeg-ts + packet contains a corresponding HEADER elementary unit + +2015-05-20 12:11:31 +0200 Thijs Vermeir + + * ext/x265/gstx265enc.c: + x265enc: Only copy VPS/SPS/PPS NAL units in header buffer + Previously the VPS unit was detected and all next packets where copied + into the header buffer assuming only SPS and PPS would follow. This is + not always true, also other types of NAL units follow the VPS unit and + where copied to the header buffer. Now the VPS/SPS/PPS are explicitely + detected and copied in the header buffer. + +2015-05-20 11:27:25 +0200 Thijs Vermeir + + * ext/x265/gstx265enc.c: + x265enc: Fix tune parameter mismatch + There was a mismatch between the tune parameter in x265 and the enum + used in this element. The value in the enum is the x265 tune + parameter + 1. + +2015-05-19 18:02:30 +0300 Sebastian Dröge + + * sys/androidmedia/gstamcaudiodec.c: + * sys/androidmedia/gstamcaudiodec.h: + amcaudiodec: Add an output adapter for chunking the output into codec frames + Otherwise the base class will be confused. + See https://bugzilla.gnome.org/show_bug.cgi?id=685730 + +2015-05-19 10:43:28 -0400 Xavier Claessens + + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglframebuffer.c: + gl: fix crash on windows with intel driver + https://bugzilla.gnome.org/show_bug.cgi?id=749430 + +2015-05-20 00:50:37 +1000 Matthew Waters + + * ext/gl/caopengllayersink.m: + caopengllayersink: static const the indices array + the contents will never change anyway. + +2015-05-20 00:28:52 +1000 Matthew Waters + + * ext/gl/caopengllayersink.h: + * ext/gl/caopengllayersink.m: + caopengllayersink: correctly use the sync meta across multiple contexts + 1. Set the sync point after the (possible) upload has occured + 2. Wait in the correct GL context (the draw context) + Note: We don't add the GL sync meta to the input buffer as it's not + writable and a copy would be expensive. + Similar to the change with the same name for glimagesink + +2015-05-20 00:28:07 +1000 Matthew Waters + + * ext/gl/caopengllayersink.h: + * ext/gl/caopengllayersink.m: + caopengllayersink: update for GL3 element array buffer usage + fixes blank output + +2015-05-19 16:22:00 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + glimagesink: correctly use the sync meta across multiple contexts + 1. Set the sync point after the (possible) upload has occured + 2. Wait in the correct GL context (the draw context) + Note: We don't add the GL sync meta to the input buffer as it's not + writable and a copy would be expensive. + +2015-05-19 16:19:41 +1000 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.h: + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: + gl/calayer: provide a current wrapped GstGLContext for callbacks + So that the draw and resize callbacks can get the current GstGLContext. + +2015-05-19 16:14:39 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglsyncmeta.c: + glsyncmeta: ensure that the Fence is going to be executed + Otherwise it could stay client side without being submitted to the GL + server resulting in another context waiting on a Fence that will never + become signalled causing a deadlock. + +2015-05-19 11:47:23 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglupload.c: + glupload: don't reuse output textures for raw data upload + Causes stale textures to be used further down the chain. + +2015-05-19 11:11:02 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglframebuffer.c: + glframebuffer: don't clear the framebuffer + Breaks attempting to blend with the destination buffer and should be done + explicitly by the callback anyway. + +2015-05-19 11:09:54 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglbasefilter.c: + glbasefilter: track gl_start/stop correctly + Don't start multiple times without calling gl_stop. + +2015-05-18 20:16:32 +0200 Stefan Sauer + + * gst/audiomixer/gstaudiomixer.c: + * gst/compositor/compositor.c: + Revert "doc: Workaround gtkdoc issue" + This reverts commit ff6c736fe08e01f4320c4b02e811a0b57cf97cc1. + This is fixed by the gtk-doc 1.23 release. + cannot contain : + http://www.docbook.org/tdg/en/html/para.html + http://www.docbook.org/tdg/en/html/refsect2.html + +2015-05-14 02:11:50 +0900 Jimmy Ohn + + * ext/hls/gsthlsdemux.c: + * ext/hls/m3u8.c: + hlsdemux: Simplify logic in process_manifest + Simplify logic in process_manifest and remove a TODO item. + https://bugzilla.gnome.org/show_bug.cgi?id=749328 + +2015-05-18 14:12:56 +0900 Vineeth T M + + * ext/opencv/gstcvsmooth.c: + * ext/opencv/gstcvsmooth.h: + cvsmooth: rename properties + The properties are named as param1 to param4, which makes very little sense + hence renamed the properties according to what it is doing. + https://bugzilla.gnome.org/show_bug.cgi?id=749523 + +2015-05-18 14:01:59 +0900 Vineeth T M + + * ext/opencv/gstcvsmooth.c: + cvsmooth: Wrong assignment of prop leads to crash + when setting param2 property, it is wrongly being assigned to param1. + This leads to wrong behavior and a crash when param2 is set as 0. + https://bugzilla.gnome.org/show_bug.cgi?id=749523 + +2015-05-18 14:30:19 +0900 Vineeth T M + + * ext/opencv/gstpyramidsegment.c: + pyramidsegment: wrong value of level property + The property level has a minimum value of 0. But when we set the level as 0, + it gets an assertion error. The function icvPyrSegmentation8uC3R returns false + if level is set as 0, since the minimum level cant be 0 and thus results in error. + Hence changing the minimum value to 1. + https://bugzilla.gnome.org/show_bug.cgi?id=749525 + +2015-05-16 23:38:14 -0400 Nicolas Dufresne + + * gst/audiomixer/gstaudiomixer.c: + * gst/compositor/compositor.c: + doc: Workaround gtkdoc issue + With gtkdoc 1.22, the XML generator fails when a itemizedlist is + followed by a refsect2. Workaround the issue by wrapping the + refsect2 into para. + +2015-05-06 15:17:24 +0100 Vincent Penquerc'h + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: fix buffer timestamp not being in stream time + Timestamps should start at the segment start, rather than 0, so + we need to not subtract the first timestamp. This makes the sink + correctly account for running time when switching PMTs where a + stream starts not quite at zero, causing timing offsets that can + become noticeable and causing dropped frames after a few times. + +2015-05-06 15:16:37 +0100 Vincent Penquerc'h + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: accumulate previous segment base time + +2015-04-24 12:56:02 +0100 Vincent Penquerc'h + + * gst/mpegtsdemux/mpegtsbase.c: + tsdemux: fix refcounting when applying a new PMT + A new program object is created to replace an existing one + in the programs hash table, so its refcount needs to match. + With the default of 0 refcount on creation, the next PAT + change will cause that refcount to be both incremented and + decremented (assuming the new PAT references that stream too), + which will cause the program to be destroyed. + https://bugzilla.gnome.org/show_bug.cgi?id=748412 + +2015-05-14 16:06:55 +0200 Jose Antonio Santos Cadenas + + * ext/dtls/gstdtlsdec.c: + * ext/dtls/gstdtlsenc.c: + * ext/dtls/gstdtlssrtpdec.c: + * ext/dtls/gstdtlssrtpenc.c: + dtls: Fix memory leak + Keys were not correctly released when it was get as a property + nor when a second key was received + https://bugzilla.gnome.org/show_bug.cgi?id=749380 + +2015-05-14 21:21:01 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: free the vertex buffer when done + fixes a memory leak + +2015-01-22 18:00:36 +1100 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h: + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + glcontext/cocoa: implement GL3 core context selection + +2015-05-14 18:35:35 +1000 Matthew Waters + + * tests/check/libs/gstglcontext.c: + tests/gl: fix typo + +2015-05-14 16:42:09 +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/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/gltestsrc.c: + * ext/gl/gstgldeinterlace.c: + * ext/gl/gstgldifferencematte.c: + * ext/gl/gstglfilterglass.c: + * ext/gl/gstglimagesink.c: + * ext/gl/gstglmosaic.c: + * ext/gl/gstgloverlay.c: + * ext/gl/gstglvideomixer.c: + * gst-libs/gst/gl/gstglfilter.c: + * tests/check/libs/gstglcontext.c: + * tests/check/libs/gstglupload.c: + gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls + We are using shaders everywhere and so they are not needed + +2015-05-14 15:10:59 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + glimagesink: cleanup properties + remove unused "display-name" + ensure defaults between the bin/element are the same + +2015-05-14 14:56:30 +1000 Matthew Waters + + * ext/gl/gstgleffects.c: + gleffects: only try the GL2 shader init path if we have a GL2 context + +2015-05-12 22:04:26 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglshader.c: + glshader: attempt to detect the gles2 inside opengl3 case + This is necessary to use gles2 shaders in a GL 3 core context on + OS X which fails without a proper #version being set on the shaders. + +2015-05-12 17:55:43 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglshader.c: + glshader: remove references to gl3 specific shaders + We rely specifically on gles2 shaders being supported by the GL + implementation with GL3 core profile. + +2015-05-01 12:04:28 +1000 Matthew Waters + + * ext/gl/gstglfiltercube.c: + * ext/gl/gstglfiltercube.h: + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + * ext/gl/gstgloverlay.c: + * ext/gl/gstgloverlay.h: + * ext/gl/gstgltransformation.c: + * ext/gl/gstgltransformation.h: + * ext/gl/gstglvideomixer.c: + * ext/gl/gstglvideomixer.h: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + gl: element buffers are part of vao state + Use them as such. They are also required for GL3 core profile support + with glDrawElements on OS X. + +2015-05-07 12:25:10 +0700 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: properly detect (hopefully) the correct ext_rg/arb_rg variant + GL_EXT_texture_rg is only valid for GLES2. GLES3 uses similar wording to + the GL_ARB_texture_rg which requires a sized internal format that the + GL_EXT_texture_rg does not require. + https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_rg.txt + https://www.opengl.org/registry/specs/ARB/texture_rg.txt + +2015-05-14 13:04:21 +1000 Matthew Waters + + * gst-libs/gst/video/gstvideoaggregator.c: + * gst/compositor/compositor.c: + compositor: implement proper par handling + We were previously failing on different input and output par + +2015-05-12 13:41:19 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + * ext/dash/gstmpdparser.c: + * ext/dash/gstmpdparser.h: + dashdemux: avoid busy-looping when waiting for new fragment + When all fragments have already been downloaded on a live stream + dashdemux would busy loop as the default implementation of + has_next_fragment would return TRUE. Implement it to correctly + signal if adaptivedemux should wait for the manifest update before + trying to get new fragments. + +2015-05-11 14:19:20 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + * ext/dash/gstmpdparser.c: + * ext/dash/gstmpdparser.h: + dashdemux: Improve live stream manifest update repositioning + When updating the manifest the timestamps on it might have changed a little + due to rounding and timescale conversions. If the change makes the timestamp + of the current segment to go up it makes dashdemux reposition to the previous + one causing one extra unnecessary download. + So when repositioning add an extra 10 microseconds to cover for that rounding + issues and increase the chance of falling in the same segment. + Additionally, also improve the time used when the client is already after the + last segment. Instead of using the last segment starting timestamp use the + final timestamp to make it reposition to the next one and not to the one that + has already been downloaded. + +2015-05-11 12:30:03 -0300 Thiago Santos + + * ext/dash/gstmpdparser.c: + dashdemux: add more protection when acessing gptrarray entries + The glib structure doesn't do range checking so we have to do it + ourselves. + Also adds some more debugging messages + +2015-05-08 16:58:36 -0300 Thiago Santos + + * ext/dash/gstmpdparser.c: + * ext/dash/gstmpdparser.h: + dashdemux: remove unused functions + These functions of directly getting and setting segment indexes + are no longer useful as now we need 2 indexes: repeat and segment + index. + The only operations needed are advance_segment, going back to the + first one or seeking for a timestamp. + +2015-05-08 16:49:02 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + * ext/dash/gstmpdparser.c: + * ext/dash/gstmpdparser.h: + dashdemux: reuse seeking function to reduce repeated code + Instead of writing a seek routine, just use the mpdparser function. + Also remove function that is not needed anymore + +2015-05-08 16:31:44 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + * ext/dash/gstmpdparser.c: + * ext/dash/gstmpdparser.h: + dashdemux: refactor segment iteration for better performance + Segments are now stored with their repeat counts instead of spanding + them to multiple segments. This caused advancing to the next segment + using a single index to have to iterate over the whole list every time. + This commit addresses this by storing both the segment index as well + as the repeat index and makes advancing to next segment just an + increment of the repeat or the segment index. + +2015-05-07 16:30:48 -0300 Thiago Santos + + * ext/dash/gstmpdparser.c: + * ext/dash/gstmpdparser.h: + dashdemux: improve mpd parsing for repeated segment entries + Use a single segment to represent it internally to avoid using too + much memory. This has the drawback of issuing a linear search to + find the correct segment to play but this can be fixed by using + binary searches or caching the current position and just looking + for the next one. + https://bugzilla.gnome.org/show_bug.cgi?id=748369 + +2015-05-12 12:55:42 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: drop debug message that was wrong + EOS doesn't necessarily mean that no fragment was downloaded + +2015-05-12 12:55:17 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: run gst-indent + To allow commiting on this file cleanly + +2015-05-11 11:56:52 -0300 Thiago Santos + + * gst/mpegtsmux/mpegtsmux.c: + mpegtsmux: the parent is provided in the function + No need to get it again + +2015-05-13 15:59:48 +0200 Jose Antonio Santos Cadenas + + * ext/dtls/gstdtlsenc.c: + dtlsenc: Fix memory leak releasing connection_id + https://bugzilla.gnome.org/show_bug.cgi?id=749318 + +2015-05-13 15:33:49 +0200 Jose Antonio Santos Cadenas + + * ext/dtls/gstdtlsenc.c: + dtlsenc: Fix memory leak while setting connection-id + https://bugzilla.gnome.org/show_bug.cgi?id=749318 + +2015-05-13 17:15:57 +0200 Jose Antonio Santos Cadenas + + * ext/dtls/gstdtlsdec.c: + dtlsdec: Fix memory leak, release previous pem + https://bugzilla.gnome.org/show_bug.cgi?id=749322 + +2015-05-13 16:06:52 +0200 Jose Antonio Santos Cadenas + + * ext/dtls/gstdtlsdec.c: + dtlsdec: Fix memory leak on dispose + Parent dispose function was not called + https://bugzilla.gnome.org/show_bug.cgi?id=749322 + +2015-05-13 17:19:25 +0200 Jose Antonio Santos Cadenas + + * ext/dtls/gstdtlsconnection.c: + dtlsconnection: Fix memory leak while setting closure + https://bugzilla.gnome.org/show_bug.cgi?id=749325 + +2015-05-13 16:23:26 +0200 Wim Taymans + + * configure.ac: + fix faad2 version check + On fedora 22, the output of cpp inserts extra debug comments, which + makes our regexp for the faad2 version check fail. This in turn causes + it to compile with the wrong arguments passed which then causes stack + corruption and crashes. + Fix this by only checking for the version (which should be by itself on + a single line). This is potentially less safe, it might be possible that + a similar string would appear in a later version in the header file. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=748571 + +2015-05-13 23:55:28 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglcontext.c: + glcontext: propagate the version/extension failure upwards + Otherwise the calling code has no idea that the context failed to + be created fully. + https://bugzilla.gnome.org/show_bug.cgi?id=749284 + +2015-05-13 23:54:52 +1000 Matthew Waters + + * ext/gl/gstglbasemixer.c: + * ext/gl/gstglimagesink.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglbasefilter.c: + gl: don't deadlock on context creation failure + https://bugzilla.gnome.org/show_bug.cgi?id=749284 + +2015-05-13 15:42:15 +0300 Sebastian Dröge + + * ext/gl/gstglmixerbin.c: + glmixerbin: Don't unref pad templates + Otherwise we unref the reference that is owned by the element class. + +2015-05-13 12:31:44 +0100 Tim-Philipp Müller + + * ext/srtp/gstsrtpenc.c: + srtpenc: fix failure return values from create_session() + create_session() returns an err_status_t with + err_status_ok=0 and err_status_fail=1, so + returning TRUE/FALSE is not quite right. + https://bugzilla.gnome.org/show_bug.cgi?id=749304 + +2015-05-13 13:14:14 +0200 Miguel París Díaz + + * ext/srtp/gstsrtpenc.c: + srtpenc: fix over unlocking + Called should call function with lock, and is + also responsible for unlocking it later. + https://bugzilla.gnome.org/show_bug.cgi?id=749304 + +2015-05-12 15:47:33 +0800 Lyon Wang + + * gst/videoparsers/h263parse.c: + h263parse: fix custom picture format (CPFMT) parsing + In the H263 spec, CPFMT is present only if the use of a custom + picture format is signalled in PLUSEPTYPE and UFEP is "001", + so we need to check params->format and only if the value is + 6 (custom source format) the CPFMT should be read, otherwise + it's not present and wrong data will be parsed. + When reading the CPFMT, the width and height were not + calculated correctly (wrong bitmask). + https://bugzilla.gnome.org//show_bug.cgi?id=749253 + +2015-05-13 17:38:35 +1000 Matthew Waters + + * gst/compositor/compositor.c: + * tests/check/elements/compositor.c: + compositor: fix rectangle obscure test to clamp against the output frame size + Rather than one of the input pad video info's. + The test checking this was not constraining the output frame size + to ensure that the out of frame stream was not being displayed. + +2015-05-13 17:11:55 +1000 Matthew Waters + + * ext/gl/gstglvideomixer.c: + glvideomixer: implement par handling + We were previously ignoring it completely + +2015-05-13 17:10:42 +1000 Matthew Waters + + * ext/gl/gstglvideomixer.c: + glvideomixer: don't upload the vertex data every frame + Add the missing cache tracking statement. + +2015-05-12 16:36:58 -0400 Nicolas Dufresne + + * ext/gl/gstgluploadelement.c: + gluploadelement: Remove uneeded header and defines + +2015-05-11 15:02:02 -0400 Nicolas Dufresne + + * ext/gl/gstgltestsrc.c: + gltestsrc: Use default get_caps implementation + The custom code is wrong as it ignores the templates, which leads to + missing fields in the result. Instead, simply use the default get_caps + implementation which does it correctly (get the template, intersect + with filter and return). + https://bugzilla.gnome.org/show_bug.cgi?id=749237 + +2015-05-11 15:54:52 +0300 Sebastian Dröge + + * ext/gl/gstglmixer.c: + glmixer: Implement GstVideoAggregator::find_best_format() + Without this, we will fixate weird pixel-aspect-ratios like 1/2147483647. But + in the end, all the negotiation code in videoaggregator needs a big cleanup + and videoaggregator needs to get rid of the software-mixer specific things + everywhere. + +2015-05-11 22:53:09 +1000 Matthew Waters + + * ext/gl/gstopengl.c: + gl: demote upload/convert/download elements to none + Copy paste error + +2015-05-11 22:37:44 +1000 Matthew Waters + + * ext/gl/gstopengl.c: + gl: expose internal glvideomixerelement\ + We might want more control over the exact pipeline + Also reduces overhead + +2015-05-11 22:35:18 +1000 Matthew Waters + + * ext/gl/gstopengl.c: + gl: expose internal glimagesinkelement + We might want more control over the exact pipeline. + Also reduces overhead. + +2015-05-07 21:18:27 +0200 Ilya Konstantinov + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: fix unconditional buffer queue unlock + Unless stopRequest is set, we should unlock conditionally -- otherwise, + the 'create:' method can wake up to an empty buffer queue + and pull a nil buffer. + https://bugzilla.gnome.org/show_bug.cgi?id=748054 + +2015-05-11 12:18:28 +0200 Heinrich Fink + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + decklink: Rename mode 2048p to 1556p + https://bugzilla.gnome.org/show_bug.cgi?id=749218 + +2015-05-11 12:04:47 +0200 Heinrich Fink + + * sys/decklink/gstdecklink.cpp: + decklink: Use correct frame rate for mode 2160p50 + https://bugzilla.gnome.org/show_bug.cgi?id=749218 + +2015-05-11 12:02:47 +0200 Heinrich Fink + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + decklink: Rename mode 3184p to 2160p + https://bugzilla.gnome.org/show_bug.cgi?id=749218 + +2015-01-22 15:43:22 +0100 Piotr Drąg + + * po/POTFILES.in: + * po/POTFILES.skip: + po: update POTFILES.skip and POTFILES.in + The ones in .skip need to be added back to POTFILES.in + after porting to 1.x. + https://bugzilla.gnome.org/show_bug.cgi?id=743352 + +2015-05-08 14:20:44 +0100 Luis de Bethencourt + + * gst/removesilence/gstremovesilence.c: + removesilence: remove gst_remove_silence_reset() + No need to call gst_remove_silence_reset() in gst_remove_silence_init() because + vad_new() already calls this function. Since there are no more uses of + _silence_reset(), we can remove it altogether. + +2015-05-08 14:55:28 +0200 Sebastian Dröge + + * sys/applemedia/vtdec.c: + vtdec: We shouldn't manually check reconfigure flag on pads but instead implement ::negotiate() + Add FIXME comment related to that. + +2015-05-08 13:54:06 +0100 Luis de Bethencourt + + * gst/asfmux/gstasfmux.c: + * gst/debugutils/fpsdisplaysink.c: + * gst/mxf/mxfdv-dif.c: + * gst/mxf/mxfmux.c: + * gst/videomeasure/gstvideomeasure_ssim.c: + * gst/videoparsers/gsth264parse.c: + * gst/videoparsers/gsth265parse.c: + Update references to decodebin + Update old references for decodebin2 to decodebin. + +2015-05-08 13:49:38 +0100 Luis de Bethencourt + + * gst/removesilence/gstremovesilence.c: + removesilence: update example launch line + +2015-05-07 21:04:30 +0200 Sebastian Dröge + + * ext/dtls/gstdtlssrtpdec.c: + * ext/dtls/gstdtlssrtpdec.h: + dtlssrtpdec: Don't merge RTP and RTCP streams that were just split by srtpdec + The funnel has some overhead, and later rtpbin will have to split both streams + again anyway. + https://bugzilla.gnome.org/show_bug.cgi?id=748723 + +2015-05-06 15:47:27 +0200 Sebastian Dröge + + * ext/gl/gstglimagesink.c: + Revert "Revert "glimagesink: add pixel-aspect-ratio property on the bin"" + This reverts commit d96e43b034a03fe54633907bc1bf2a26fe5f95fb. + +2015-05-06 15:47:20 +0200 Sebastian Dröge + + * ext/gl/gstglimagesink.c: + Revert "Revert "glimagesink: forward ALL the properties on the bin"" + This reverts commit 59fb0f830f08e3e59f87f83df8fa3c2d9f3d9741. + +2015-05-06 15:47:04 +0200 Sebastian Dröge + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + * ext/gl/gstopengl.c: + Revert "Revert "glimagesink: implement as a bin"" + This reverts commit be938f92d94e8acccf593128281f6e09213600a0. + +2015-05-06 15:46:49 +0200 Sebastian Dröge + + * ext/gl/gstglcolorconvertelement.c: + * ext/gl/gstglcolorconvertelement.h: + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + * ext/gl/gstglmixer.c: + * ext/gl/gstglmixer.h: + * ext/gl/gstglmosaic.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + * gst-libs/gst/gl/gstglutils.c: + * gst-libs/gst/gl/gstglutils.h: + Revert "gl: readd glupload/download onto element pads" + This reverts commit 87d8270f302b03f63ce04f986d824892a2c131fd. + +2015-05-06 15:43:32 +0200 Sebastian Dröge + + * ext/gl/gstglvideomixer.c: + * ext/gl/gstglvideomixer.h: + * ext/gl/gstopengl.c: + Revert "Revert "glvideomixer: implement with glmixerbin"" + This reverts commit b4bd11f2f3a60224d188b27ab55b278077cb1217. + +2015-05-06 12:59:33 +0200 Sebastian Dröge + + * ext/srtp/gstsrtpdec.c: + srtpdec: Actually set the caps on the srcpad instead of just calling the default event handler for the sinkpad + Fixes up dafa11b9d21d06a0273007628a2a0bb4d7858658 + +2015-04-29 18:23:31 +0900 Jimmy Ohn + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: only update stream position if query success + We don't need to check about the query fail case. + because it is update to segment position even though query fail. + https://bugzilla.gnome.org/show_bug.cgi?id=748529 + +2015-05-05 12:45:24 +0200 Sebastian Dröge + + * configure.ac: + decklink: Disable decklink plugin on Android + +2015-05-05 14:44:25 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglsyncmeta.c: + glsyncmeta: fixup size declaration + +2015-05-04 23:42:36 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: handle the local_context query + so that upstream elements can get the GL context from glimagesink + +2015-05-03 14:56:05 +0200 Matthieu Bouron + + * sys/androidmedia/gstamc-constants.h: + * sys/androidmedia/gstamc.c: + androidmedia: Add suport for COLOR_FormatYV12 + Reference: http://developer.android.com/reference/android/graphics/ImageFormat.html#YV12 + https://bugzilla.gnome.org/show_bug.cgi?id=747126 + +2015-04-30 11:44:06 +0200 Matthieu Bouron + + * sys/androidmedia/gstamc-constants.h: + androidmedia: Declare QOMX_COLOR_FORMATYVU420PackedSemiPlanar32mMultiView constant + This color format is the same as QOMX_COLOR_FORMATYUV420PackedSemiPlanar32m + but stores two images one after the other in a top-bottom layout. + https://bugzilla.gnome.org/show_bug.cgi?id=747126 + +2015-05-04 11:23:16 +0200 Sebastian Dröge + + * ext/opus/gstrtpopusdepay.c: + opusdepay: Set multistream=FALSE on the Opus caps + The RTP Opus mapping only allows mono/stereo, and not multistream Opus + streams. + +2015-05-04 10:35:55 +0200 Jose Antonio Santos Cadenas + + * ext/opus/gstopusheader.c: + opusheader: Do not include rate in caps if it is 0 + As expressed in gst_opus_header_create_caps, value 0 means unset. + Setting rate value to 0 make negotiation with decoder fail. + https://bugzilla.gnome.org/show_bug.cgi?id=748875 + +2015-05-04 08:06:35 +0200 Matthieu Bouron + + * sys/androidmedia/gstamc.c: + androidmedia: Fix slice-height for Tegra 3 devices + https://bugzilla.gnome.org/show_bug.cgi?id=748867 + +2015-03-13 16:07:15 +0100 Edward Hervey + + * sys/androidmedia/gstamc-constants.h: + * sys/androidmedia/gstamc.c: + androidmedia: Add support for COLOR_FormatYUV420Flexible + https://bugzilla.gnome.org/show_bug.cgi?id=747126 + +2015-03-25 17:43:59 +0100 Edward Hervey + + * sys/androidmedia/gstamc-constants.h: + * sys/androidmedia/gstamc.c: + androidmedia: Add suport for Intel color formats + https://bugzilla.gnome.org/show_bug.cgi?id=747126 + +2015-05-02 18:06:18 +0300 Sreerenj Balachandran + + * gst/videoparsers/gsth264parse.c: + h264parse: Fix profile and level setting in caps + Don't use the apis in codec-utils to extract the profile and level + syntax elements since it is wrong if there are emulation prevention + bytes existing in the byte-stream data. + https://bugzilla.gnome.org/show_bug.cgi?id=747613 + +2015-05-03 23:08:15 +1000 Jan Schmidt + + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglcolorconvert.h: + glcolorconvert: Improve passthrough check when no conversion is needed. + Make the passthrough check contingent on only the fields we + can modify being unchanged, and pre-compute it when caps + change instead of checking on each buffer. Makes the passthrough + more lenient if consumers are lax about making input and output + caps complete. + +2015-05-01 19:39:58 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: handle when source creation fail + Remember to set the source to NULL state as adding it to the pipeline + will set it to the READY state. + +2015-05-01 19:31:45 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: fix element linking order + Video source should be linked to videocrop and not to + videoconvert as it is done in the main linking path + +2015-03-13 06:10:52 +0530 Nirbheek Chauhan + + * tests/check/Makefile.am: + * tests/check/elements/compositor.c: + tests: Add a check for the new compositor pad-is-obscured optimization + We verify that all the buffers on an obscured sinkpad are skipped by overriding + the map() function in the GstVideoMeta of the buffers to set a variable when + called. We also test that the buffers do get mapped when they're not obscured. + Blame^WCredit for the GstVideoMeta map() idea goes to Tim. + https://bugzilla.gnome.org/show_bug.cgi?id=746147 + +2015-04-18 15:10:00 +0530 Nirbheek Chauhan + + * gst/compositor/compositor.c: + compositor: Only map the frame from a buffer if it will be used + It's a waste of resources to map it if it won't be converted + or used at all. Since we moved the frame mapping down, we need + to use the GST_VIDEO_INFO accessor macros now in the code above + that instead of the GST_VIDEO_FRAME accessor macros. + https://bugzilla.gnome.org/show_bug.cgi?id=746147 + +2015-04-18 15:09:02 +0530 Nirbheek Chauhan + + * gst/compositor/compositor.c: + compositor: use accessor macros for consistency + https://bugzilla.gnome.org/show_bug.cgi?id=746147 + +2015-04-18 15:09:02 +0530 Nirbheek Chauhan + + * gst/compositor/compositor.c: + compositor: Skip pads that are completely obscured by a higher zorder pad + For each frame, compare the frame boundaries, check if the format contains an + alpha channel, check opacity, and skip the frame if it's going to be completely + overwritten by a higher zorder frame. The check is O(n^2), but that doesn't + matter here because the number of sinkpads is small. + More can be done to avoid needless drawing, but this covers the majority of + cases. See TODOs. Ideally, a reverse painter's algorithm should be used for + optimal drawing, but memcpy during compositing is small compared to the CPU used + for frame conversion on each pad. + https://bugzilla.gnome.org/show_bug.cgi?id=746147 + +2015-04-30 19:08:25 +0300 Sreerenj Balachandran + + * gst/videoparsers/gsth265parse.c: + h265parse: Fix source caps to report cropped dimensions + https://bugzilla.gnome.org/show_bug.cgi?id=747613 + +2015-04-10 15:34:40 +0300 Sreerenj Balachandran + + * gst/videoparsers/gsth265parse.c: + h265parse: Fix the memory freeing of stored VPS nals + https://bugzilla.gnome.org/show_bug.cgi?id=747613 + +2015-04-30 18:36:35 +0300 Sreerenj Balachandran + + * gst/videoparsers/gsth265parse.c: + h265parse: Fix profile, tier and level setting in caps + Don't use the apis in codec-utils to extract the profile,tier and level + syntax elements since it is wrong if there are emulation prevention + bytes existing in the byte-stream data. + https://bugzilla.gnome.org/show_bug.cgi?id=747613 + +2015-04-17 15:15:33 +0300 Sreerenj Balachandran + + * gst-libs/gst/codecparsers/gsth265parser.c: + codecparser: h265: Fix nal unit size checking + The EOS and EOB nals have the size 2 which is the size of + nal unit header itself. The gst_h265_parser_identify_nalu() + is not required to scan start code again in this case. + In other cases, for a valid nalunit the minimum required size + is 3 bytes (2 byte header and at least 1 byte RBSP payload) + +2015-04-17 15:03:34 +0300 Sreerenj Balachandran + + * gst-libs/gst/codecparsers/gsth265parser.c: + * gst-libs/gst/codecparsers/gsth265parser.h: + codecparser: h265: Calculate crop rectangle dimensions + +2015-04-17 15:01:57 +0300 Sreerenj Balachandran + + * gst-libs/gst/codecparsers/gsth265parser.c: + * gst-libs/gst/codecparsers/gsth265parser.h: + codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal + An SEI Nal can have more than one SEI message. + Change in API: the gst_h265_parser_parse_sei() + +2015-04-30 21:32:29 +0200 Sebastian Dröge + + * ext/srtp/gstsrtpdec.c: + srtpdec: Make sure to send caps events downstream before any segment events + Upstream might not give us a caps event (dtlssrtpdec) because it might be an + RTP/RTCP mixed stream, but we split the two streams anyway and should report + proper caps downstream if possible. + Fixes "sticky event misordering" warnings with dtlssrtpdec. + +2015-04-30 10:50:19 +0100 Luis de Bethencourt + + * gst/rtjpeg/gstrtjpegdec.c: + * gst/rtjpeg/gstrtjpegenc.c: + rtjpeg: remove unused quality property + +2015-04-30 11:15:40 +1000 Matthew Waters + + * ext/gl/gstglcolorconvertelement.c: + * ext/gl/gstglcolorconvertelement.h: + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + * ext/gl/gstglmixer.c: + * ext/gl/gstglmixer.h: + * ext/gl/gstglmosaic.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + * gst-libs/gst/gl/gstglutils.c: + * gst-libs/gst/gl/gstglutils.h: + gl: readd glupload/download onto element pads + Allows insertion of gl elements into non-gl pipelines without converter + (upload/download) elements. + https://bugzilla.gnome.org/show_bug.cgi?id=743974 + +2015-04-29 22:55:00 +1000 Matthew Waters + + * ext/gl/gstglvideomixer.c: + * ext/gl/gstglvideomixer.h: + * ext/gl/gstopengl.c: + Revert "glvideomixer: implement with glmixerbin" + This reverts commit 0fb56738a14391f248aa0be8756adeaf978baa0c. + +2015-04-29 22:38:00 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + * ext/gl/gstopengl.c: + Revert "glimagesink: implement as a bin" + This reverts commit 8a0017e21d5f9a8507f0593c6b24f723aa415258. + +2015-04-29 22:32:33 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + Revert "glimagesink: forward ALL the properties on the bin" + This reverts commit 4be45e5f30dc6121f2769323603447f591ca4a0a. + +2015-04-29 22:32:20 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + Revert "glimagesink: add pixel-aspect-ratio property on the bin" + This reverts commit 2ba6bb9b9325b63f58a9ff0b2c82fa28759dcabc. + +2015-04-29 09:57:52 +0200 Andoni Morales Alastruey + + * sys/winks/gstksvideodevice.c: + * sys/winks/gstksvideodevice.h: + * sys/winks/gstksvideosrc.c: + ksvideosrc: don't timestamp buffers for muxed streams + +2015-04-29 21:37:56 +0200 Andoni Morales Alastruey + + * sys/winks/gstksvideodevice.c: + ksvideosrc: fix header size for muxed streams + +2015-04-29 19:39:14 +0300 Sreerenj Balachandran + + * gst-libs/gst/codecparsers/gsth265parser.c: + codecparser: h265: Fix the number of tile rows/columns parsing + The possible minimum value for num_tile_columns_minus1 and num_tile_rows_minus1 + is zero (7.4.3.3). + https://bugzilla.gnome.org/show_bug.cgi?id=748641 + +2015-04-29 17:20:58 +0100 Luis de Bethencourt + + * gst/mixmatrix/mixmatrix.c: + mixmatrix: remove unused property enum items + These two properties have been there since the origin of the element but they + aren't used. Removing them. + +2015-04-29 15:41:07 +0200 Edward Hervey + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Fix comparision logic + We can't answer the SEEKING query if we do *not* have the manifest + +2015-04-29 10:56:24 +0200 Edward Hervey + + * gst/aiff/Makefile.am: + aiff: Re-add noinst_HEADERS instruction + Was removed in the previous android cleanup commit + +2015-04-28 21:43:56 +0000 Руслан Ижбулатов + + * sys/winks/Makefile.am: + * sys/winks/gstksclock.c: + * sys/winks/gstksvideosrc.c: + * sys/winks/ksdeviceprovider.c: + * sys/winks/ksdeviceprovider.h: + * sys/winks/kshelpers.c: + * sys/winks/kshelpers.h: + GstDeviceProvider implementation for WIN Kernel Streaming plugin + gst_ks_device_provider_probe() is a no-braier, just runs ks_enumerate_devices() + and reports the results. + Monitoring is a bit more tricky. We have to create a dummy message-processing + window and register device change notifications for it. + As kernel streaming can (and should) be used for audio capture and audio + playback, this change also has certain placeholders for such. + https://bugzilla.gnome.org/show_bug.cgi?id=747757 + +2015-04-29 02:30:05 +1000 Jan Schmidt + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + glimagesink: Cache caps for passing to the client draw call + Don't convert the GstVideoInfo to caps on every draw call, + just cache the caps and pass them into the GstSample. + +2015-04-29 02:20:09 +1000 Jan Schmidt + + * gst-libs/gst/gl/gstglupload.c: + glupload: Make upload method static caps non-const. + Retrieving a GstStaticCaps does a one time internal + initialisation and caches it - they can't be stored as + const structures. + +2015-04-28 17:24:04 +0100 Tim-Philipp Müller + + * ext/opus/gstopusdec.h: + * ext/opus/gstopusenc.c: + * ext/opus/gstopusenc.h: + * ext/opus/gstopusparse.c: + opus: fix includes and compilation against opus in non-standard prefix + https://bugzilla.gnome.org/show_bug.cgi?id=748594 + +2015-04-28 16:58:21 +0200 Mersad Jelacic + + * ext/opus/gstopusdec.c: + * ext/opus/gstopusenc.c: + opus: don't use deprecated gst_buffer_new_and_alloc + Use the helper function available in the base class instead. + https://bugzilla.gnome.org/show_bug.cgi?id=748585 + +2015-04-28 16:06:47 +0100 Tim-Philipp Müller + + * ext/libde265/libde265-dec.c: + de265dec: use g_get_num_processors() if available + And provide home-made fallback for older GLib versions, + so that we can later find these and remove them when + we bump the GLib requirement (which is certainly going + to happen before 2.0). + https://bugzilla.gnome.org/show_bug.cgi?id=748495 + +2015-04-28 16:02:27 +0100 Tim-Philipp Müller + + * gst/debugutils/fpsdisplaysink.c: + * gst/inter/gstintertest.c: + * gst/liveadder/liveadder.c: + gst: remove some unnecessary glib version checks + We require 2.32, no need to check for anything older + than that. + +2015-04-28 11:28:39 +0200 Guillaume Desmottes + + * gst/mxf/mxfmetadata.c: + mxf: fix descriptor leak + Free the existing descriptor array, if any, before replacing it. + Fix leaks with the + validate.file.playback.scrub_forward_seeking.test-mpeg2-mp3_mxf scenario. + https://bugzilla.gnome.org/show_bug.cgi?id=748580 + +2015-04-28 10:13:35 +0200 Guillaume Desmottes + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: fix taglist leak + If the stream which is about to be removed still has a ref on a tag list we + should drop it. + Fix a leak which was occasionally happening with the + validate.file.playback.change_state_intensive.tron_en_ge_aac_h264_ts scenario. + https://bugzilla.gnome.org/show_bug.cgi?id=748576 + +2015-04-27 22:44:28 +0900 Jimmy Ohn + + * gst/mpegtsdemux/mpegtspacketizer.c: + mpegtspacketizer: fix find_subtable() return value + find_subtable() returns a pointer, so return NULL and + not FALSE when nothing is found. + https://bugzilla.gnome.org/show_bug.cgi?id=748527 + +2015-04-28 14:52:36 +0200 Edward Hervey + + * win32/common/libgstcodecparsers.def: + win32: update defs + +2015-04-28 20:46:52 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: remove uneeded unref + The call to _gl_mem_alloc_data will unref and NULLify 'dest' for us. + We just need to return. + https://bugzilla.gnome.org/show_bug.cgi?id=744246 + +2015-04-28 09:37:59 +0200 Matthieu Bouron + + * ext/gl/gstglimagesink.c: + glimagesink: Use gst_pad_get_pad_template_caps in ::get_caps() + +2015-04-28 20:11:07 +1000 Matthew Waters + + * ext/gl/gstglfilterbin.c: + * ext/gl/gstglmixerbin.c: + * ext/gl/gstglsinkbin.c: + * ext/gl/gstgluploadelement.c: + * gst-libs/gst/gl/gstglmemory.h: + * gst-libs/gst/gl/gstglupload.c: + * gst-libs/gst/gl/gstglupload.h: + glupload: provide the sink template caps that could be used + https://bugzilla.gnome.org/show_bug.cgi?id=746399 + +2015-04-27 19:28:57 -0300 Thiago Santos + + * tests/examples/camerabin2/gst-camera2.c: + * tests/examples/camerabin2/gst-camera2.h: + * tests/examples/camerabin2/gst-camera2.ui: + examples: gst-camera: add zoom property to UI + Add a slider to modify the zoom in camerabin + +2015-04-27 18:33:37 -0300 Thiago Santos + + * tests/examples/camerabin2/gst-camera2.ui: + examples: gst-camera: remove widgets deprecated in GTK3.0 + VBox and HBox are now simply Box + +2015-04-27 15:41:04 -0300 Thiago Santos + + * tests/examples/camerabin2/Makefile.am: + * tests/examples/camerabin2/gst-camera2.c: + * tests/examples/camerabin2/gst-camera2.ui: + examples: gst-camera: update to GTK3 + When opening the .ui file it complains about being for GTK 2 and + automatically updates it to GTK3. Commit this version and update + the makefile + +2015-04-27 13:41:44 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: remove unused code + The structure is created and never used anymore. Remove it. + +2015-04-27 13:24:54 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + * gst/camerabin2/gstwrappercamerabinsrc.h: + wrappercamerabinsrc: use digitalzoom element + Replace videocrop ! videoscale ! capsfilter with the digitalzoom + bin that has the same pipeline internally and already updates + the capsfilter automatically when caps change, removing this code + from wrappercamerabinsrc and making it cleaner. + +2015-04-27 21:14:02 -0300 Thiago Santos + + * gst/camerabin2/gstdigitalzoom.c: + digitalzoom: change videocrop parameters before passing caps event + Avoids one extra uneeded renegotiation if the elements are already + configured to their final property values when the caps event + goes through. + Also avoids hitting bug https://bugzilla.gnome.org/show_bug.cgi?id=748344 + +2015-04-22 13:06:30 -0300 Thiago Santos + + * gst/camerabin2/gstdigitalzoom.c: + digitalzoom: also skip internal pipeline in upstream caps query + To avoid going through our capsfilter which would limit the choices. + +2015-04-22 13:05:42 -0300 Thiago Santos + + * gst/camerabin2/gstdigitalzoom.c: + digitalzoom: prevent assertion when caps is any + +2015-04-21 23:10:05 -0300 Thiago Santos + + * gst/camerabin2/Makefile.am: + * gst/camerabin2/gstdigitalzoom.c: + * gst/camerabin2/gstdigitalzoom.h: + camerabin: digitalzoom: create a bin element for digital zooming + It contains videocrop ! videoscale ! capsfilter and implements digital + zooming. + At this moment, it is a private element of the camerabin plugin. + This will remove some code used in wrappercamerabinsrc to make + code clearer and digitalzoom can potentially be used by other + applications in the future, it has nothing camerabin specific. + +2015-04-27 10:11:41 -0400 Xavier Claessens + + * gst-libs/gst/gl/egl/gstglcontext_egl.c: + egl: Use maximum bits per color instead of minimum + https://bugzilla.gnome.org/show_bug.cgi?id=748425 + +2015-04-26 20:55:03 +0000 Руслан Ижбулатов + + * ext/libde265/libde265-dec.c: + libde265: W32 thread count support + This code is imported from GLib g_get_num_processors(). This function + was added in 2.36 but we depend on 2.32. + https://bugzilla.gnome.org/show_bug.cgi?id=748495 + +2015-04-26 21:00:06 +0000 Руслан Ижбулатов + + * ext/libde265/libde265-dec.c: + libde265: Fix format string for gsize + https://bugzilla.gnome.org/show_bug.cgi?id=748496 + +2015-04-26 21:03:45 +0000 Руслан Ижбулатов + + * ext/spandsp/gstspanplc.c: + spandsp: Don't use the private field 'missing_samples' + https://bugzilla.gnome.org/show_bug.cgi?id=748497 + +2015-04-27 14:56:06 +0100 Luis de Bethencourt + + * gst/mpegdemux/gstmpegdemux.c: + mpegdemux: remove unused property enum item + The property enum item has been there since the origin of the element but it + has never been used. Removing it. + +2015-04-27 14:49:59 +0200 Matthieu Bouron + + * ext/gl/gstglfiltercube.c: + glfiltercube: Don't initialize multiple shaders on renegotiation + +2015-04-27 10:55:13 +0100 Luis de Bethencourt + + * gst/adpcmenc/adpcmenc.c: + * gst/festival/gstfestival.c: + * gst/games/gstpuzzle.c: + * gst/id3tag/gstid3mux.c: + * gst/librfb/gstrfbsrc.c: + * gst/mixmatrix/mixmatrix.c: + * gst/mpeg1sys/gstmpeg1systemencode.c: + * gst/mpegdemux/gstmpegdemux.c: + * gst/mpegtsdemux/tsdemux.c: + * gst/mpegtsmux/mpegtsmux.c: + * gst/mve/gstmvemux.c: + * gst/onvif/gstrtponviftimestamp.c: + * gst/overlay/gstoverlay.c: + * gst/rtjpeg/gstrtjpegdec.c: + * gst/rtjpeg/gstrtjpegenc.c: + * gst/speed/gstspeed.c: + * gst/stereo/gststereo.c: + * gst/subenc/gstsrtenc.c: + * gst/subenc/gstwebvttenc.c: + * gst/tta/gstttadec.c: + * gst/vbidec/gstvbidec.c: + * gst/vmnc/vmncdec.c: + Rename property enums from ARG_ to PROP_ + Property enum items should be named PROP_ for consistency and readability. + +2015-04-27 10:24:00 +0200 Matthieu Bouron + + * ext/gl/gstglimagesink.c: + glimagesink: Remove unused stop function + +2015-04-27 16:04:50 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: unref the pool in the correct place + Otherwise we could hold a pool to a context that is never going to be used. + https://bugzilla.gnome.org/show_bug.cgi?id=748405 + +2015-04-27 10:01:53 +0200 Matthieu Bouron + + * ext/gl/gstgltransformation.c: + gltransformation: Unref shader in ::stop() + +2015-04-27 15:20:56 +1000 Matthew Waters + + * ext/gl/gstglbasemixer.c: + * ext/gl/gstglimagesink.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglbasefilter.c: + gl: unref display/other-context in the correct place + Otherwise state changes from PLAYING->READY->PAUSED will cause there to + to be no display configured on the element. + https://bugzilla.gnome.org/show_bug.cgi?id=748405 + +2015-04-10 14:08:43 +0300 Sreerenj Balachandran + + * gst-libs/gst/codecparsers/gsth265parser.c: + * gst-libs/gst/codecparsers/gsth265parser.h: + codecparsers: h265: add helpers to convert quantization matrices + Add utility functions to convert quantization matrices from zig-zag scan + order into raster scan order and vice-versa + https://bugzilla.gnome.org/show_bug.cgi?id=747613 + +2015-04-10 14:07:56 +0300 Sreerenj Balachandran + + * gst-libs/gst/codecparsers/gsth265parser.c: + codecparser: h265: skip byte alignment bits while parsing slice header + Skip the byte alignment bits as per the logic of byte_alignment() + provided in hevc specification. This will fix the calculation of + slice header size. + https://bugzilla.gnome.org/show_bug.cgi?id=747613 + +2015-04-10 14:07:35 +0300 Sreerenj Balachandran + + * gst-libs/gst/codecparsers/gsth265parser.c: + codecparser: h265: Fix the NumDeltaPocs calculation + Always use the equation provided in spec (7-57) for finding + the NumDeltaPocs + https://bugzilla.gnome.org/show_bug.cgi?id=747613 + +2015-04-10 14:04:17 +0300 Sreerenj Balachandran + + * gst-libs/gst/codecparsers/gsth265parser.c: + codecparser: h265: Fix the NumPocTotalCurr calculation + The NumPocToalCurr should be calculated for all B and P slices. + https://bugzilla.gnome.org/show_bug.cgi?id=747613 + +2015-04-10 13:59:50 +0300 Sreerenj Balachandran + + * gst-libs/gst/codecparsers/gsth265parser.c: + codecparser: h265: Fix nal size calculation for EOS and EOB + https://bugzilla.gnome.org/show_bug.cgi?id=747613 + +2015-04-26 21:42:03 +0200 Sebastian Dröge + + * ext/gl/gstglbumper.c: + * ext/gl/gstglcolorscale.c: + * ext/gl/gstgldeinterlace.c: + * ext/gl/gstgleffects.c: + * ext/gl/gstglfiltercube.c: + * ext/gl/gstglfilterglass.c: + * ext/gl/gstglfiltershader.c: + * ext/gl/gstgloverlay.c: + * ext/gl/gstgltransformation.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + glfilter: De-camelcase onInitFBO() vfunc + +2015-04-26 21:39:06 +0200 Sebastian Dröge + + * ext/gl/gstglcolorscale.c: + * ext/gl/gstgldeinterlace.c: + * ext/gl/gstgldifferencematte.c: + * ext/gl/gstgleffects.c: + * ext/gl/gstglfiltercube.c: + * ext/gl/gstglfilterglass.c: + * ext/gl/gstglfiltershader.c: + * ext/gl/gstgloverlay.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + glfilter: Remove onStart/onStop vfuncs, and unused onReset() + onStart/onStop are just duplicates of the basetransform ones, onReset + was never called but was used everywhere when stop should've been used. + +2015-04-21 09:43:58 +0200 Lubosz Sarnecki + + * ext/gl/gstgltransformation.c: + gltransformation: don't initialize multiple shaders on renegotiation + https://bugzilla.gnome.org/show_bug.cgi?id=748407 + * delete shader if one exists + * set it to NULL after unrefing + +2015-04-26 21:11:17 +0200 Sebastian Dröge + + * ext/gl/gstglcolorconvertelement.c: + glcolorconvert: Fix compiler warning + gstglcolorconvertelement.c:230:19: error: unused variable 'in_structure' + [-Werror,-Wunused-variable] + GstStructure *in_structure = gst_caps_get_structure (caps, 0); + ^ + +2015-04-15 01:24:45 +0300 Ilya Konstantinov + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: drop frames we get before we have a clock + https://bugzilla.gnome.org/show_bug.cgi?id=748054 + +2015-04-26 20:33:41 +0200 Matthew Waters + + * gst-libs/gst/gl/gstglbasefilter.c: + glbasefilter: Unref other context in finalize, and display in READY->NULL + https://bugzilla.gnome.org/show_bug.cgi?id=748405 + +2015-04-19 19:16:55 +0200 Matthieu Bouron + + * ext/gl/gstglcolorconvertelement.c: + glcolorconvert: Keep colorimetry and chroma-site fields if passthrough + https://bugzilla.gnome.org/show_bug.cgi?id=748141 + +2015-04-26 18:04:16 +0100 Tim-Philipp Müller + + * Android.mk: + * ext/faac/Makefile.am: + * ext/faad/Makefile.am: + * ext/hls/Makefile.am: + * ext/mpg123/Makefile.am: + * ext/smoothstreaming/Makefile.am: + * ext/x265/Makefile.am: + * gst-libs/gst/adaptivedemux/Makefile.am: + * gst-libs/gst/basecamerabinsrc/Makefile.am: + * gst-libs/gst/codecparsers/Makefile.am: + * gst-libs/gst/insertbin/Makefile.am: + * gst-libs/gst/interfaces/Makefile.am: + * gst-libs/gst/mpegts/Makefile.am: + * gst-libs/gst/uridownloader/Makefile.am: + * gst/adpcmdec/Makefile.am: + * gst/adpcmenc/Makefile.am: + * gst/aiff/Makefile.am: + * gst/asfmux/Makefile.am: + * gst/audiobuffer/Makefile.am: + * gst/audiofxbad/Makefile.am: + * gst/audiovisualizers/Makefile.am: + * gst/autoconvert/Makefile.am: + * gst/bayer/Makefile.am: + * gst/camerabin2/Makefile.am: + * gst/cdxaparse/Makefile.am: + * gst/coloreffects/Makefile.am: + * gst/dataurisrc/Makefile.am: + * gst/debugutils/Makefile.am: + * gst/dvbsuboverlay/Makefile.am: + * gst/dvdspu/Makefile.am: + * gst/festival/Makefile.am: + * gst/freeverb/Makefile.am: + * gst/frei0r/Makefile.am: + * gst/gaudieffects/Makefile.am: + * gst/gdp/Makefile.am: + * gst/geometrictransform/Makefile.am: + * gst/hdvparse/Makefile.am: + * gst/id3tag/Makefile.am: + * gst/inter/Makefile.am: + * gst/interlace/Makefile.am: + * gst/ivfparse/Makefile.am: + * gst/ivtc/Makefile.am: + * gst/jp2kdecimator/Makefile.am: + * gst/jpegformat/Makefile.am: + * gst/librfb/Makefile.am: + * gst/liveadder/Makefile.am: + * gst/midi/Makefile.am: + * gst/mpegdemux/Makefile.am: + * gst/mpegpsmux/Makefile.am: + * gst/mpegtsdemux/Makefile.am: + * gst/mve/Makefile.am: + * gst/mxf/Makefile.am: + * gst/nuvdemux/Makefile.am: + * gst/onvif/Makefile.am: + * gst/patchdetect/Makefile.am: + * gst/pcapparse/Makefile.am: + * gst/pnm/Makefile.am: + * gst/rawparse/Makefile.am: + * gst/rtp/Makefile.am: + * gst/sdi/Makefile.am: + * gst/sdp/Makefile.am: + * gst/segmentclip/Makefile.am: + * gst/siren/Makefile.am: + * gst/smooth/Makefile.am: + * gst/speed/Makefile.am: + * gst/stereo/Makefile.am: + * gst/subenc/Makefile.am: + * gst/tta/Makefile.am: + * gst/videofilters/Makefile.am: + * gst/videomeasure/Makefile.am: + * gst/videoparsers/Makefile.am: + * gst/videosignal/Makefile.am: + * gst/vmnc/Makefile.am: + * gst/y4m/Makefile.am: + * gst/yadif/Makefile.am: + * sys/androidmedia/Makefile.am: + Remove obsolete Android build cruft + This is not needed any longer. + +2015-04-19 00:55:50 +0900 Yujin Lee + + * sys/applemedia/plugin.m: + vtdec: fix build error with clang + This commit fixes a simple build error by clang with + by clang with [-Werror,-Wtautological-pointer-compare] options. + https://bugzilla.gnome.org/show_bug.cgi?id=748110 + +2015-04-26 19:08:00 +0200 Sebastian Dröge + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Only answer the duration query in non-live mode + +2015-04-25 18:50:52 +0200 Stefan Sauer + + * gst/audiovisualizers/gstdrawhelpers.h: + * gst/audiovisualizers/gstspacescope.c: + * gst/audiovisualizers/gstspacescope.h: + * gst/audiovisualizers/gstspectrascope.c: + * gst/audiovisualizers/gstspectrascope.h: + * gst/audiovisualizers/gstsynaescope.c: + * gst/audiovisualizers/gstsynaescope.h: + * gst/audiovisualizers/gstwavescope.c: + * gst/audiovisualizers/gstwavescope.h: + * gst/audiovisualizers/plugin.c: + audiovisualizer: fix the license from GPL to LGPL + This was a copy'n'paste buf in the initial commit done by myself. + +2015-04-25 18:46:41 +0200 Stefan Sauer + + * gst/audiovisualizers/gstaudiovisualizer.c: + * gst/audiovisualizers/gstaudiovisualizer.h: + audiovisualizer: fix the license from GPL to LGPL + This was a copy'n'paste buf in the initial commit done by myself. + +2015-04-25 13:38:08 +0100 Tim-Philipp Müller + + * tests/examples/opencv/Makefile.am: + * tests/examples/opencv/gst_element_print_properties.c: + * tests/examples/opencv/gst_element_print_properties.h: + * tests/examples/opencv/gstmotioncells_dynamic_test.c: + * tests/examples/opencv/gstmotioncells_dynamic_test.h: + examples: motioncells: remove GPL3 code we don't need + If 95% of the code of an example app consists of GObject + code, maybe that's defeating the point a little. So just + remove a lot of that and trim down the example to the + absolute minimum. Also removes the last remaining GPL3 + licensed code in -bad. + +2015-04-25 12:52:04 +0100 Tim-Philipp Müller + + * tests/examples/opencv/gstmotioncells_dynamic_test.c: + examples: motioncells: simplify property setting + +2015-04-25 12:48:28 +0100 Tim-Philipp Müller + + * tests/examples/opencv/gstmotioncells_dynamic_test.c: + examples: motioncells: port to 1.x + +2014-11-20 00:33:44 +0100 Robert Jobbagy + + * tests/examples/opencv/gstmotioncells_dynamic_test.c: + * tests/examples/opencv/gstmotioncells_dynamic_test.h: + examples: motioncells: relicense opencv example to LGPLv2 + +2015-04-24 14:04:55 -0300 Thiago Santos + + * tests/check/elements/camerabin.c: + tests: camerabin: add tests for GstPhotography image capture + GstPhotography enables new paths in wrappercamerabinsrc that allows + the source to be notified about the capture caps and provide an + alternative caps if desired bypassing the negotiation (this doesn't + seem like a good idea these days). To make sure it keeps working + until we remove it from the API in favor of standard caps negotiation + features this test was added. + It adds 3 extra tests with a simple test source that will: + 1) Test that capturing with ANY caps work + 2) Test that capturing with a fixed caps work + 3) Test that capturing with a fixed caps and having the source + pick a different resolution from GstPhotography API works + by having wrappercamerabinsrc crop the capture to the final + requested dimensions + +2015-04-24 14:19:50 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + * gst/camerabin2/gstwrappercamerabinsrc.h: + wrappercamerabinsrc: Rework cropping for zoom and dimension reduction + wrappercamerabinsrc has a videocrop element to be used for + zooming and for cropping when input caps is different when used + with the GstPhotography interface. The zooming part needs + the following elements: + capsfilter ! videocrop ! videoscale ! capsfilter + The capsfilters should always have the same caps to ensure the + zooming is done and preserves dimensions, unless when it is needed + to do more cropping due to input dimensions those caps + need to be modified accordingly to preserve the output dimensions. + This, however, makes it hard to get caps negotiation to work properly + as we need to have different caps in the capsfilters to account for + the extra cropping needed. It could be simple for fixed caps but it + gets tricky with unfixed ones. + To solve this, this patch splits the zooming and dimension reduction + cropping into 2 separate videocrop elements. The first one does + the dimension cropping, which is only needed when the GstPhotography + API is used and the source provides a caps that is different than + what is requested, while the second is dedicated to zoom crop only. + The first part of the pipeline goes from: + src ! videoconvert ! capsfilter ! videocrop ! videoscale ! capsfilter + to + src ! videocrop ! videoconvert ! capsfilter ! videocrop ! videoscale ! capsfilter + It might add an extra overhead in the image capture as the image might need + to be cropped twice but this can be solved by enabling videocrop to use + crop metas so only the later one does the real cropping. + It also makes the code a bit simpler. + +2015-04-24 14:17:51 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: remove obsolete comment + This is already handled in another place and doesn't make sense + in the function context anymore + +2015-04-24 14:16:24 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: error out if source fails to prepare for capture + Post an error when preparing the image capture through photography + interface fails + +2015-04-24 14:13:34 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: intersect instead of compare for equality + Intersect is enough to check if the requested caps are compatible + with what the source is going to provide. Equality will be too strict. + +2015-04-24 14:13:16 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: fix typo + +2015-04-24 02:22:54 -0300 Thiago Santos + + * tests/check/elements/camerabin.c: + camerabin: tests: remove unused macros + Those macros were with the wrong name (likely a copy n paste mistake) + and were unused. + +2015-04-23 14:28:11 -0300 Thiago Santos + + * tests/check/elements/camerabin.c: + tests: camerabin: remove obsolete check for 0.10 feature + +2015-04-24 16:48:23 +0100 Luis de Bethencourt + + * gst/audiobuffer/gstaudioringbuffer.c: + * gst/coloreffects/gstchromahold.c: + * gst/debugutils/gstcompare.c: + * gst/gaudieffects/gstgaussblur.c: + * gst/pcapparse/gstpcapparse.c: + * gst/rtp/gstrtph265pay.c: + * gst/sdp/gstsdpdemux.c: + * gst/videoparsers/gsth264parse.c: + * gst/videoparsers/gsth265parse.c: + * gst/videoparsers/gstmpeg4videoparse.c: + * gst/videoparsers/gstmpegvideoparse.c: + remove unused enum items PROP_LAST + This were probably added to the enums due to cargo cult programming and are + unused. + +2015-04-24 17:13:10 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: balance change_state display ref/unref + the display was being unreffed on the incorrect state change causing + invalid state when changing from PLAYING/PAUSED->READY->PAUSED/PLAYING. + +2015-04-23 17:43:36 +0200 Sebastian Dröge + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Don't claim to be live when answering the LATENCY query + Even for "live" streams we are not live in the GStreamer meaning of the word. + We don't produce buffers that are timestamped based on their "capture time" + and our clock, but just based on whatever timestamps the stream might contain. + Also even if we wanted to claim to be live, that wouldn't work well as we + would have to return GST_STATE_CHANGE_NO_PREROLL when going from READY to + PAUSED, which we can't. We first need data to know if we are "live" or not. + +2015-04-23 17:39:46 +0200 Sebastian Dröge + + * ext/hls/gsthlsdemux.c: + * ext/hls/gsthlsdemux.h: + hlsdemux: Use the downloader of the base class instead of creating our own + The one of the base class is completely unused because we override all + the downloading here, so let's just use that one instead. + +2015-04-23 17:36:49 +0200 Sebastian Dröge + + * ext/hls/m3u8.c: + hlsdemux: Don't error out if we can't match variant playlists after updating + It's better to just select some random variant playlist instead of stopping, + chances are that it's still continuing to work and we might just have to + select a different variant again later. + +2015-04-23 17:33:04 +0200 Sebastian Dröge + + * ext/hls/gsthlsdemux.c: + hlsdemux: Fix how the playlists are refreshed + We should only refresh the currently selected variant playlist (if any, + otherwise the main playlist), not the main playlist. And only try to + refresh the main playlist if updating the variant playlist fails. + Some servers (Wowza) use the request of the main playlist to create a + "session", which is then part of the URI of the variant playlist and + also the fragments. Refreshing the main playlist would generate a new + session, and the server rate limits that usually. And after a few retries + the server just kicks us out. + Also as a side effect we now use the same downloader for all playlists, so + that we only have 2 instead of 3 connections to the server. And also + previously we just ignored the downloaded data from the main playlist that + the base class gave to us. + +2015-04-23 17:22:11 +0200 Sebastian Dröge + + * ext/dash/gstdashdemux.c: + * ext/hls/gsthlsdemux.c: + * ext/smoothstreaming/gstmssdemux.c: + * ext/smoothstreaming/gstmssmanifest.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: + adaptivedemux: Allow subclasses to override how a new manifest would be downloaded + +2015-04-23 17:02:44 +0200 Sebastian Dröge + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: + adaptivedemux: Expose downloader + This allows subclasses to use it and share connections if possible. + +2015-04-23 16:43:11 +0100 Tim-Philipp Müller + + * .gitignore: + Update .gitignore + +2015-04-23 16:40:49 +0100 Tim-Philipp Müller + + * tests/check/Makefile.am: + tests: define GST_CHECK_TEST_ENVIRONMENT_BEACON + Make sure the test environment is set up. + https://bugzilla.gnome.org//show_bug.cgi?id=747624 + +2015-04-23 16:39:20 +0100 Tim-Philipp Müller + + * configure.ac: + configure: bump automake requirement to 1.14 and autoconf to 2.69 + This is only required for builds from git, people can still + build tarballs if they only have older autotools. + https://bugzilla.gnome.org//show_bug.cgi?id=747624 + +2015-04-23 16:47:40 +0200 Matthieu Bouron + + * ext/gl/gstgluploadelement.c: + glupload: Release glupload buffer when caps are changed + https://bugzilla.gnome.org/show_bug.cgi?id=748371 + +2015-04-23 11:47:37 +0100 Luis de Bethencourt + + * gst/gaudieffects/gstgaussblur.c: + gaudi: don't run gaussian function if sigma is 0 + +2015-04-22 19:28:39 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + hlsdemux: handle too short segments + When the segment is very short it might be the case that the + typefinding fails and when finishing the segment hlsdemux would + consider the remaining data (pending_buffer) as an encryption + leftover. + This patch fixes it and makes sure an error is properly posted + if typefind failed by refactoring buffer handling to a function + and using it from the data_received and finish_fragment functions. + +2015-04-22 19:04:43 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + hlsdemux: use correct variable type + gst_buffer_resize needs gssize and not gsize. This makes gdb + print it correctly when debugging. + +2015-04-22 17:08:09 +0200 Josep Torra + + * sys/decklink/gstdecklinkvideosrc.cpp: + decklinkvideosrc: fix mode autodetection + The autodetection mode was broken because a race condition in the input mode + setting. The mode could be reverted back when it was replaced in + the streaming thread by the old mode in the middle of mode changed callback. + +2015-04-22 17:04:25 +0200 Josep Torra + + * sys/decklink/gstdecklink.cpp: + decklink: do not repeat first video format in caps template + The first entry in the modes array is used as default mode for autodetection. + There's no need to copy it into the caps template. + +2015-04-22 15:04:03 +0100 Luis de Bethencourt + + * gst/gaudieffects/gstexclusion.c: + gaudi: fix to 30780db1 + The second check for (factor == 0) creeped in the last commit. + Apologies. + +2015-04-22 14:30:56 +0100 Luis de Bethencourt + + * gst/gaudieffects/gstexclusion.c: + gaudi: fix exclusion's factor range + Avoid dividing by zero when the factor is zero. Instead, output a buffer with + all color values as zero. + +2015-04-22 14:15:13 +0100 Luis de Bethencourt + + * gst/gaudieffects/gstsolarize.c: + gaudi: remove floor variable in solarize + Floor variable has no effect and it isn't worth it to have it adjustable. + +2015-04-22 13:55:06 +0100 Luis de Bethencourt + + * gst/gaudieffects/gstburn.c: + * gst/gaudieffects/gstburn.h: + * gst/gaudieffects/gstchromium.c: + * gst/gaudieffects/gstchromium.h: + * gst/gaudieffects/gstdilate.c: + * gst/gaudieffects/gstdilate.h: + * gst/gaudieffects/gstdodge.c: + * gst/gaudieffects/gstdodge.h: + * gst/gaudieffects/gstexclusion.c: + * gst/gaudieffects/gstexclusion.h: + * gst/gaudieffects/gstsolarize.c: + * gst/gaudieffects/gstsolarize.h: + gaudi: remove unused property + +2015-04-22 18:54:45 +0900 Vineeth T M + + * ext/gl/gstglmixer.c: + glmixer: Possible null pointer dereference + While printing error message when context fails, error variable is not being used anymore + so it will lead to null pointer dereference + https://bugzilla.gnome.org/show_bug.cgi?id=748287 + +2015-04-22 10:38:19 +0200 Sebastian Dröge + + * INSTALL: + Remove INSTALL file + autotools automatically generate this, and when using different versions + for autogen.sh there will always be changes to a file tracked by git. + +2015-04-22 10:38:13 +0200 Sebastian Dröge + + * LICENSE_readme: + Remove LICENSE_readme + It's completely outdated and just confusing, better if people are + forced to look at the actual code in question than trusting this file. + +2015-04-21 22:04:56 +0200 Sebastian Dröge + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Don't stop all tasks and streams from the update task on errors + It will deadlocks as we will then join() the update task from itself. Instead + just post an actual error message on the bus and only stop the update task. + The application is then responsible for shutting down the element, and thus + all the other tasks and everything, based on the error message it gets. + +2015-04-21 18:29:36 +0200 Sebastian Dröge + + * ext/hls/gsthlsdemux.c: + hlsdemux: Fix seeking + We also have to update the current_file GList pointer in the M3U playlist + client, otherwise we are just continuing playback from the current position + instead of seeking. + +2015-04-21 18:05:44 +0200 Sebastian Dröge + + * ext/hls/gsthlsdemux.c: + hlsdemux: Don't call unlock() just to call lock() immediately afterwards + +2015-04-20 08:21:32 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: Reset zoom element caps to go to viewfinder mode + Avoids not-negotiated failures related to using image capture caps + still when adjusting to go back to viewfinder. + +2015-04-20 08:20:37 -0300 Thiago Santos + + * tests/check/elements/camerabin.c: + tests: camerabin: add test for capture with different caps + Adds a test to verify that viewfinder and image capture caps + can be set to non-intersecting caps and still work. + https://bugzilla.gnome.org/show_bug.cgi?id=724868 + +2015-04-20 08:42:56 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: fix leak of drain query + gst_pad_peer_query doesn't take ownership of the query object + +2015-04-20 08:42:48 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + * gst/camerabin2/gstwrappercamerabinsrc.h: + wrappercamerabinsrc: Refactor internal pipeline + Remove tee and output-selector and just link the source + pad to the outputs we want as needed. + The way we need to prioritize caps negotiation and allocation + queries depending on the mode enabled is too custom to be + handled using tee and output-selector. + This provides more flexibility and doesn't get in the way of proper + handling of negotiation and allocation queries. + +2015-04-05 20:18:56 +0200 Michał Dębski + + * ext/gl/gstgleffects.c: + * ext/gl/gstgleffects.h: + * ext/gl/gstopengl.c: + gleffects: Create element for each effect + https://bugzilla.gnome.org/show_bug.cgi?id=746209 + +2015-03-22 11:22:52 +0100 Michał Dębski + + * ext/gl/Makefile.am: + * ext/gl/effects/gstgleffectlaplacian.c: + * ext/gl/effects/gstgleffectssources.c: + * ext/gl/effects/gstgleffectssources.h: + * ext/gl/gstgleffects.c: + * ext/gl/gstgleffects.h: + * ext/gl/gstglfilterlaplacian.c: + * ext/gl/gstglfilterlaplacian.h: + * ext/gl/gstopengl.c: + gleffects: Merge laplacian filter into effects + https://bugzilla.gnome.org/show_bug.cgi?id=746209 + +2015-03-22 11:20:49 +0100 Michał Dębski + + * ext/gl/Makefile.am: + * ext/gl/effects/gstgleffectsobel.c: + * ext/gl/gstgleffects.c: + * ext/gl/gstgleffects.h: + * ext/gl/gstglfiltersobel.c: + * ext/gl/gstglfiltersobel.h: + * ext/gl/gstopengl.c: + gleffects: Merge sobel filter into effects + https://bugzilla.gnome.org/show_bug.cgi?id=746209 + +2015-03-22 11:13:30 +0100 Michał Dębski + + * ext/gl/Makefile.am: + * ext/gl/effects/gstgleffectblur.c: + * ext/gl/gstgleffects.c: + * ext/gl/gstgleffects.h: + * ext/gl/gstglfilterblur.c: + * ext/gl/gstglfilterblur.h: + * ext/gl/gstopengl.c: + gleffects: Merge blur filter into effects + https://bugzilla.gnome.org/show_bug.cgi?id=746209 + +2015-03-21 23:50:33 +0100 Michał Dębski + + * ext/gl/effects/gstgleffectglow.c: + * ext/gl/gstglfilterblur.c: + gleffects: Correct attributes for hconv and vconv shaders + Width and height were switched for glow shaders. For blur + filter attributes names were obsolete. + https://bugzilla.gnome.org/show_bug.cgi?id=746209 + +2015-03-21 23:21:13 +0100 Michał Dębski + + * ext/gl/effects/gstgleffectssources.c: + gleffects: Fix fisheye shader - pass float to sqrt + On OSX passing literal int to sqrt() in GLSL results in error. + https://bugzilla.gnome.org/show_bug.cgi?id=746209 + +2015-04-21 07:28:58 +0200 Lubosz Sarnecki + + * ext/gl/gstgltransformation.c: + gltransformation: fix shader memory leak + +2015-04-21 12:25:11 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglwindow.c: + glwindow: track context activation properly + We only need to deactivate/reactivate the context iff it was already + active. + +2015-04-21 12:19:46 +1000 Matthew Waters + + * ext/gl/gstglbasemixer.c: + * ext/gl/gstglimagesink.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglbasefilter.c: + * gst-libs/gst/gl/gstglcontext.c: + * gst-libs/gst/gl/gstgldisplay.c: + * gst-libs/gst/gl/gstgldisplay.h: + gldisplay: synchronize the searching and creation of GstGLContext's + Ootherwise we could end up with multiple elements in different chains + each creating a context. Fixes context creation with glvideomixer. + +2015-04-20 14:35:19 +0200 Edward Hervey + + * gst/videoparsers/gsth264parse.c: + h264parse: Remove dead code + The detection for missing format/alignment is done way before this + codepath is reached (at which point we have already decided of a + format and alignment). + CID #1232800 + +2015-01-07 16:26:57 +0000 Edward Hervey + + * ext/opencv/gsthanddetect.c: + handdetect: remove unneeded check + Variable hands is already checked to contain a value previously at the beginning + of the current block. There is no need to check again. This is logically dead code. + CID 1197693 + +2015-04-20 14:20:05 +0200 Edward Hervey + + * sys/shm/shmpipe.c: + shmpipe: Ensure string received from recv() is NULL-terminated + We will be doing string operations on it later. + CID #1292830 + +2015-04-20 11:30:10 +0100 Luis de Bethencourt + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: clean assignment typo + No need to set the value twice. + https://bugzilla.gnome.org/show_bug.cgi?id=745102 + CID #295122 + +2015-04-20 10:57:41 +0100 Luis de Bethencourt + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: remove dead code + position of GstSegment is an unsigned int64, it can never be below zero. + CID #1295123 + +2015-02-09 11:29:46 +0530 Vineeth T M + + * gst/fieldanalysis/gstfieldanalysis.c: + fieldanalysis: exception when block width to 0 + When block width property is set to 0, exception occurs. + This happens due to divide by zero errors in calculations. + block width property can never be 0. Hence adjusting the minimum value to 1. + https://bugzilla.gnome.org/show_bug.cgi?id=744188 + +2015-04-15 15:22:37 +0200 Guillaume Desmottes + + * ext/gl/gstglmixer.c: + glmixer: fix caps leak in gst_gl_mixer_pad_sink_getcaps() + Caps refcounting was all wrong in this function. Rewrote it and add some + comments to make it clearer. + Fix caps leaks with the + validate.file.glvideomixer.simple.play_15s.synchronized scenario. + https://bugzilla.gnome.org/show_bug.cgi?id=747915 + Signed-off-by: Guillaume Desmottes + +2015-04-20 17:08:23 +1000 Alessandro Decina + + * sys/applemedia/avfvideosrc.m: + * sys/applemedia/corevideotexturecache.h: + * sys/applemedia/corevideotexturecache.m: + * sys/applemedia/vtdec.c: + applemedia: avoid implicit color conversions + Rework the GL texture code a little to avoid implicit color conversion inside + AVF/VT on both iOS and OSX. + +2015-04-19 01:15:07 +0300 Ilya Konstantinov + + * sys/applemedia/corevideotexturecache.m: + corevideotexturecache: free texture cache on iOS + https://bugzilla.gnome.org/show_bug.cgi?id=748122 + +2015-04-19 01:21:40 +0300 Ilya Konstantinov + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: check for failure to create buffer + gst_core_media_buffer_new and gst_core_video_texture_cache_get_gl_buffer + can fail for various platform reasons. + https://bugzilla.gnome.org/show_bug.cgi?id=748122 + +2015-04-19 13:12:05 +0900 Yujin Lee + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: fix build failure with clang + Use fabs for floating point input. + https://bugzilla.gnome.org/show_bug.cgi?id=748128 + +2015-04-17 13:57:38 -0600 Olivier Crête + + * gst/mpegtsdemux/mpegtsbase.c: + mpegtsbase: Remove unused latency query code + The behavior changes based on the type of segment, + not on the liveness of the source. + +2015-04-17 13:55:26 -0600 Olivier Crête + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: Cleanup latency query handling + The minimum latency is always 0 or more. And we should + requery upstream as it may have changed. + +2014-07-17 10:53:30 +0200 Sebastian Dröge + + * sys/androidmedia/gstamcaudiodec.c: + * sys/androidmedia/gstamcvideodec.c: + androidmedia: Handle queue/release errors non-fatal + They can happen sometimes as a transient problem, e.g. if there + is a problem in the stream. Only handle them as fatal if many of + them happen in a row. + +2015-04-11 16:53:38 +0000 Руслан Ижбулатов + + * ext/opencv/MotionCells.cpp: + * ext/opencv/MotionCells.h: + * ext/opencv/gstcvdilate.c: + * ext/opencv/gstcvdilate.h: + * ext/opencv/gstcvdilateerode.h: + * ext/opencv/gstcvequalizehist.c: + * ext/opencv/gstcvequalizehist.h: + * ext/opencv/gstcverode.c: + * ext/opencv/gstcverode.h: + * ext/opencv/gstcvlaplace.c: + * ext/opencv/gstcvlaplace.h: + * ext/opencv/gstcvsmooth.c: + * ext/opencv/gstcvsmooth.h: + * ext/opencv/gstcvsobel.c: + * ext/opencv/gstcvsobel.h: + * ext/opencv/gstdisparity.h: + * ext/opencv/gstedgedetect.c: + * ext/opencv/gstedgedetect.h: + * ext/opencv/gstfaceblur.c: + * ext/opencv/gstfaceblur.h: + * ext/opencv/gstfacedetect.c: + * ext/opencv/gstfacedetect.h: + * ext/opencv/gstgrabcut.cpp: + * ext/opencv/gstgrabcut.h: + * ext/opencv/gsthanddetect.c: + * ext/opencv/gsthanddetect.h: + * ext/opencv/gstmotioncells.h: + * ext/opencv/gstopencvutils.c: + * ext/opencv/gstopencvutils.h: + * ext/opencv/gstopencvvideofilter.h: + * ext/opencv/gstpyramidsegment.h: + * ext/opencv/gstretinex.c: + * ext/opencv/gstretinex.h: + * ext/opencv/gstsegmentation.cpp: + * ext/opencv/gstsegmentation.h: + * ext/opencv/gstskindetect.c: + * ext/opencv/gstskindetect.h: + * ext/opencv/gsttemplatematch.c: + * ext/opencv/gsttemplatematch.h: + * ext/opencv/gsttextoverlay.h: + opencv: Change opencv plugin to use opencv2-style includes + If old opencv1-style legacy include directory is available, + this change becomes purely cosmetic (maybe will compile a bit faster). + It becomes an FTBFS fix when opencv1-style include directory is missing + (possibly because opencv package maintainer decided not to pack it). + https://bugzilla.gnome.org/show_bug.cgi?id=747705 + +2015-04-12 00:56:48 +0000 Руслан Ижбулатов + + * configure.ac: + opencv: Change configure test to check for OpenCV2 headers + * Checks for opencv2 headers only, not for legacy opencv1 headers + * Checks for every opencv2 header that the implementation needs, + not just highgui_c.h + https://bugzilla.gnome.org/show_bug.cgi?id=725163 + +2015-04-17 05:12:10 +0300 Ilya Konstantinov + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: get connection and input clock early + +2015-04-17 15:32:56 +0200 Edward Hervey + + * gst/mpegtsdemux/mpegtspacketizer.c: + mpegtspacketizer: Unify debug statements + Use 0x%04x for PIDs + +2015-04-17 15:30:29 +0200 Edward Hervey + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: Unify duration querying code + And properly use it in the SEEKING query. + Fixes seeking with gst-play + +2015-04-16 14:17:04 +0200 Guillaume Desmottes + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: fix caps leak when early returning + https://bugzilla.gnome.org/show_bug.cgi?id=747993 + Signed-off-by: Guillaume Desmottes + +2015-04-16 14:21:16 +0200 Guillaume Desmottes + + * ext/gl/gstglmixer.c: + glmixer: unref owned caps when finalizing the mixer + Fix a caps leak with the + validate.file.glvideomixer.simple.play_15s.synchronized scenario. + https://bugzilla.gnome.org/show_bug.cgi?id=747915 + Signed-off-by: Guillaume Desmottes + +2015-04-15 15:16:33 +0200 Guillaume Desmottes + + * ext/gl/gstglmixer.c: + glmixer: pass the proper free function to frames and buffers array + 'array_buffers' contain borrowed GstBuffer and so shouldn't have a free + function. 'frames' is the one containing GstGLMixerFrameData and so should use + _free_glmixer_frame_data as free function. + Fix GstGLMixerFrameData leaks with the + validate.file.glvideomixer.simple.play_15s.synchronized scenario. + https://bugzilla.gnome.org/show_bug.cgi?id=747913 + Signed-off-by: Guillaume Desmottes + +2015-04-17 15:20:12 +0200 Sebastian Dröge + + * ext/gl/gstgldownloadelement.c: + gldownloadelement: Download *from* OpenGL, not into + +2015-04-17 09:24:12 +0200 Robert Swain + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: Add complexity property for speed/quality tradeoff + +2015-04-17 14:24:28 +0200 Matthieu Bouron + + * gst-libs/gst/gl/egl/gstglcontext_egl.c: + glcontext: Make gst_gl_context_egl_activate fail if the old surface could not be destroyed + https://bugzilla.gnome.org/show_bug.cgi?id=746251 + +2015-04-17 10:38:16 +0200 Matthieu Bouron + + * ext/gl/gstgluploadelement.c: + gluploadelement: Unref GstGLUpload object and caps in ::stop() + Fix leak of the GstGLUpload object. + https://bugzilla.gnome.org/show_bug.cgi?id=748033 + +2015-04-17 14:09:47 +0200 Sebastian Dröge + + * ext/gl/gstglbasemixer.c: + * ext/gl/gstglfilterbin.c: + * ext/gl/gstglmixer.c: + * ext/gl/gstglsinkbin.c: + * ext/gl/gstglsrcbin.c: + gl: Remove some empty ::finalize() implementations + +2015-04-17 14:06:03 +0200 Sebastian Dröge + + * ext/gl/gstgldownloadelement.c: + gldownloadelement: Fix element description + +2015-04-17 14:05:44 +0200 Sebastian Dröge + + * ext/gl/gstgldownloadelement.c: + gldownloadelement: Remove unused ::finalize() implementation + +2015-04-17 14:03:21 +0200 Sebastian Dröge + + * ext/gl/gstglcolorconvertelement.c: + glcolorconvertelement: Also unref caps in ::stop() already + They are not useful anymore afterwards, so keeping them until ::finalize() + might only cause someone to use them later and then fail. + +2015-04-15 14:49:02 +0200 Guillaume Desmottes + + * ext/gl/gstglcolorconvertelement.c: + glcolorconvertelement: fix GstGLColorConvert leak + convert->convert was never unreffed. + This can be reproduce with the + validate.file.glvideomixer.simple.play_15s.synchronized scenario. + https://bugzilla.gnome.org/show_bug.cgi?id=747911 + +2015-04-16 22:43:54 +1000 Jan Schmidt + + * ext/apexsink/gstapexraop.c: + apexsink: Fix buffer overflow, in case anyone ever ports it. + Fix a simple buffer overflow - 16 bytes isn't enough to hold + the string representation of a gulong on x86_64. I guess the + intent was to generate a 32 bit random key, so let's do that. + Only matters if anyone ever ports the sink to 1.x + https://bugzilla.gnome.org/show_bug.cgi?id=676524 + +2015-04-16 13:35:00 +0100 Vincent Penquerc'h + + * gst/mpegdemux/gstmpegdemux.c: + mpegdemux: fix pad leak when not adding a new pad after no-more-pads + +2015-04-09 17:35:55 +0100 Vincent Penquerc'h + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: fix segment position tracking for the general case + Different streams can have different PTS/DTS bases, and some + streams may not even have DTS. + https://bugzilla.gnome.org/show_bug.cgi?id=745102 + +2015-04-16 10:42:45 +0200 Matthieu Bouron + + * gst-libs/gst/gl/egl/gstglcontext_egl.c: + glcontext: Make gst_gl_context_egl_activate fail if the surface could not be created + Also add some error logging. + +2015-04-15 21:07:35 +0200 Sebastian Dröge + + * gst/videoparsers/gsth264parse.c: + h264parse: Don't unref buffer that was unreffed just a few lines before already + +2015-04-11 04:20:43 +0000 Руслан Ижбулатов + + * docs/libs/Makefile.am: + Add adaptivedemux, badvideo and badbase to the link-list for the docscanner + https://bugzilla.gnome.org/show_bug.cgi?id=747697 + +2015-04-12 01:58:31 +0300 Ilya Konstantinov + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: remove unused variables + Complement commit 5496fd3e75e65a4e387715d0ba0740790aefa5f6 by removing + the involved variables. + +2015-04-14 20:33:25 +1000 Alessandro Decina + + * sys/applemedia/vtdec.c: + applemedia: vtdec: fix GL negotiation + +2015-04-14 18:05:31 +1000 Alessandro Decina + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: log timestamps + +2015-04-13 11:55:42 +0300 Ilya Konstantinov + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: subtract time spent in AVF queues + The time spent in AVF queues was being incorrectly added to running time + rather than subtracted. + +2015-04-11 07:38:57 +0300 Ilya Konstantinov + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: fix GL texture negotiation + GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE should no longer be used. + Instead, just get the GL context. + https://bugzilla.gnome.org/show_bug.cgi?id=747352 + +2015-04-13 19:40:31 +0200 Sebastian Dröge + + * ext/dtls/gstdtlsdec.c: + dtlsdec: Fix typo + +2015-04-13 19:40:22 +0200 Sebastian Dröge + + * ext/dtls/gstdtlssrtpdec.c: + dtlssrtpdec: Add some more debug output + +2015-04-13 19:40:03 +0200 Sebastian Dröge + + * ext/srtp/gstsrtpdec.c: + srtpdec: Add some more debug output + +2015-04-10 09:34:01 +0900 Yujin Lee + + * ext/dash/gstdashdemux.c: + dashdemux: enable playback of content with text streams + There is a playback error when trying to play a content that + has 'application' mimeType. This commit prevents an exception from + setup text streams. + https://bugzilla.gnome.org/show_bug.cgi?id=747525 + +2015-04-12 13:01:56 +0200 Sebastian Dröge + + * sys/winks/gstksvideosrc.c: + winks: Reset DTS to GST_CLOCK_TIME_NONE + Otherwise we might get a previous DTS set from a recycled buffer that we get + back from a buffer pool, which then confuses synchronization. + https://bugzilla.gnome.org/show_bug.cgi?id=747722 + +2015-03-28 15:44:43 +0100 Sebastian Dröge + + * sys/androidmedia/gstamc.c: + * sys/androidmedia/gstamc.h: + amc: Use new JNI utils almost everywhere + +2015-03-28 15:48:28 +0100 Sebastian Dröge + + * sys/androidmedia/gstjniutils.c: + * sys/androidmedia/gstjniutils.h: + amc: Allow creating global and local references of objects + +2015-03-28 15:21:02 +0100 Sebastian Dröge + + * sys/androidmedia/gstjniutils.c: + * sys/androidmedia/gstjniutils.h: + amc: Make GError argument order more consistent + +2015-03-28 15:08:15 +0100 Sebastian Dröge + + * sys/androidmedia/gstjniutils.c: + * sys/androidmedia/gstjniutils.h: + amc: Add helper function for getting a direct buffer array + +2015-03-28 15:08:02 +0100 Sebastian Dröge + + * sys/androidmedia/gstjniutils.c: + * sys/androidmedia/gstjniutils.h: + amc: Java longs are gint64s + +2015-03-28 14:31:41 +0100 Sebastian Dröge + + * sys/androidmedia/gstjniutils.c: + * sys/androidmedia/gstjniutils.h: + amc: Improve JNI utilities and add some missing ones + We now fill GErrors for everything that could throw an exception, and method + calls now always return a gboolean and their value in an out-parameter to + distinguish failures from other values. + +2015-04-11 19:35:48 +0200 Sebastian Dröge + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: Fix last commit + +2015-04-11 19:17:00 +0200 Sebastian Dröge + + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglmemory.c: + gl: Remove iOS/EAGL workaround for R/RG textures + This should be unneeded now after https://bugzilla.gnome.org/show_bug.cgi?id=732507 + +2015-04-11 19:14:34 +0200 Sebastian Dröge + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: Add correct check for RG/R textures in glcolorconvert too + https://bugzilla.gnome.org/show_bug.cgi?id=732507 + +2015-04-11 12:12:57 +0100 Tim-Philipp Müller + + * sys/winks/ksvideohelpers.c: + winks: fix debug message parameter format + The first part of the GUID structure is a DWORD + which is defined as an unsigned long, so we need + to either cast or use %08lx. + +2015-04-10 20:25:49 -0400 Olivier Crête + + * gst/pcapparse/gstpcapparse.c: + * gst/pcapparse/gstpcapparse.h: + pcapparse: Take buffer directly from the adapter + No need to make a copy into a new buffer, just take the data + from the adapter. + +2015-04-10 20:15:52 -0400 Olivier Crête + + * gst/pcapparse/gstpcapparse.c: + pcapparse: Produce GstBufferList + +2015-04-10 16:23:25 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + * gst/camerabin2/gstwrappercamerabinsrc.h: + wrappercamerabinsrc: remove unused attribute and related pad probe + The variable was never set to true and can be removed along + with the probe in which it used to act + +2015-03-31 17:10:45 +0100 Anton Obzhirov + + * gst-libs/gst/gl/gstglbasefilter.c: + glbasefilter: avoid segfault when gl platform is not available + https://bugzilla.gnome.org/show_bug.cgi?id=747124 + +2015-04-09 16:20:44 +0100 Vincent Penquerc'h + + * tests/check/elements/audiomixer.c: + tests: fix type mismatch in varargs passing + A bitmask is 64 bits, but integer immediates are passed as int + in varargs, which happen to be 32 bit with high probability. + This triggered a valgrind jump-relies-on-uninitalized-value + report well away from the site, since it doesn't trigger on + stack accesses, and there must have been enough zeroes to stop + g_object_set at the right place. + +2014-08-20 13:46:12 +0100 Vincent Penquerc'h + + * gst/mpegtsdemux/mpegtsbase.c: + * gst/mpegtsdemux/tsdemux.c: + tsdemux: handle seeks with no target (ie, keep current position) + Such seeks are used to change playback rate and we do not want + to alter the position in that case, so we bypass the flush/seek + logic, and set things up so a new segment is scheduled to be + regenerated. + https://bugzilla.gnome.org/show_bug.cgi?id=735100 + +2015-03-26 13:46:16 +0000 Vincent Penquerc'h + + * gst/mpegtsdemux/mpegtsparse.c: + * gst/mpegtsdemux/mpegtsparse.h: + tsparse: fix timestamps not updating after a PMT change + The PCRs stay locked onto the same PID as before the change, + but the relevant PID has no reason to be the same after it. + https://bugzilla.gnome.org/show_bug.cgi?id=745102 + +2015-03-24 12:56:53 +0000 Vincent Penquerc'h + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: send new segment when a stream is added + This will happen when the PMT changes, replacing streams with + new ones. In that case, we need to accumulate the running time + from the previous chain in the segment base. + https://bugzilla.gnome.org/show_bug.cgi?id=745102 + +2015-03-09 09:56:38 +0000 Vincent Penquerc'h + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: keep track of current position + This allows seeking to correctly set the base on the segment. + https://bugzilla.gnome.org/show_bug.cgi?id=745102 + +2015-04-09 15:41:57 +0200 Edward Hervey + + * tests/check/Makefile.am: + check: Don't run the state change test on the dtls elements + There isn't really any way to test the elements standalone. + +2015-04-08 19:29:40 -0700 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Remove broken timestamps-going-backwards check + This would've also triggered if for some reason the segment was updated + in such a way that PTS went backwards, but the running time increased. Like + what happens when non-flushing seeks are done. + We're doing a proper buffer-from-the-past check a few lines below based on the + running time, which is the only time we should care about here. + +2015-04-08 18:51:50 +0200 Andoni Morales Alastruey + + * sys/winks/gstksvideodevice.c: + * sys/winks/ksvideohelpers.c: + * sys/winks/ksvideohelpers.h: + ksvideosrc: fix support for DV devices + +2015-02-10 13:32:00 +0100 Andoni Morales Alastruey + + * sys/winks/kshelpers.c: + ksvideosrc: only list capture devices + +2015-04-08 16:46:11 +0200 Edward Hervey + + * common: + * tests/check/Makefile.am: + tests: Use AM_TESTS_ENVIRONMENT + Needed by the new automake test runner + +2015-04-08 10:52:17 +0530 Arun Raghavan + + * sys/opensles/openslessink.c: + * sys/opensles/openslessrc.c: + opensles: Explicitly specify layout=interleaved in caps + This is fine to hard-code. Section 9.1.8 of the OpenSL ES 1.1 + specification, it is expected that multi-channel audio is always + interleaved. + +2015-04-07 15:57:30 +0200 Edward Hervey + + * configure.ac: + configure: Depend on openh264 >= 1.3.0 + Required for the version check header, as agreed upon on IRC + +2015-04-05 05:37:09 +0300 Ilya Konstantinov + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: fix setting of buffer offset end + Don't set offset end to random values off the stack. + https://bugzilla.gnome.org/show_bug.cgi?id=747352 + +2015-04-07 11:09:38 +0200 Edward Hervey + + * ext/openh264/gstopenh264enc.cpp: + open264: Fix GType/gsize usage + gstopenh264enc.cpp:108:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] + +2015-04-07 11:21:55 +0200 Edward Hervey + + * ext/openh264/gstopenh264enc.cpp: + openh264: Detect 1.4 API change + As mentionned in release notes : Added new Sps/Pps strategies for real-time + video (replace the old setting variable 'bEnableSpsPpsIdAddition' with + 'eSpsPpsIdStrategy') + +2015-04-06 20:28:22 -0700 Sebastian Dröge + + * ext/gl/gstglimagesink.c: + glimagesink: Disconnect mouse/key event signal handlers from window when shutting down context + +2015-04-06 20:24:06 -0700 Sebastian Dröge + + * ext/gl/gstglimagesink.c: + glimagesink: Guard against disconnecting invalid signal ids + +2015-03-26 11:52:33 +0100 Guillaume Desmottes + + * gst/mxf/mxfdemux.c: + mxfdemux: fix memory leak + Reset the internal segment before freeing it. + mxf_index_table_segment_parse() allocates data inside the segment + (like segment->delta_entries) which have to be freed using + mxf_index_table_segment_reset(). + https://bugzilla.gnome.org/show_bug.cgi?id=746803 + +2015-04-04 10:56:56 -0300 Thiago Santos + + * ext/hls/gsthlssink.c: + hlssink: write the playlist end marker on EOS + Catch EOS from the multifilesink and add the endlist marker to + the playlist when it happens + https://bugzilla.gnome.org/show_bug.cgi?id=747319 + +2015-03-29 17:53:23 -0300 Reynaldo H. Verdejo Pinochet + + * gst-libs/gst/base/gstaggregator.c: + aggregator: document gap handling behavior + https://bugzilla.gnome.org/show_bug.cgi?id=746249 + +2015-03-27 19:36:42 -0300 Reynaldo H. Verdejo Pinochet + + * gst-libs/gst/base/gstaggregator.c: + aggregator: drop stale white space at warning + +2015-03-27 19:28:05 -0300 Reynaldo H. Verdejo Pinochet + + * tests/check/libs/aggregator.c: + aggregator: fix typo in test suite + +2015-03-27 18:32:27 -0300 Reynaldo H. Verdejo Pinochet + + * tests/check/libs/aggregator.c: + aggregator: add gap event handling unit test + https://bugzilla.gnome.org/show_bug.cgi?id=746249 + +2015-03-17 22:13:06 -0300 Reynaldo H. Verdejo Pinochet + + * gst-libs/gst/base/gstaggregator.c: + aggregator: implement gap handling + https://bugzilla.gnome.org/show_bug.cgi?id=746249 + +2015-04-03 18:57:58 +0100 Tim-Philipp Müller + + * autogen.sh: + * common: + Automatic update of common submodule + From bc76a8b to c8fb372 + +2015-04-03 11:46:12 +0530 Arun Raghavan + + * ext/opus/gstopusenc.c: + opus: Fix incorrect fall-through condition in property getter + +2012-04-27 18:29:14 +0200 Guillaume Emont + + * sys/shm/gstshmsrc.c: + * sys/shm/shmpipe.c: + * sys/shm/shmpipe.h: + shmsink: add an shm-area-name property + The shm-area-property tells the name of the shm area used by the element. This + is useful for cases where shmsink is not able to clean up (calling + shm_unlink()), e.g. if it is in a sandbox. + https://bugzilla.gnome.org/show_bug.cgi?id=675134 + +2015-04-01 22:10:11 -0400 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Unify downstream flow return and flushing + Also means that having a non-OK downstream flow return + wakes up the chain functions. + https://bugzilla.gnome.org/show_bug.cgi?id=747220 + +2015-04-01 21:45:01 -0400 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Flushing is always in pad lock, no need to atomics + The usage of atomics was always doubtful as it was used to release a + GCond + https://bugzilla.gnome.org/show_bug.cgi?id=747220 + +2015-04-01 21:38:11 -0400 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Reset pending_eos on pad flush + https://bugzilla.gnome.org/show_bug.cgi?id=747220 + +2015-04-01 21:37:25 -0400 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Unify code to set a pad flushing + https://bugzilla.gnome.org/show_bug.cgi?id=747220 + +2015-04-02 18:05:55 +1100 Alessandro Decina + + * 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: fix rendering on iOS + Stop assuming that the handle has been set by the time ->create_context is + called. After bc7a7259f357b0065dd94e0668b5a895d83fa53a set_window_handle always + happens after ->create_context in fact. + See also https://bugzilla.gnome.org/show_bug.cgi?id=745090 + +2015-03-06 21:12:52 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + * gst-libs/gst/video/gstvideoaggregator.c: + aggregator: Query latency on first incoming buffer. + And keep on querying upstream until we get a reply. + Also, the _get_latency_unlocked() method required being calld + with a private lock, so removed the _unlocked() variant from the API. + And it now returns GST_CLOCK_TIME_NONE when the element is not live as + we think that 0 upstream latency is possible. + https://bugzilla.gnome.org/show_bug.cgi?id=745768 + +2015-04-01 20:32:41 -0400 Olivier Crête + + * gst/audiomixer/gstaudiomixer.c: + * tests/check/elements/audiomixer.c: + audiomixer: Allow downstream caps with a non-default channel-mask + Instead of failing, take the downstream channel mask if the channel + count is 1. + +2015-03-31 16:27:00 +0200 Edward Hervey + + * ext/gl/gstglvideomixer.c: + glvideomixer: Don't use context if not present + Avoids assertions at runtime + +2015-03-31 11:24:57 +0200 Edward Hervey + + * gst-libs/gst/gl/Makefile.am: + * gst-libs/gst/insertbin/Makefile.am: + * gst-libs/gst/mpegts/Makefile.am: + introspection: Don't use g-ir-scanner cache at compile time + It pollutes user directories and we don't need to cache it + https://bugzilla.gnome.org/show_bug.cgi?id=747095 + +2015-03-31 10:53:55 +0100 Victor Toso + + * configure.ac: + * sys/directsound/Makefile.am: + * sys/directsound/gstdirectsoundsrc.c: + * sys/directsound/gstdirectsoundsrc.h: + directsoundsrc: Implement volume and mute + Using the MixerAPI as IDirectSoundCaptureBuffer doesn't implement volume + control. + https://bugzilla.gnome.org/show_bug.cgi?id=744383 + +2015-03-30 13:49:01 +0100 Anton Obzhirov + + * ext/gl/Makefile.am: + * ext/gl/effects/gstgleffectbulge.c: + * ext/gl/effects/gstgleffectfisheye.c: + * ext/gl/effects/gstgleffectglow.c: + * ext/gl/effects/gstgleffectidentity.c: + * ext/gl/effects/gstgleffectlumatocurve.c: + * ext/gl/effects/gstgleffectmirror.c: + * ext/gl/effects/gstgleffectrgbtocurve.c: + * ext/gl/effects/gstgleffectsin.c: + * ext/gl/effects/gstgleffectsquare.c: + * ext/gl/effects/gstgleffectsqueeze.c: + * ext/gl/effects/gstgleffectssources.c: + * ext/gl/effects/gstgleffectssources.h: + * ext/gl/effects/gstgleffectstretch.c: + * ext/gl/effects/gstgleffecttunnel.c: + * ext/gl/effects/gstgleffecttwirl.c: + * ext/gl/effects/gstgleffectxray.c: + * ext/gl/gstgldifferencematte.c: + * ext/gl/gstgleffects.c: + * ext/gl/gstgleffects.h: + * ext/gl/gstglfilterblur.c: + * ext/gl/gstglfiltersobel.c: + gleffects: port all effects to GLES2.0 + https://bugzilla.gnome.org/show_bug.cgi?id=745955 + +2015-03-28 11:40:14 -0300 Thiago Santos + + * ext/hls/gsthlssink.c: + hlssink: implement a chain_list to request key unit for segments + upstream might send buffer lists instead of buffers and hlssink's + probe won't get called and a new segment won't be created when needed. + This patch fixes it by adding a chain_list function to the sink pad + that will just pass through the whole bufferlist if no segment needs + to be requested at the moment or convert the list into buffers to + check the proper timestamp to request the next key-unit that will + start the segment. + https://bugzilla.gnome.org/show_bug.cgi?id=746906 + +2015-03-28 17:28:34 +0100 Mark Nauwelaerts + + * gst/mxf/mxfdemux.c: + mxfdemux: resurrect some flow return handling + https://bugzilla.gnome.org/show_bug.cgi?id=744572 + +2015-03-28 17:28:26 +0100 Mark Nauwelaerts + + * gst/mpegdemux/gstmpegdemux.c: + mpegdemux: resurrect some flow return handling + https://bugzilla.gnome.org/show_bug.cgi?id=744572 + +2015-03-27 00:27:34 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: do not try to advance fragment if there is none + It might return OK from subclasses and it could cause a bitrate + renegotiation. For DASH and MSS that is ok as they won't expose + new pads as part of this but it can cause issues for HLS as + it will expose new pads, leading to pads that will only have EOS + that cause decodebin to fail + https://bugzilla.gnome.org/show_bug.cgi?id=745905 + +2015-03-24 13:57:54 -0400 Olivier Crête + + * ext/opus/gstrtpopuspay.c: + rtpopuspay: Forward stereo preferences from caps upstream + https://bugzilla.gnome.org/show_bug.cgi?id=746617 + +2015-03-24 13:56:21 -0400 Olivier Crête + + * ext/opus/gstrtpopuspay.c: + rtpopuspay: Set the number of channels to 2 as per RFC draft + https://bugzilla.gnome.org/show_bug.cgi?id=746617 + +2015-03-17 21:49:40 +0800 Jun Xie + + * ext/dash/gstmpdparser.c: + dashdemux: set default @startNumber and also avoid wrong overwrite + Set default @startNumber to 1, if @startNumber is missing at all level. + Also avoid incorrect overwriting inherited value. + https://bugzilla.gnome.org/show_bug.cgi?id=746347 + +2015-03-24 16:18:22 +0000 Luis de Bethencourt + + * gst/audiomixer/gstaudioaggregator.c: + audioaggregator: check sink caps are valid + +2015-03-24 16:17:00 +0000 Luis de Bethencourt + + * gst/audiomixer/gstaudioaggregator.c: + Revert "audioaggregator: check sink caps are valid" + This reverts commit 6d4d0d1cdf7c7531fbf72ce39e1eab1260d20550. + Never put code with side effects into an assertion, it can be compiled out + +2015-03-24 15:45:25 +0000 Luis de Bethencourt + + * gst/audiomixer/gstaudioaggregator.c: + audioaggregator: check sink caps are valid + CID #1291622 + +2015-03-24 15:13:52 +0000 Luis de Bethencourt + + * ext/opus/gstopusenc.c: + opusenc: fall through switch statement + Adding a comment makes coverity happy and quells the issue. + CID 1291629 + +2015-03-24 19:05:00 +0530 Nirbheek Chauhan + + * gst-libs/gst/video/gstvideoaggregatorpad.h: + videoaggregator: Document why buffer_vinfo is needed + +2015-03-24 19:04:26 +0530 Nirbheek Chauhan + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Check if there's a previous buffer to 'keep' + If we want to keep a previous buffer but there's no previous buffer, we actually + need more data instead. + +2015-03-23 16:43:01 +0100 Philippe Normand + + * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c: + * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h: + * gst-libs/gst/gl/egl/gstglcontext_egl.c: + gl/dispmanx: surfaceless EGL context support + Show the DispmanX window only if there's no shared external GL context + set up. When a window is required by the context a transparent + DispmanX element is created and later on made visible by the ::show + method. + https://bugzilla.gnome.org/show_bug.cgi?id=746632 + +2015-03-23 15:09:33 +0000 Luis de Bethencourt + + * gst/gaudieffects/gstsolarize.c: + gaudieffects: clean solarize code + +2015-03-23 14:39:56 +0000 Luis de Bethencourt + + * gst/gaudieffects/gstburn.c: + * gst/gaudieffects/gstchromium.c: + * gst/gaudieffects/gstdodge.c: + * gst/gaudieffects/gstexclusion.c: + * gst/gaudieffects/gstsolarize.c: + gaudieffects: removing values only used once + +2015-03-23 11:13:24 +0000 Luis de Bethencourt + + * gst/gaudieffects/gstburn.h: + * gst/gaudieffects/gstdilate.h: + * gst/gaudieffects/gstdodge.h: + * gst/gaudieffects/gstexclusion.h: + * gst/gaudieffects/gstsolarize.h: + gaudieffects: small cleanup in headers + +2015-03-23 13:15:30 +0100 Sebastian Dröge + + * ext/opus/gstopusenc.c: + opusenc: Set output format immediately after creating the encoder instance + We know the caps by then, there's no need to wait until we actually receive + the first buffer. + +2015-03-23 13:13:35 +0100 Sebastian Dröge + + * ext/opus/gstopusenc.c: + * ext/opus/gstopusenc.h: + opusenc: Remove another unused variable + +2015-03-23 13:11:42 +0100 Sebastian Dröge + + * ext/opus/gstopusenc.c: + * ext/opus/gstopusenc.h: + * ext/opus/gstopusheader.c: + opusenc: Remove useless headers and header_sent variables from the instance struct + They are only used inside a single function. + +2015-03-23 12:24:55 +0100 Sebastian Dröge + + * ext/opus/gstrtpopusdepay.c: + * ext/opus/gstrtpopuspay.c: + opus: Handle sprop-stereo and sprop-maxcapturerate RTP caps fields + https://bugzilla.gnome.org/show_bug.cgi?id=746617 + +2015-03-23 12:09:25 +0100 Sebastian Dröge + + * ext/opus/gstopusdec.c: + opusdec: Take channels and sample rate from the caps if we have no stream header + +2015-03-23 12:07:52 +0100 Sebastian Dröge + + * ext/opus/gstopusdec.c: + opusdec: Reset the decoder if the caps change + +2015-03-23 11:57:09 +0100 Sebastian Dröge + + * ext/opus/gstopusdec.c: + opusdec: Take output sample rate from the stream headers too + This way we let opusdec do the resampling if needed and don't carry + around buffers with a too high sample rate if not required. + While Opus always uses 48kHz internally, this information from the + header specifies which frequencies are safe to drop. + +2015-03-23 11:56:09 +0100 Sebastian Dröge + + * ext/opus/gstopusheader.c: + opusheader: Put number of channels and sample rate into the caps + https://bugzilla.gnome.org/show_bug.cgi?id=746617 + +2015-03-22 19:12:15 +0100 Julien Isorce + + * gst-libs/gst/gl/gstglwindow.c: + glwindow: remove unused gl_thread field + +2015-03-22 19:03:19 +0100 Julien Isorce + + * gst-libs/gst/gl/gstgldisplay.c: + gldisplay: fix GThread leak + https://bugzilla.gnome.org/show_bug.cgi?id=746541 + +2015-03-20 18:33:45 +0100 Nicola Murino + + * ext/gl/gstglimagesink.c: + glimagesink: fix caps leak + https://bugzilla.gnome.org/show_bug.cgi?id=746541 + +2015-03-18 11:25:42 +0100 Jose Antonio Santos Cadenas + + * ext/srtp/gstsrtpdec.c: + srtpdec: Add support for buffer list + https://bugzilla.gnome.org/show_bug.cgi?id=746387 + +2015-03-19 16:17:58 +0100 Jose Antonio Santos Cadenas + + * ext/srtp/gstsrtpenc.c: + srtpenc: Do not drop all buffers in buffer list if one fails + https://bugzilla.gnome.org/show_bug.cgi?id=746387 + +2015-03-19 13:59:42 +0000 Luis de Bethencourt + + * gst/gaudieffects/gstdilate.c: + gaudieffects: update copyright dates of dilate + +2015-03-19 13:58:21 +0000 Luis de Bethencourt + + * gst/gaudieffects/gstdilate.c: + gaudieffects: factorize transform code of dilate + +2015-03-19 14:04:28 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsconnection.c: + dtls: Pass the connection instance as data to the thread pool + No need to ref/unref the connection every time we push something on the pool. + However we have to provide non-NULL data to the pool, so let's just give it + some coffee. + +2015-03-19 13:55:53 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsconnection.c: + dtls: Remove unused thread struct field + +2015-03-19 13:30:00 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsconnection.c: + * ext/dtls/gstdtlsconnection.h: + * ext/dtls/gstdtlsenc.c: + dtls: Use a shared thread pool for the timeouts + This way we will share threads with other DTLS connections if possible, and + don't have to start/stop threads for timeouts if there are many to be handled + in a short period of time. + Also use the system clock and async waiting on it for scheduling the timeouts. + +2015-03-18 18:17:39 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsconnection.c: + dtls: Shutdown timeout thread when it's not needed + It is not needed most of the time and usually we have a thread + idling around doing nothing all the time after the first few seconds. + +2015-03-18 10:12:49 -0700 Matthew Waters + + * 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/gstgldownload.c: + * gst-libs/gst/gl/gstglmemory.c: + * gst-libs/gst/gl/gstglupload.c: + gl/docs: update some doc comments + +2015-03-18 17:40:47 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsenc.c: + dtlsenc: Clear the queue when deactivating the pad + +2015-03-18 17:38:35 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsenc.c: + * ext/dtls/gstdtlsenc.h: + dtlsenc: Handle pad activity states properly + +2015-03-18 17:35:12 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsenc.c: + dtlsenc: Don't manually activate/deactivate srcpad + +2015-03-18 10:47:15 +0100 Jose Antonio Santos Cadenas + + * ext/srtp/gstsrtpdec.c: + srtpdec: Separate buffer encoding functionality into a different function + https://bugzilla.gnome.org/show_bug.cgi?id=746387 + +2015-03-18 10:16:41 +0100 Jose Antonio Santos Cadenas + + * ext/srtp/gstsrtpenc.c: + srtpenc: Add support for buffer list + https://bugzilla.gnome.org/show_bug.cgi?id=746387 + +2015-03-18 09:39:49 +0100 Jose Antonio Santos Cadenas + + * ext/srtp/gstsrtpenc.c: + srtpenc: Add missing locks + https://bugzilla.gnome.org/show_bug.cgi?id=746387 + +2015-03-18 09:17:31 +0100 Jose Antonio Santos Cadenas + + * ext/srtp/gstsrtpenc.c: + srtpenc: Split chain functionality so it can be reused for buffer list + https://bugzilla.gnome.org/show_bug.cgi?id=746387 + +2015-03-18 13:52:38 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsenc.c: + * ext/dtls/gstdtlsenc.h: + dtlsenc: Use a GQueue instead of a GPtrArray + Using a GPtrArray as a queue is not very efficient as the whole + array has to be copied whenever an element is removed from the + beginning. + +2015-03-18 10:06:47 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsdec.c: + dtlsdec: Fix locking + Especially don't hold any mutex while adding/removing pads or pushing data. + +2015-03-18 09:57:32 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsdec.c: + dtlsdec: Add support for buffer lists + +2015-03-18 09:46:40 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsconnection.c: + * ext/dtls/gstdtlsconnection.h: + * ext/dtls/gstdtlsdec.c: + * ext/dtls/gstdtlsdec.h: + * ext/dtls/gstdtlsenc.c: + * ext/dtls/gstdtlsenc.h: + * ext/dtls/gstdtlssrtpdec.c: + * ext/dtls/gstdtlssrtpenc.c: + * ext/dtls/gstdtlssrtpenc.h: + dtls: Fix some search & replace mistakes from renaming the elements + +2015-03-17 16:49:54 +0100 Jose Antonio Santos Cadenas + + * ext/srtp/gstsrtpenc.c: + srtpenc: Improve memory management on chain function + Avoiding copy the buffer twice, one while mapping and other with mencpy + https://bugzilla.gnome.org/show_bug.cgi?id=746356 + +2015-03-17 16:50:41 +0100 Jose Antonio Santos Cadenas + + * ext/srtp/gstsrtpenc.c: + srtpenc: Fix typo in log + +2015-03-17 11:43:00 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsagent.c: + dtls: Initialize debug category earlier + Otherwise the openssl initialization will use it before initialization + +2014-11-13 20:39:11 -0500 Olivier Crête + + * tests/check/Makefile.am: + * tests/check/elements/.gitignore: + * tests/check/elements/audiointerleave.c: + audiointerleave: Add unit tests + Almost a copy of the "interleave" unit tests, improved to support + the thread on the src pad on GstAggregator. + https://bugzilla.gnome.org/show_bug.cgi?id=740236 + +2015-03-06 13:49:48 -0500 Olivier Crête + + * gst/audiomixer/gstaudiointerleave.c: + * gst/audiomixer/gstaudiointerleave.h: + audiointerleave: Set src caps in aggregate + This prevents races between the setcaps of the sink pads + https://bugzilla.gnome.org/show_bug.cgi?id=740236 + +2014-11-13 15:40:15 -0500 Olivier Crête + + * gst/audiomixer/Makefile.am: + * gst/audiomixer/gstaudiointerleave.c: + * gst/audiomixer/gstaudiointerleave.h: + * gst/audiomixer/gstaudiomixer.c: + audiointerleave: Add interleave element based on audioaggregator + https://bugzilla.gnome.org/show_bug.cgi?id=740236 + +2015-03-06 16:51:12 -0500 Olivier Crête + + * gst/audiomixer/gstaudioaggregator.c: + audioaggregator: Print a message when a buffer is late + https://bugzilla.gnome.org/show_bug.cgi?id=740236 + +2014-11-15 17:54:51 -0500 Olivier Crête + + * gst/audiomixer/gstaudioaggregator.c: + audioaggregator: Don't re-send the caps if they did not change + https://bugzilla.gnome.org/show_bug.cgi?id=740236 + +2014-11-06 17:15:17 -0500 Olivier Crête + + * gst/audiomixer/Makefile.am: + * gst/audiomixer/gstaudioaggregator.c: + * gst/audiomixer/gstaudioaggregator.h: + * gst/audiomixer/gstaudiomixer.c: + * gst/audiomixer/gstaudiomixer.h: + audioaggregator: Split base class from audiomixer + Also: + - Don't modify size on early buffer + The size is the size of the buffer, not of remaining part. + - Use the input caps when manipulating the input buffer + Also store in in the sink pad + - Reply to the position query in bytes too + - Put GAP flag on output if all inputs are GAP data + - Only try to clip buffer if the incoming segment is in time or samples + - Use incoming segment with incoming timestamp + Handle non-time segments and NONE timestamps + - Don't reset the position when pushing out new caps + - Make a number of member variables private + - Correctly handle case where no pad has a buffer + If none of the pads have buffers that can be handled, don't claim to be EOS. + - Ensure proper locking + - Only support time segments + https://bugzilla.gnome.org/show_bug.cgi?id=740236 + +2015-03-07 22:08:40 -0500 Olivier Crête + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Release pad object lock before dropping buffer + Otherwise, the locking order is violated and deadlocks happen. + https://bugzilla.gnome.org/show_bug.cgi?id=745768 + +2015-03-06 20:22:13 -0500 Olivier Crête + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Only ignore pads with no buffers on timeout + When the timeout is reached, only ignore pads with no buffers, iterate + over the other pads until all buffers have been read. This is important + in the cases where the input buffers are smaller than the output buffer. + https://bugzilla.gnome.org/show_bug.cgi?id=745768 + +2015-03-06 21:12:13 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Be more aggressive with invalid replies to our latency query + https://bugzilla.gnome.org/show_bug.cgi?id=745768 + +2015-03-06 20:25:03 -0500 Olivier Crête + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Only advance by the buffer size when a buffer is late + https://bugzilla.gnome.org/show_bug.cgi?id=745768 + +2015-03-16 17:49:58 +0000 Tim-Philipp Müller + + * ext/dtls/gstdtlsagent.c: + * ext/dtls/gstdtlscertificate.c: + * ext/dtls/gstdtlsconnection.c: + dtls: make sure we actually log into the right debug category + GST_DTLS_USE_GST_LOG is not defined anywhere, so + we'd just log into the default category by accident. + We use the gst logging system unconditionally now, + so might just as well remove this #if #else. + +2015-03-16 17:36:49 +0000 Tim-Philipp Müller + + * ext/dtls/gstdtlsagent.c: + * ext/dtls/gstdtlsconnection.c: + dtls: fix some more compiler warnings + gcc-4.9.2: + gstdtlsagent.c:114:1: error: old-style function definition + gstdtlsconnection.c:253:3: error: ISO C90 forbids mixed declarations and code + gstdtlsconnection.c:291:3: error: ISO C90 forbids mixed declarations and code + gstdtlsconnection.c:391:3: error: ISO C90 forbids mixed declarations and code + gstdtlsconnection.c:434:3: error: ISO C90 forbids mixed declarations and code + gstdtlsconnection.c:773:1: error: 'BIO_s_gst_dtls_connection' was used with no prototype before its definition + gstdtlsconnection.c:773:1: error: old-style function definition + +2015-03-16 17:53:11 +0100 Sebastian Dröge + + * ext/dtls/Makefile.am: + * ext/dtls/gstdtlsagent.c: + * ext/dtls/gstdtlscertificate.c: + * ext/dtls/gstdtlscommon.h: + * ext/dtls/gstdtlsconnection.c: + * ext/dtls/gstdtlsdec.c: + * ext/dtls/gstdtlssrtpdec.c: + dtls: Unconditionally use GStreamer debug log system + +2015-03-16 17:48:43 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsagent.c: + * ext/dtls/gstdtlsagent.h: + * ext/dtls/gstdtlscertificate.c: + * ext/dtls/gstdtlscertificate.h: + * ext/dtls/gstdtlscommon.h: + * ext/dtls/gstdtlsconnection.c: + * ext/dtls/gstdtlsconnection.h: + * ext/dtls/gstdtlsdec.c: + * ext/dtls/gstdtlsdec.h: + * ext/dtls/gstdtlsenc.c: + * ext/dtls/gstdtlsenc.h: + * ext/dtls/gstdtlssrtpbin.c: + * ext/dtls/gstdtlssrtpbin.h: + * ext/dtls/gstdtlssrtpdec.c: + * ext/dtls/gstdtlssrtpdec.h: + * ext/dtls/gstdtlssrtpdemux.c: + * ext/dtls/gstdtlssrtpdemux.h: + * ext/dtls/gstdtlssrtpenc.c: + * ext/dtls/gstdtlssrtpenc.h: + * ext/dtls/plugin.c: + dtls: Re-namespace from Er to Gst + +2015-03-16 17:35:29 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsconnection.c: + dtls: Fix some compiler warnings + gstdtlsconnection.c:128:32: error: passing 'const char [30]' to parameter of type 'void *' + discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] + SSL_get_ex_new_index (0, "gstdtlsagent connection index", NULL, NULL, + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + /usr/include/openssl/ssl.h:1981:43: note: passing argument to parameter 'argp' here + int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + ^ + gstdtlsconnection.c:822:40: error: arithmetic on a pointer to void is a GNU extension + [-Werror,-Wpointer-arith] + memcpy (out_buffer, priv->bio_buffer + priv->bio_buffer_offset, copy_size); + ~~~~~~~~~~~~~~~~ ^ + +2015-03-16 17:34:05 +0100 Sebastian Dröge + + * ext/dtls/gstdtlsagent.c: + * ext/dtls/gstdtlscertificate.c: + * ext/dtls/gstdtlsconnection.c: + * ext/dtls/gstdtlsdec.c: + * ext/dtls/gstdtlsenc.c: + * ext/dtls/gstdtlssrtpbin.c: + * ext/dtls/gstdtlssrtpdec.c: + * ext/dtls/gstdtlssrtpdemux.c: + * ext/dtls/gstdtlssrtpenc.c: + * ext/dtls/plugin.c: + dtls: Fix indention + +2015-03-16 17:33:03 +0100 Sebastian Dröge + + * configure.ac: + * ext/Makefile.am: + * ext/dtls/Makefile.am: + * ext/dtls/gstdtlsagent.c: + * ext/dtls/gstdtlsagent.h: + * ext/dtls/gstdtlscertificate.c: + * ext/dtls/gstdtlscertificate.h: + * ext/dtls/gstdtlscommon.h: + * ext/dtls/gstdtlsconnection.c: + * ext/dtls/gstdtlsconnection.h: + * ext/dtls/gstdtlsdec.c: + * ext/dtls/gstdtlsdec.h: + * ext/dtls/gstdtlsenc.c: + * ext/dtls/gstdtlsenc.h: + * ext/dtls/gstdtlssrtpbin.c: + * ext/dtls/gstdtlssrtpbin.h: + * ext/dtls/gstdtlssrtpdec.c: + * ext/dtls/gstdtlssrtpdec.h: + * ext/dtls/gstdtlssrtpdemux.c: + * ext/dtls/gstdtlssrtpdemux.h: + * ext/dtls/gstdtlssrtpenc.c: + * ext/dtls/gstdtlssrtpenc.h: + * ext/dtls/plugin.c: + dtls: Add new DTLS plugin + This is a copy of the Ericsson DTLS plugin from + https://github.com/EricssonResearch/openwebrtc-gst-plugins/tree/master/ext/erdtls/src + https://bugzilla.gnome.org/show_bug.cgi?id=744582 + +2015-03-16 03:53:33 +1100 Jan Schmidt + + * gst/compositor/compositororc.orc: + compositor: Revert most of previous patch. + The calculation doesn't produce the same results. + Keep just the change to divide alpha by 255 instead of 256, + for slightly better accuracy + +2015-03-15 16:55:00 +0000 Sebastian Dröge + + * sys/androidmedia/gstjniutils.c: + * sys/androidmedia/gstjniutils.h: + androidmedia: Add helpers for calling static methods + +2015-03-15 16:38:29 +0000 Sebastian Dröge + + * sys/androidmedia/gstjniutils.c: + * sys/androidmedia/gstjniutils.h: + androidmedia: Fix indention + +2014-06-05 10:33:56 +0200 Matthieu Bouron + + * sys/androidmedia/gstamc.c: + * sys/androidmedia/gstjniutils.c: + * sys/androidmedia/gstjniutils.h: + androidmedia: Add more JNI helper functions + +2014-06-02 12:37:09 +0100 Matthieu Bouron + + * sys/androidmedia/Makefile.am: + * sys/androidmedia/gstamc.c: + * sys/androidmedia/gstjniutils.c: + * sys/androidmedia/gstjniutils.h: + androidmedia: Split jni code to gstjniutils.c + +2015-03-15 16:10:31 +0000 Tim-Philipp Müller + + * gst/mpegtsmux/mpegtsmux.c: + mpegtsmux: drop some superfluous assertions + g_return_*_if_fail() is for public API to catch + programming errors. For internal code, we should + just use g_assert() to check internal state. + +2015-03-15 15:54:01 +0000 Tim-Philipp Müller + + * tests/check/elements/mpegtsmux.c: + tests: mpegtsmux: add test for keyframe/delta flag propagation + The first output MPEG-TS packet that corresponds to a video input + buffer which had the delta flag cleared (i.e. was a keyframe) + should have the delta flag cleared as well. + This is needed e.g. by tcpserversink in order to keep track + of the last keyframe and be able to burst data to newly- + connected clients. + https://bugzilla.gnome.org/show_bug.cgi?id=706872 + +2015-03-15 14:35:15 +0000 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: add missing functions/objects + +2015-03-15 12:58:26 +0000 Matthew Waters + + * gst-libs/gst/gl/gstgldisplay.c: + gldisplay: tentative proper context collision detection + Fixes + tee name=t ! queue ! gliamgesink t. ! queue ! glimagesink + +2014-07-18 10:44:59 +0200 Jesper Larsen + + * gst/mpegtsmux/mpegtsmux.c: + mpegtsmux: Fix namespace of some internal functions + https://bugzilla.gnome.org/show_bug.cgi?id=733347 + +2015-03-16 00:22:14 +1100 Jan Schmidt + + * gst/compositor/compositororc.orc: + compositor: Fix blending functions + Correctly calculate alpha in a few places by dividing by 255, + not 256. + Fix the argb and bgra blending functions to avoid an off-by-one + error in the calculations, so painting with alpha = 0xff doesn't + ever bleed through from behind + +2015-03-15 12:06:22 +0000 Tim-Philipp Müller + + * tests/check/elements/mpegtsmux.c: + tests: mpegtsmux: add unit test for "alignment" property + https://bugzilla.gnome.org/show_bug.cgi?id=722129 + +2015-03-14 15:27:39 +0000 Tim-Philipp Müller + + * gst/mpegtsmux/mpegtsmux.c: + mpegtsmux: make "alignment" property more useful for packetisation + Currently the alignment property just makes sure that we + output things in multiples of align*packet_size bytes, but + with no clear maximum size. When streaming MPEG-TS over + UDP one wants buffers with a maximum packet size of 1316. + The alignment property so far would just output buffers + that are a multiple of 1316 then. + Instead we now make the alignment property output + individual buffers with the alignment size, which + is entirely backwards compatible with the expected + behaviour up until now. For efficiency reason + collect all those buffers in a buffer list and + send that downstream. + Also collect data to push downstream in a buffer + list from the adapter if we don't align things, + which is still more efficient because of the + silly way the muxer currently creates output + packets. + https://bugzilla.gnome.org/show_bug.cgi?id=722129 + +2015-03-11 23:03:24 +0800 xixi + + * ext/dash/gstmpdparser.c: + dashdemux: fetch wrong segment at the end of Period + Fix check for end of Period time to avoid trying + to fetch a segment that doesn't exist + https://bugzilla.gnome.org/show_bug.cgi?id=746038 + +2015-03-14 19:48:21 +0100 Víctor Manuel Jáquez Leal + + * ext/gl/gstgluploadelement.c: + * gst-libs/gst/gl/gstglupload.c: + glupload: move meta-data copy into gst-gl library + In some upload implementations the out buffer has more than one references, + turning the buffer not writable, so it won't be possible to modify its + meta-data. + This patch moves the meta-data copy before increasing the reference of the out + buffer. + https://bugzilla.gnome.org/show_bug.cgi?id=746173 + +2015-03-14 18:45:01 +0000 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: fix the slight difference between EXT_rg and ARB_rg + GL_EXT_texture_rg doesn't take sized formats for the internalformat + parameter of TexImage* but GL_ARB_texture_rg and GL(ES)3 do. + https://bugzilla.gnome.org/show_bug.cgi?id=732507 + +2015-03-14 17:29:02 +0000 Thiago Santos + + * gst/camerabin2/gstcamerabin2.c: + camerabin: remove hack around bug 648359 + It is already fixed + +2015-03-14 12:24:53 +0000 Thiago Santos + + * gst/camerabin2/gstcamerabin2.c: + camerabin: remove deprecated g_atomic function + We depend on 2.32 already + +2015-03-14 11:45:20 +0000 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: fix pad leak + Only get the pad if it is really going to be used to avoid + leaking it + +2015-03-14 18:10:24 +0000 Matthew Waters + + * tests/examples/gl/generic/cube/main.cpp: + gl/examples: fixup generic cube example for NDC + translating outside the clip region doesn't work + +2015-03-14 15:38:28 +0000 Julien Isorce + + * tests/examples/gl/sdl/.gitignore: + * tests/examples/gl/sdl/Makefile.am: + * tests/examples/gl/sdl/sdlshare2.c: + gl/examples: add sdlshare2 that uses glimagesink to output textures + https://bugzilla.gnome.org/show_bug.cgi?id=739681 + +2015-03-14 16:30:42 +0000 Julien Isorce + + * ext/gl/gstglimagesink.c: + glimagesink: keep window invisible when sharing output + https://bugzilla.gnome.org/show_bug.cgi?id=739681 + +2015-03-14 15:16:55 +0000 Julien Isorce + + * ext/gl/gstglimagesink.c: + * tests/examples/gl/generic/cube/Makefile.am: + * tests/examples/gl/generic/cube/main.cpp: + * tests/examples/gl/generic/cubeyuv/Makefile.am: + * tests/examples/gl/generic/cubeyuv/main.cpp: + * tests/examples/gl/generic/doublecube/Makefile.am: + * tests/examples/gl/generic/doublecube/main.cpp: + * tests/examples/gl/qt/mousevideooverlay/pipeline.cpp: + * tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp: + glimagesink: provide GstSample in client-draw signal + Instead of prividing texture and size directly. + And apply changes to examples. + https://bugzilla.gnome.org/show_bug.cgi?id=739681 + +2015-03-14 15:37:05 +0000 Julien Isorce + + * tests/examples/gl/sdl/sdlshare.c: + sdlshare: use glupload and unmap frame + +2015-03-14 16:25:29 +0000 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglmixer.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglsyncmeta.c: + * gst-libs/gst/gl/gstglsyncmeta.h: + glsyncmeta: make context to wait and set sync explicit + otherwise we may wait on a sync object in same context by accident + +2015-03-14 15:16:01 +0000 Tim-Philipp Müller + + * configure.ac: + configure: fix build + Was supposed to be squashed into earlier commit. + +2015-03-14 15:15:02 +0000 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/gst-plugins-bad-plugins.signals: + * docs/plugins/inspect/plugin-assrender.xml: + * docs/plugins/inspect/plugin-dvbsuboverlay.xml: + * docs/plugins/inspect/plugin-inter.xml: + * docs/plugins/inspect/plugin-jpegformat.xml: + * docs/plugins/inspect/plugin-resindvd.xml: + docs: update plugin docs + +2015-03-14 14:43:37 +0000 Tim-Philipp Müller + + * configure.ac: + * sys/Makefile.am: + * sys/osxvideo/Makefile.am: + * sys/osxvideo/osxvideoplugin.c: + * sys/osxvideo/osxvideosrc.c: + * sys/osxvideo/osxvideosrc.h: + Remove unported and useless osxvideosrc element + There are other elements for this now. + +2015-03-13 18:24:43 +0000 Ramiro Polla + + * gst/sdp/gstsdpdemux.c: + sdpdemux: properly escape percent sign in documentation + +2015-03-14 12:58:22 +0000 Nicolas Dufresne + + * ext/gl/gstglimagesink.c: + glimagesink: Add NULL check in error case + Other context may be NULL if something went wrong. Avoid trying to unref + a NULL pointer. + +2015-03-14 11:01:12 +0000 Matthew Waters + + * configure.ac: + gl: fix a couple of typos in configure.ac + https://bugzilla.gnome.org/show_bug.cgi?id=744020 + +2015-03-14 10:39:06 +0000 Matthew Waters + + * ext/gl/gstglcolorconvertelement.c: + * ext/gl/gstgluploadelement.c: + glupload/colorconvert: only copy timestamps if the input buffer != output + +2015-03-11 00:06:55 +0000 Julien Isorce + + * gst-libs/gst/gl/cocoa/Makefile.am: + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + * gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.h: + * gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m: + * gst-libs/gst/gl/gstgldisplay.c: + gl: add GstGLDisplayCocoa + https://bugzilla.gnome.org/show_bug.cgi?id=746012 + +2015-03-13 09:07:16 +0000 Julien Isorce + + * tests/examples/gl/cocoa/cocoa-videooverlay.m: + examples: initialize NSApp at the beginning + +2015-03-14 07:49:14 +0000 Julien Isorce + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: do not terminate loop in gst_gl_window_cocoa_close + It is now done in _finalize. + Fix regression introduced by + "gl/window: create the main loop/context on init/finalize" + bc7a7259f357b0065dd94e0668b5a895d83fa53a + +2015-03-13 15:34:55 +0000 Julien Isorce + + * gst-libs/gst/gl/gstglutils.c: + gl: avoid overwriting display and context to NULL + It happens when the application provides display + and/or context. + +2015-03-13 17:41:17 +0000 Matthew Waters + + * ext/gl/gltestsrc.c: + * gst-libs/gst/gl/gstglshader.c: + glshader: attribute locations are -1 on error + +2015-03-13 17:04:17 +0000 Neos3452 + + * gst-libs/gst/gl/gstglshader.c: + glshader: prevent from getting attributes without vertex shader + It doesn't make sense to query for vertex attributes without a vertex + shader. Moreover this is causing a crash on OSX. + https://bugzilla.gnome.org/show_bug.cgi?id=746168 + +2015-03-14 02:53:00 +1100 Jan Schmidt + + * ext/gl/gstglfilterbin.c: + GL: Remove annoying printf in the filterbin class_init + +2015-03-12 09:27:30 +0100 ijsf + + * sys/applemedia/avfvideosrc.m: + Restricted activeVideoMaxFrameDuration to fix frame rate + +2015-03-13 12:43:13 +0000 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: add pixel-aspect-ratio property on the bin + +2015-03-13 12:40:04 +0000 Matthew Waters + + * gst-libs/gst/gl/gstglupload.c: + glupload: unref the bufferpool + +2015-03-13 12:29:54 +0000 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: forward ALL the properties on the bin + +2015-03-13 12:28:36 +0000 Matthew Waters + + * ext/gl/gstgluploadelement.c: + gluploadelement: properly unref buffers that are the same as the input + basetransform doesn't unref equal input and output buffers + +2015-03-13 10:25:35 +0000 Matthew Waters + + * ext/gl/effects/gstgleffectbulge.c: + * ext/gl/effects/gstgleffectfisheye.c: + * ext/gl/effects/gstgleffectglow.c: + * ext/gl/effects/gstgleffectidentity.c: + * ext/gl/effects/gstgleffectlumatocurve.c: + * ext/gl/effects/gstgleffectmirror.c: + * ext/gl/effects/gstgleffectrgbtocurve.c: + * ext/gl/effects/gstgleffectsin.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/gstglbumper.c: + * ext/gl/gstglcolorscale.c: + * ext/gl/gstgldeinterlace.c: + * ext/gl/gstgldifferencematte.c: + * ext/gl/gstgleffects.c: + * ext/gl/gstglfilterapp.c: + * ext/gl/gstglfilterblur.c: + * ext/gl/gstglfiltercube.c: + * ext/gl/gstglfilterglass.c: + * ext/gl/gstglfilterlaplacian.c: + * ext/gl/gstglfilterreflectedscreen.c: + * ext/gl/gstglfiltershader.c: + * ext/gl/gstglfiltersobel.c: + * ext/gl/gstglmixer.c: + * ext/gl/gstglmixer.h: + * ext/gl/gstglmosaic.c: + * ext/gl/gstgloverlay.c: + * ext/gl/gstgltransformation.c: + * ext/gl/gstglvideomixer.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + gl: get the context from basemixer/basefilter + +2015-03-13 09:38:54 +0000 Matthew Waters + + * ext/gl/gstglbasemixer.c: + * ext/gl/gstglimagesink.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglbasefilter.c: + * gst-libs/gst/gl/gstglfilter.c: + gl: retreive the gldisplay/app gl context as soon as possible + fixes the usage of gst_gl_display_filter_gl_api + +2015-03-13 09:37:46 +0000 Matthew Waters + + * tests/check/libs/gstglcontext.c: + gl/tests: fix deadlock on glcontext wrapped context test + +2015-03-12 16:46:44 +0000 Julien Isorce + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: cache indices in a buffer object + +2015-03-12 17:11:31 +0000 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Fix discont detection and buffer alignment code + Actually accumulate the sample counter to check the accumulated error + between actual timestamps and expected ones instead of just resetting + the error back to 0 with every new buffer. + Also don't reset discont_time whenever we don't resync. The whole point of + discont_time is to remember when we first detected a discont until we actually + act on it a bit later if the discont stayed around for discont_wait time. + https://bugzilla.gnome.org/show_bug.cgi?id=746032 + +2015-03-08 18:16:04 +1100 Matthew Waters + + * ext/gl/caopengllayersink.h: + * ext/gl/caopengllayersink.m: + * ext/gl/gstopengl.c: + caopengllayersink: implement as a bin like glimagesink + +2015-03-03 18:05:04 +1100 Matthew Waters + + * ext/gl/caopengllayersink.m: + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h: + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: avoid deadlock when creating context on the main thread. + Make window/view creation async so that it is possible to + gst_gl_context_create from the main thread. + +2015-03-03 17:26:47 +1100 Matthew Waters + + * ext/gl/gstglbasemixer.c: + * ext/gl/gstglimagesink.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglbasefilter.c: + * gst-libs/gst/gl/gstgldisplay.c: + * gst-libs/gst/gl/gstgldisplay.h: + gl: store the list of contexts within gldisplay + Removes the reliance on the allocation query to propogate GL contexts. + Allows thread safely getting a context for the a specific thread. + +2015-03-03 16:48:24 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: unset the current shader after rendering + fixes gltestsrc ! glimagesink when gltestsrc doesn't use a shader + +2015-03-03 16:38:56 +1100 Matthew Waters + + * ext/gl/gstgltestsrc.c: + * ext/gl/gstgltestsrc.h: + gltestsrc: remove usage of gldownload library object + +2015-02-28 00:30:38 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcontext.c: + * gst-libs/gst/gl/gstglcontext.h: + glcontext: store the thread current context + +2015-02-26 18:26:36 +1100 Matthew Waters + + * ext/gl/Makefile.am: + * ext/gl/gstglsrcbin.c: + * ext/gl/gstglsrcbin.h: + * ext/gl/gstopengl.c: + gl: new glsrcbin element + +2015-02-26 13:45:56 +1100 Matthew Waters + + * ext/gl/gstglvideomixer.c: + * ext/gl/gstglvideomixer.h: + * ext/gl/gstopengl.c: + glvideomixer: implement with glmixerbin + The relevant properties are forwarded to/from the containing bin + and sink pads. + +2015-02-26 00:20:37 +1100 Matthew Waters + + * ext/gl/gstglmixer.c: + * ext/gl/gstglmixer.h: + glmixer: remove usage of upload/download objects + +2015-02-25 23:48:56 +1100 Matthew Waters + + * ext/gl/Makefile.am: + * ext/gl/gstglmixerbin.c: + * ext/gl/gstglmixerbin.h: + * ext/gl/gstopengl.c: + gl: new glmixerbin element + +2015-02-20 16:47:01 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + * ext/gl/gstopengl.c: + glimagesink: implement as a bin + glupload ! glcolorconvert ! sink + Some properties are manually forwarded. The rest are available using + GstChildProxy. + The two signals are forwarded as well. + +2015-02-19 18:23:37 +1100 Matthew Waters + + * ext/gl/Makefile.am: + * ext/gl/gstglsinkbin.c: + * ext/gl/gstglsinkbin.h: + * ext/gl/gstopengl.c: + gl: new glsinkbin element + similar to glfilterbin but for sinks + +2015-02-19 14:19:59 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: don't use the library upload/convert objects + +2015-02-19 13:33:28 +1100 Matthew Waters + + * ext/gl/Makefile.am: + * ext/gl/gstglfilterbin.c: + * ext/gl/gstglfilterbin.h: + * ext/gl/gstopengl.c: + gl: new element glfilterbin + It encapsulates a confiurable GL processing element in the + upload/colorconvert/download dance required to transparently process + the majority of GstBuffer's. + +2015-02-19 13:24:59 +1100 Matthew Waters + + * ext/gl/Makefile.am: + * ext/gl/gstgldownloadelement.c: + * ext/gl/gstgldownloadelement.h: + * ext/gl/gstopengl.c: + gl: add new gldownloadelement + Simply transforms caps to/from raw/glmemory capsfeatures + +2015-02-12 17:59:27 +1100 Matthew Waters + + * ext/gl/Makefile.am: + * ext/gl/gstglcolorconvertelement.c: + * ext/gl/gstglcolorconvertelement.h: + * ext/gl/gstopengl.c: + gl: add a new glcolorconvert element based on the glcolorconvert library object + +2015-03-11 16:56:16 +0000 Matthew Waters + + * gst-libs/gst/gl/gstglupload.c: + glupload: implement propose_allocation pool handling for glmemory upload + +2015-02-11 23:29:01 +1100 Matthew Waters + + * ext/gl/Makefile.am: + * ext/gl/gstgluploadelement.c: + * ext/gl/gstgluploadelement.h: + * ext/gl/gstopengl.c: + gl: add a new glupload element based on the glupload library object + +2015-02-11 14:48:45 +1100 Matthew Waters + + * ext/gl/Makefile.am: + * ext/gl/gstglbasemixer.c: + * ext/gl/gstglbasemixer.h: + * ext/gl/gstglmixer.c: + * ext/gl/gstglmixer.h: + * ext/gl/gstglmixerpad.h: + * ext/gl/gstglvideomixer.h: + gl: add a new glbasemixer class below glmixer + It deals with propagating the gl display/contexts throughout the + application/pipeline + +2015-02-11 01:48:11 +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/gstglbasefilter.c: + * gst-libs/gst/gl/gstglbasefilter.h: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + gl: add a new glbasefilter class below glfilter + It deals with propagating the gl display/contexts throughout the + application/pipeline + +2015-02-11 01:27:28 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglutils.c: + * gst-libs/gst/gl/gstglutils.h: + glutils: expose running a query on a set of src/sink pads + +2015-03-12 12:49:40 +0000 Vincent Penquerc'h + + * ext/opus/gstopusenc.c: + * ext/opus/gstopusenc.h: + opusenc: replace cbr and constrained-vbr properties with an enum + It was deemed confusing before. + https://bugzilla.gnome.org/show_bug.cgi?id=744909 + +2015-03-12 10:14:50 +0000 Matthew Waters + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: advertise resize in the caps negotiation properly + +2015-03-12 01:49:58 +0530 Nirbheek Chauhan + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Add locking to fill_buffer and fix mix_buffer + The audiomixer pad struct fields may be changed from other threads + +2015-03-12 01:56:44 +0530 Nirbheek Chauhan + + * gst/audiomixer/gstaudiomixer.c: + * gst/audiomixer/gstaudiomixer.h: + audiomixer: Mark a discont when we receive a new segment event + This allows us to handle new segment events correctly; either by dropping + buffers or inserting silence; for example if the offset is changed on an srcpad + connected to audiomixer. + +2015-03-12 09:46:02 +0000 Matthew Waters + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: we don't do resizing of the video frames + As we cannot do accurate texel sampling then due to the texture + coordinates being interpolated based on the output frame size. + +2015-01-20 19:53:09 +0530 Nirbheek Chauhan + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: While aggregating, sync values for all pads before converting frames + +2015-03-11 18:49:22 +0000 Matthew Waters + + * gst-libs/gst/gl/x11/gstglwindow_x11.c: + gl/x11: don't XGetWindowAttributes every XEvent + fixes a deadlock in xcb where the X window may not exist. + https://bugzilla.gnome.org/show_bug.cgi?id=745633 + +2015-03-11 14:50:28 +0000 Matthew Waters + + * gst-libs/gst/gl/android/gstglwindow_android_egl.c: + * gst-libs/gst/gl/eagl/gstglwindow_eagl.m: + gl/window: hopefully fixup compile warnings on android/ios + +2015-03-11 17:19:17 +1100 Jan Schmidt + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: Remove redundant check for clearing context on reset. + The context is already cleared a few lines above. + +2015-03-11 16:55:14 +1100 Jan Schmidt + + * ext/dash/gstisoff.c: + * ext/dc1394/gstdc1394.c: + * ext/openjpeg/gstopenjpegenc.c: + * ext/resindvd/gstmpegdesc.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/gl/egl/gsteglimagememory.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglutils.c: + * gst-libs/gst/insertbin/gstinsertbin.c: + * gst-libs/gst/mpegts/gstmpegtsdescriptor.c: + * gst/mxf/mxfmetadata.c: + * gst/siren/gstsirendec.c: + * gst/videomeasure/gstvideomeasure_ssim.c: + * sys/acmenc/acmenc.c: + * sys/vdpau/gstvdpvideobufferpool.c: + Remove a bunch of silly ';;' typos at the end of lines + +2015-03-06 15:31:18 +1100 Matthew Waters + + * 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/wayland/gstglwindow_wayland_egl.c: + * gst-libs/gst/gl/x11/gstglwindow_x11.c: + gl/window: create the main loop/context on init/finalize + Avoids races setting the window handle from the main thread. + https://bugzilla.gnome.org/show_bug.cgi?id=745633 + +2015-03-08 02:04:11 +1100 Matthew Waters + + * gst-libs/gst/base/gstaggregator.h: + aggregatory: don't redefine GST_FLOW_CUSTOM_SUCCESS + +2015-03-04 11:12:32 +0100 Edward Hervey + + * sys/androidmedia/gstamcaudiodec.c: + androidmedia: Remove unused label/variable + +2015-03-10 15:31:21 +0100 Mathieu Duponchelle + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: fix get_presentation_offset check. + And return 0 isntead of FALSE. + https://bugzilla.gnome.org/show_bug.cgi?id=745455 + +2015-03-02 14:00:03 +0100 Mathieu Duponchelle + + * ext/dash/gstdashdemux.c: + * ext/dash/gstmpdparser.c: + * ext/dash/gstmpdparser.h: + dashdemux: implement get_presentation_offset. + To account for presentationTimeOffset as per section 7.2.1 . + https://bugzilla.gnome.org/show_bug.cgi?id=745455 + +2015-03-02 13:53:03 +0100 Mathieu Duponchelle + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: + adaptivedemux: [API]: get_presentation_offset virtual method. + Asks the subclass for a potential time offset to apply to each + separate stream, in dash streams can have "presentation time offsets", + which can be different for each stream. + https://bugzilla.gnome.org/show_bug.cgi?id=745455 + +2015-03-06 12:24:44 +0100 Mathieu Duponchelle + + * ext/dash/gstmpdparser.c: + gstmpdparser: Really set the default value for startNumber. + + The specs ask for a default of 1, the current code only did + set a default when the field was present. + https://bugzilla.gnome.org/show_bug.cgi?id=745455 + +2015-03-09 11:11:16 +0000 Luis de Bethencourt + + * gst/videoparsers/gstmpegvideoparse.c: + videoparser: unused value + Value set in off will be immediately overwritten after going to next. + CID #1226476 + +2015-03-09 12:51:21 +0900 hoonhee.lee + + * gst/y4m/gsty4mdec.c: + y4mdec: remove unnecessary semicolon + https://bugzilla.gnome.org/show_bug.cgi?id=745877 + +2015-03-09 12:41:59 +0900 hoonhee.lee + + * tests/check/libs/gstglcontext.c: + tests: glcontext: remove unnecessary semicolon + https://bugzilla.gnome.org/show_bug.cgi?id=745875 + +2015-03-06 14:49:20 +0200 Mohammed Hassan + + * gst/camerabin2/gstcamerabin2.c: + camerabin: update zoom param spec if video source changes its max-zoom + If the video source happens to allow max-zoom to be greater than our maximum hard coded + value of 10 then the user cannot set anything greater than our maximum specified in the + param spec. We have to update our param spec to prevent glib from capping the value + https://bugzilla.gnome.org/show_bug.cgi?id=745740 + +2015-03-07 10:28:35 +0100 Sebastian Dröge + + * sys/applemedia/plugin.m: + * sys/applemedia/vtdec.c: + * sys/applemedia/vtdec.h: + vtdec: Register a hardware-only vtdec_hw on OSX and give it a higher rank + while having the default vtdec at secondary rank. This allows decodebin/playbin + to prefer the hardware based decoders, and if that fails to initialize because + hardware resources are busy to fall back to e.g. the libav based h264 decoder + instead of the software based vtdec (which is slower), and only fall back to + the software based vtdec if there is no higher ranked decoder available. + +2015-03-06 20:11:00 -0500 Nicolas Dufresne + + * ext/gl/gstglmixer.c: + glmixer: Don't share our downstream pool with upstream + Pool cannot have multiple owner. This can lead to spurious + pool was flushing error. + https://bugzilla.gnome.org/show_bug.cgi?id=74570 + +2015-03-05 16:28:36 -0500 Nicolas Dufresne + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: Don't chain downstream pool + Chaining a downstream pool would lead to two owner of the same + pool. In dynamic pipeline, if one owner is removed from the pipeline + the pool will be stopped, and the rest of the pipeline will fail + since the pool will now be flushing. Also fix proposed pool caching, + filter->pool was never set, never unrefed. + https://bugzilla.gnome.org/show_bug.cgi?id=745705 + +2015-03-05 15:49:50 -0500 Nicolas Dufresne + + * ext/gl/gstglimagesink.c: + glimagesink: Only cache pool, don't manage it + GLImage does not use any kind of internal pool. There was some + remaining code and comment stating that it was managing the + pool, and it was in fact setting the active state when doing + to ready state. + * Only create the pool if requested and in propose_allocation + * Cache the pool to avoid reallocation on spurious reconfigure + * Don't try to deactivate the pool (we don't own it) + https://bugzilla.gnome.org/show_bug.cgi?id=745705 + +2015-03-06 12:07:47 -0500 Xavier Claessens + + * gst/videoparsers/gstpngparse.c: + pngparse: stop spamming info messages + https://bugzilla.gnome.org/show_bug.cgi?id=745755 + +2015-03-06 18:54:24 +0100 Sebastian Dröge + + * gst-libs/gst/gl/gstgldownload.c: + gldownload: Simplify caps feature setting code + +2015-03-06 18:15:11 +0100 Sebastian Dröge + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglmixer.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglfilter.c: + gl: Remove format info in glcolorconvert's transform_caps function instead of on every caller + ... and let glmixer actually transform the caps it is supposed to transform + instead of inventing new caps. + +2015-03-06 18:49:16 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + Revert "videoaggregator: Create new caps from the video-info" + This reverts commit 78215be0dfbb4e8ed4f249e161a94c644328d28d. + because it broke glvideomixer with custom caps features. + +2015-03-06 18:36:12 +0100 Sebastian Dröge + + * gst-libs/gst/gl/gstglupload.c: + glupload: Simplify caps feature setting code + +2015-03-06 14:54:41 +0000 Luis de Bethencourt + + * gst/rtp/gstrtph265depay.c: + rtp: donl_present variable unused + donl_present is not implemented, yet the value is set and checked a few times. + Cleaning this. + CID #1249687 + +2015-03-06 14:27:44 +0000 Luis de Bethencourt + + * gst/mpegtsmux/tsmux/tsmuxstream.c: + mpegtsmux: fall through switch statement + Adding a comment makes coverity happy and quells the issue. + CID #1139748 + +2015-03-06 14:36:26 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Create new caps from the video-info + In case the original caps were missing some optional fields like + interlace-mode. We assume default values for those everywhere, + but they can still cause negotiation to fail if a downstream element + expects the field to be there and at a specific value. + +2015-02-25 13:52:21 +0100 Florian Zwoch + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: allow "capture-screen" mode to select which screen to capture via the "device-index" option + https://bugzilla.gnome.org/show_bug.cgi?id=745161 + +2015-03-05 19:09:49 +0100 Edward Hervey + + * gst-libs/gst/gl/gstgldisplay.c: + gldisplay: Only use debugging if we have valid values + The debug category won't have been created/activated if it's not a + valid display + +2015-03-05 15:54:55 +0000 Luis de Bethencourt + + * ext/opencv/motioncells_wrapper.cpp: + motioncells: protect against not found id + If searchIdx() doesn't find the id it returns -1, which breaks + motioncelssvector.at (idx). Check for it and return if not found. + Changing a few other lines for style consistency. + +2015-03-05 15:34:09 +0000 Luis de Bethencourt + + * ext/opencv/gsttemplatematch.c: + opencv: remove always-true check + filter->cvImage has just been used/dereferenced, there would be an error + there if the pointer was NULL. No need to check since it will always be true. + +2015-03-04 16:13:30 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + decklinkaudiosrc: Calculate the duration more accurately from the capture time and numbers of samples + This should prevent any accumulating rounding errors with the duration. + +2015-03-04 16:05:28 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + decklinkaudiosrc: Fix the timestamp and offset calculations even more + +2015-03-04 16:04:18 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + decklinkaudiosrc: Don't subtract the duration from the capture time + We already have the real capture time, not the time when we received + the end of the packet. + +2015-03-04 13:16:03 +0100 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + Revert "audiomixer: Latency is twice the output buffer duration, not only once" + This reverts commit d387cf67df91b59540f32ee17b4c02f747969add. + The analysis was wrong: The first 20ms of latency are introduced by the source + already and put into the latency query, making it only necessary to cover the + additional 20ms of audiomixer inside audiomixer. + +2015-03-04 09:24:27 +0000 Vincent Penquerc'h + + * ext/opus/gstopusdec.c: + opusdec: fix latency query in FEC case + The max latency parameter is "the maximum time an element + synchronizing to the clock is allowed to wait for receiving all + data for the current running time" (docs/design/part-latency.txt). + https://bugzilla.gnome.org/show_bug.cgi?id=744338 + +2015-03-03 11:42:09 -0300 Thiago Santos + + * gst/videoparsers/gsth264parse.c: + h264parse: reset the parser information when caps changes + This prevents it from going into passthrough after receiving 2 + byte-stream caps (different ones) as it would keep the have_pps and + have_sps set to true and would just go into passthrough without + updating its caps. + This patch makes it reset its stream information to restart properly + when new caps are received. + https://bugzilla.gnome.org/show_bug.cgi?id=745409 + +2015-03-03 17:47:51 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + hlsdemux: set timestamp on discont buffers + Make sure discont buffers have its timestamp set to allow downstream + to resync if needed + +2012-03-22 08:47:57 +0100 Oleksij Rempel + + * gst/camerabin2/gstwrappercamerabinsrc.c: + * gst/camerabin2/gstwrappercamerabinsrc.h: + camerabin2: check negotiated caps avoid reseting of the pipe + To avoid useless renegotiation of the pipe we can check for + negotiated caps on src_filter and compare it with requested + filter. If the caps intersect, avoid restart. + Signed-off-by: Oleksij Rempel + https://bugzilla.gnome.org/show_bug.cgi?id=672610 + +2015-03-02 01:08:15 +0300 Ilya Averyanov + + * gst/mpegtsmux/mpegtsmux.c: + mpegtsmux: Remove duplicate code + The muxer is already allocated in reset(), which is called soon afterwards. + https://bugzilla.gnome.org/show_bug.cgi?id=745506 + +2015-03-03 10:12:11 +0800 Song Bing + + * gst/dvbsuboverlay/gstdvbsuboverlay.c: + dvbsuboverlay: Set query ALLOCATION need_pool to FALSE + Set query ALLOCATION need_pool to FALSE as it only need query if can + support video overlay composition meta. + https://bugzilla.gnome.org/show_bug.cgi?id=745495 + +2015-03-04 14:38:36 +1100 Matthew Waters + + * sys/applemedia/avsamplevideosink.h: + * sys/applemedia/avsamplevideosink.m: + applemedia/avsamplesink: utilise a pull based approach of displaying video frames + Using requestMediaDataWhenReadyOnQueue the layer will execute a block + when it would like more frames. Using this we can provide the current + frame and avoid needlessly filling the layer's buffer queue causing + older frames to be displayed when under resource pressure. + +2015-03-03 15:22:38 -0500 Nicolas Dufresne + + * ext/gl/gstgloverlay.c: + gloverlay: Fix upside down and miss-aligned JPEG + LibJPEG uses macroblock of 8x8 sample. In this element we use RGB and + Y444, two 24bit formats that are stored in 32bit pixels. This mean we + have 32x32 bytes macroblocks. For this reason, we need to allocate + our buffer slightly larger. We also need to pass the line pointer in + the right order, otherwise the image endup upside-down. + https://bugzilla.gnome.org/show_bug.cgi?id=745109 + +2015-03-03 20:03:55 +0100 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Latency is twice the output buffer duration, not only once + Let's assume a source that outputs outputs 20ms buffers, and audiomixer having + a 20ms output buffer duration. However timestamps don't align perfectly, the + source buffers are offsetted by 5ms. + For our ASCII art picture, each letter is 5ms, each pipe is the start of a + 20ms buffer. So what happens is the following: + 0 20 40 60 + OOOOOOOOOOOOOOOO + | | | | + 5 25 45 65 + IIIIIIIIIIIIIIII + | | | | + This means that the second output buffer (20 to 40ms) only gets its last 5ms + at time 45ms (the timestamp of the next buffer is the time when the buffer + arrives). But if we only have a latency of 20ms, we would wait until 40ms + to generate the output buffer and miss the last 5ms of the input buffer. + +2015-02-18 21:21:01 -0500 Xavier Claessens + + gltransformation: normalize translations + https://bugzilla.gnome.org/show_bug.cgi?id=744763 + * Lubosz: use maxfloat for transformation range + +2015-02-18 20:41:14 -0500 Xavier Claessens + + * ext/gl/gstgltransformation.c: + gltransformation: Fix doc typo + https://bugzilla.gnome.org/show_bug.cgi?id=744763 + +2015-03-03 13:45:46 -0500 Nicolas Dufresne + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: Get rid of uploader if caps have changed + We need to update the uploader format if that caps have changed. + https://bugzilla.gnome.org/show_bug.cgi?id=745549 + +2015-03-03 16:50:30 +0000 Luis de Bethencourt + + * ext/wayland/wlshmallocator.c: + waylandsink: g_mkstemp is safer than mkstep + +2015-03-03 16:49:07 +0000 Luis de Bethencourt + + * ext/wayland/wlshmallocator.c: + Revert "waylandsink: mkstemp requires setting permission mask" + This reverts commit 1890e7355a5464fcfff58633851265b3fc7a3731. + Better to use g_mkstemp that takes care of the mask without affecting the + entire process. + +2015-03-03 16:55:26 +0100 Edward Hervey + + * gst-libs/gst/gl/gstglwindow.c: + gl: Fix context leaks + Introduced by a12ca13750a15300ab3c718ebde2984dc3d587b3 + +2015-03-03 16:23:40 +0000 Luis de Bethencourt + + * gst/asfmux/gstasfmux.c: + asfmux: remove unnecessary conditional + The two branches of the if conditional are identical, which means in all cases + the same gst_asf_put_guid() will be executed. Do it directly. + CID #1226448 + +2015-03-03 15:51:50 +0000 Luis de Bethencourt + + * ext/wayland/wlshmallocator.c: + waylandsink: mkstemp requires setting permission mask + Using mkstemp without setting the permission mask is potentially harmful. + POSIX specification of mkstemp() does not say anything about file modes, so we + need to make sure its file mode creation mask is set appropriately before + calling it. + +2015-03-02 16:45:45 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + * sys/decklink/gstdecklinkvideosrc.cpp: + decklink: Reset the clock calibration when unsetting the master clock + Otherwise the old calibration will stick around for the next time we use it, + potentially giving us completely wrong times. + +2015-03-02 13:57:24 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.cpp: + decklink{audio,video}src: Add some more debug output + +2015-02-12 13:43:30 +0100 DanielD10 + + * sys/decklink/gstdecklink.cpp: + decklink: Incorrect frame rate for interlaced modes + https://bugzilla.gnome.org/show_bug.cgi?id=744386 + +2015-03-01 19:57:23 +0000 Julien Isorce + + * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h: + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + gl/cocoa: register only one custom nsapp loop + Otherwise the pipeline stalls when running + more than one glimagesink with gst-launch. + Also only register the custom nsapp loop + when setting up the nsapp from gstgl. + +2015-03-01 16:54:10 +0000 Julien Isorce + + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + gl/cocoa: instead of class_init use g_once to setup nsapp + +2015-02-26 23:04:09 +0000 Julien Isorce + + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + gl/cocoa: check for deprecated constants prior to OSX 10.10 + +2015-03-01 09:43:32 -0500 Nicolas Dufresne + + * gst-libs/gst/gl/gstglbufferpool.c: + glbufferpool: Fix offset for odd height + We also need to recalculate the offset, since otherwise the frame + mapping will be forward two lines in the U and V planes (I420) due + to gst_video_info_align() round up the Y plane to a even number of + lines. + https://bugzilla.gnome.org/show_bug.cgi?id=745054 + +2015-03-01 00:08:42 -0500 Nicolas Dufresne + + * tests/check/libs/gstglmemory.c: + gl-test: Port unit tests to new API + +2015-02-28 15:00:13 -0500 Nicolas Dufresne + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: Support offset when downloading + Make sure we support offset and video alignment when downloading too. + This is currently not used (plane_start is always 0), but it makes + the code correct if we want to use that later. + +2015-02-28 13:01:16 -0500 Nicolas Dufresne + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: Provide correct size on upload + Provide the right size to GL when uploading. Using maxsize is wrong + since we offset the data point with the memory offset and video + alignement offset. + https://bugzilla.gnome.org/show_bug.cgi?id=744246 + +2015-02-28 12:48:03 -0500 Nicolas Dufresne + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: Provide correct size on download + Provide the right size to GL when downloading. This fixes downloading + from GLMemory that where created for libav. + https://bugzilla.gnome.org/show_bug.cgi?id=744246 + +2015-02-28 11:55:26 -0500 Nicolas Dufresne + + * gst-libs/gst/gl/gstglmemory.c: + * gst-libs/gst/gl/gstglmemory.h: + glmemory: Use fallback for partial copy + When the memory is partial copy, the texture size and videoinfo no + longer make sense. As we cannot guess what the application wants, we + safely copy into a sysmem memory. + https://bugzilla.gnome.org/show_bug.cgi?id=744246 + +2015-02-25 18:07:03 -0500 Nicolas Dufresne + + * ext/gl/gstgloverlay.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/gstglupload.c: + glmemory: Add GstAllocationParams and alignment support + This implements support for GstAllocationParams and memory alignments. + The parameters where simply ignored which could lead to crash on + certain platform when used with libav and no luck. + https://bugzilla.gnome.org/show_bug.cgi?id=744246 + +2015-02-28 18:21:33 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglupload.c: + glupload: perform egl upload on the gl thread + Fixes EGLImage usage on raspberry pi + https://bugzilla.gnome.org/show_bug.cgi?id=743914 + +2015-02-27 11:07:34 +0200 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosrc.cpp: + decklinkvideosrc: Fix scaling with rate of internal/external clock + +2015-02-27 00:26:00 +0530 Arun Raghavan + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Use standard upstream latency querying logic + The same functionality is duplicated in the default latency querying + now. + +2015-02-27 00:01:41 +0530 Arun Raghavan + + * gst/liveadder/liveadder.c: + liveadder: Use default upstream latency querying logic + We can rely on the standard upstream latency querying logic and then add + our own latency. + +2015-02-26 13:20:26 +0100 Víctor Manuel Jáquez Leal + + * gst-libs/gst/gl/gstglupload.c: + glupload: Set freed method implementation to NULL + When trying to render buffers with meta:GLTextureUpload the glimagesink crashes + with a segmentation fault. + This patch workarounds this crash setting to NULL the method implementation + after free. + https://bugzilla.gnome.org/show_bug.cgi?id=745206 + +2015-02-25 14:48:59 +0100 Roman Nowicki + + * sys/d3dvideosink/d3dhelpers.c: + d3dvideosink: release existing D3D swap chain on init + https://bugzilla.gnome.org/show_bug.cgi?id=745159 + +2015-02-24 19:01:45 -0500 Nicolas Dufresne + + * ext/gl/Makefile.am: + opengl: Clean Makefile.am + + Split headers from source + + Remove uneeded AM_CFLAGS, AM_LDFLAGS + + Always set OBJCFLAGS + Due to the presence of a .m and regardless of the conditional values, + automake will promote the link command to OBJC using OBJCFLAGS. Only + the basic flags (like warnings and optimization) are going to make a + difference though. + This cleanup builds up the makefile with less specific files first + toward more specific file. FLAGS are built with the basic that unused + flags will have empty variable. + +2015-02-24 12:54:54 -0500 Xavier Claessens + + * ext/gl/gstglimagesink.c: + glimagesink: cosmetic cleanup + https://bugzilla.gnome.org/show_bug.cgi?id=745105 + +2015-02-24 19:52:59 +0000 Tim-Philipp Müller + + * ext/gl/Makefile.am: + opengl: don't add --tag=CC twice to LIBTOOLFLAGS + +2015-02-24 14:35:37 -0500 Nicolas Dufresne + + * ext/gl/Makefile.am: + opengl: Add --tag=CC to LIBTOOLCLFAGS + This is required for static build. + +2015-02-24 18:50:03 +0000 Luis de Bethencourt + + * gst/jpegformat/gstjpegparse.c: + * tests/check/elements/jpegparse.c: + jpegparse: interlaced doesn't mean progressive scan + Removing interlaced variable since it is meant to mean progressive scan + and that isn't used. + +2015-02-24 18:38:31 +0000 Luis de Bethencourt + + * tests/check/elements/jpegparse.c: + Revert "tests: check jpegparse for progressive marker" + This reverts commit 1c77d12ce8770f0e065e9c00c35d711fdef1c9f8. + "interlaced" in the caps don't mean the same thing as the SOF2 marker in the + JPEG format. This test passes because of broken behaviour. + +2015-02-24 17:41:43 +0000 Luis de Bethencourt + + * tests/check/elements/jpegparse.c: + tests: check jpegparse for progressive marker + +2015-02-24 14:01:04 +0100 Edward Hervey + + * gst-libs/gst/gl/gstglwindow.c: + glwindow: Deactivate window before changing handle + When setting a new window handle, we need to ensure all implementations + will detect the change. + For that we deactivate the context before setting the window handle, then + reactivate the context + https://bugzilla.gnome.org/show_bug.cgi?id=745090 + +2015-02-24 13:58:26 +0100 Edward Hervey + + * gst-libs/gst/gl/egl/gstglcontext_egl.c: + * gst-libs/gst/gl/egl/gstglcontext_egl.h: + gl/egl: Detect window handle changes + When (re)activating the context, the backing window handle might have changed. + If that happened, destroy the previous surface and create a new one + https://bugzilla.gnome.org/show_bug.cgi?id=745090 + +2015-02-24 14:20:42 +0000 Luis de Bethencourt + + * gst-libs/gst/gl/gstglapi.c: + gl: remove docbook related warnings + +2015-02-24 13:51:24 +0000 Luis de Bethencourt + + * ext/modplug/gstmodplug.cc: + modplug: remove unused variable + +2015-02-24 13:36:00 +0000 Luis de Bethencourt + + * ext/modplug/gstmodplug.cc: + modplug: not using deprecated API anymore + +2015-02-24 13:16:21 +0000 Luis de Bethencourt + + * ext/modplug/gstmodplug.cc: + modplug: update example pipeline command + +2015-02-24 19:03:43 +0530 Arun Raghavan + + * gst-libs/gst/mpegts/gst-dvb-section.c: + mpegts: Fix a compiler warning + Causes the following warning on clang: + gst-dvb-section.c:567:36: error: format specifies type 'unsigned long' but the argument has type 'int' [-Werror,-Wformat] + descriptors_loop_length, end - 4 - data); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ + +2015-02-24 23:54:13 +1100 Matthew Waters + + * sys/applemedia/vtdec.c: + vtdec: only attempt use of the texture cache with GLMemory caps features + Otherwise we send rectangle textures to glimagesink + +2015-02-24 23:52:39 +1100 Matthew Waters + + * ext/gl/caopengllayersink.m: + caopengllayersink: render black when we don't have a texture to display + Like when the winsys asks us to redraw before the pipeline has started + +2015-02-25 00:00:48 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: allow sharing between buffers + There was no real reason why the flag was set. We should be able + to handle it. Fixes last-sample handling on gl sinks + +2015-02-24 20:34:35 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglsyncmeta.c: + glsyncmeta: add compat definition for gles2 + +2015-02-24 11:19:04 +0200 Sebastian Dröge + + * sys/d3dvideosink/d3dhelpers.c: + d3dvideosink: Don't initialize the render window swap chain while the device is lost and we're waiting for reset + https://bugzilla.gnome.org/show_bug.cgi?id=744615 + +2015-02-24 11:18:38 +0200 Sebastian Dröge + + * sys/d3dvideosink/d3dvideosink.c: + d3dvideosink: Deactivate the fallback buffer pool when replacing it during caps changes + https://bugzilla.gnome.org/show_bug.cgi?id=744615 + +2015-01-29 17:41:19 +1100 Matthew Waters + + * ext/gl/Makefile.am: + * ext/gl/caopengllayersink.h: + * ext/gl/caopengllayersink.m: + * ext/gl/gstopengl.c: + new caopengllayersink element + renders gstreamer gl scene/video frames to a caopengllayer retreivable + from the "layer" property. + +2015-01-19 12:43:23 +1100 Matthew Waters + + * configure.ac: + * sys/applemedia/Makefile.am: + * sys/applemedia/avsamplevideosink.h: + * sys/applemedia/avsamplevideosink.m: + * sys/applemedia/plugin.m: + * tests/examples/Makefile.am: + * tests/examples/avsamplesink/.gitignore: + * tests/examples/avsamplesink/Makefile.am: + * tests/examples/avsamplesink/main.m: + applemedia: new AVSampleBufferLayerSink + Renders buffers using the CALayer subclass AVSampleBufferDisplayLayer + which can be placed inside a Core Animation render tree. + +2015-02-24 19:06:18 +1100 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: + gl/calayer: don't use the async callback to render + not until we can provide equivalent functionality for other window + implementations. + +2015-02-24 01:20:23 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglsyncmeta.c: + glsyncmeta: also supported with gles3 + +2015-02-24 14:23:49 +1100 Alessandro Decina + + * 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: eagl: handle CALayer resize + +2015-02-23 16:13:31 +0100 Vasilis Liaskovitis + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: Fix transfer_pbo memory leak + https://bugzilla.gnome.org/show_bug.cgi?id=744977 + +2015-02-22 10:03:54 +0000 Julien Isorce + + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + gl/cocoa: reduce custom main loop latency + This fix a very slow rendering rate regression that only + happens when using gst-launch, i.e. in the case where + the main thread does not run any NSApp loop. + Git bisect reported it has been introduced by the commit + e10d2417e2fe7aa4733c076984339b0d61caa169: + "move to CGL and CAOpenGLLayer for rendering". + Then the commit 7d463576271e5a4cc1070780ba1a69c971e8be1d: + "gstglwindow_cocoa: fix slow render rate" attempted to fix + the slow rendering rate problem when using gst-launch. + At least for me it does not work. I tried several + combinations, for example to flush CA transactions in the + custom app loop, as mentioned in the doc, but the only solution + that fixes the slow rendering is by reducing the loop latency. + From what I tested, no need to put less than 60ms, even if the + framerate has an interval much lower (16.6ms for 60 fps). + +2015-02-17 23:50:51 +0000 Julien Isorce + + * ext/gl/gstglmixerpad.h: + glmixer: fix some compiler warnings + i686-apple-darwin11-llvm-gcc-4.2 + gstglmixer.h:43: error: redefinition of typedef ‘GstGLMixer’ + gstglmixerpad.h:32: error: previous declaration of ‘GstGLMixer’ was here + gstglmixer.h:46: error: redefinition of typedef ‘GstGLMixerFrameData’ + gstglmixerpad.h:33: error: previous declaration of ‘GstGLMixerFrameData’ was here + +2015-02-21 19:07:29 +0000 Tim-Philipp Müller + + * docs/plugins/gst-plugins-bad-plugins.args: + * docs/plugins/gst-plugins-bad-plugins.hierarchy: + * docs/plugins/inspect/plugin-adpcmenc.xml: + * docs/plugins/inspect/plugin-curl.xml: + * docs/plugins/inspect/plugin-faac.xml: + * docs/plugins/inspect/plugin-inter.xml: + * docs/plugins/inspect/plugin-mpg123.xml: + * docs/plugins/inspect/plugin-opus.xml: + docs: update + +2015-02-21 19:07:14 +0000 Tim-Philipp Müller + + * docs/plugins/gst-plugins-bad-plugins-docs.sgml: + * docs/plugins/gst-plugins-bad-plugins-sections.txt: + docs: add opus elements to documentation + +2015-02-21 18:52:00 +0000 Luis de Bethencourt + + * tests/examples/mxf/mxfdemux-structure.c: + mxf-example: don't quit on Warning + Don't quit on Warning. + Print out a message when there is an Error or Warning. + +2015-02-21 18:47:29 +0000 Luis de Bethencourt + + * tests/examples/mxf/mxfdemux-structure.c: + mxf-example: always show gtk window + Show gtk window even when there are no tags, to always have visual feedback + about the pipeline running. + +2015-02-21 17:35:03 +0000 Luis de Bethencourt + + * tests/examples/mxf/mxfdemux-structure.c: + mxf-example: merge returns in g_value_to_string() + +2015-02-21 17:25:51 +0000 Luis de Bethencourt + + * tests/examples/mxf/mxfdemux-structure.c: + mxf-example: make bus_callback consistent + Simplify the bus_callback to make it consisten with other examples. + +2015-02-21 17:18:02 +0000 Luis de Bethencourt + + * tests/examples/mxf/mxfdemux-structure.c: + mxf-example: fix usage of argc and argv + +2015-02-21 17:02:09 +0000 Luis de Bethencourt + + * tests/examples/camerabin2/gst-camera2.c: + camerabin examples: remove unneeded variable + ret is only used once, we don't need to store it in a variable for that. + +2015-02-21 14:42:05 +0100 Mathieu Duponchelle + + * gst-libs/gst/gl/gstglmemory.c: + gstglmemory: Remove now unused transfer_upload function. + +2015-02-21 23:29:22 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: disable automatic pbo upload + until we can track where the data is/or is going to be. + +2015-02-20 13:55:05 +0000 Alex Ashley + + * ext/hls/m3u8.c: + * ext/hls/m3u8.h: + * tests/check/elements/hlsdemux_m3u8.c: + hlsdemux: select correct starting position for live streams + When playing live HLS streams, the media playback starts from the + beginning of the media playlist. When playing a live HLS stream, + media playback should start from 3 fragments from the end of the + playlist. + See section 6.3.3. of the HLS draft [1] + This commit changes the logic to select 3 fragments from the end when + playing a live stream. + [1] http://tools.ietf.org/html/draft-pantos-http-live-streaming-12#page-29 + https://bugzilla.gnome.org/show_bug.cgi?id=727742 + +2015-02-20 18:42:23 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + * gst-libs/gst/gl/gstglmemory.h: + glememory: only store and act on the map flags on first/last map/unmap + Anytime else, we have no idea how to match up map and unmaps. + We also don't know exactly how the calling code is using us. + Also fixes the case where we're trying to transfer while someone else + is accessing our data pointer or texture resulting in mismatched video + frames. + https://bugzilla.gnome.org/show_bug.cgi?id=744839 + +2015-02-19 21:21:56 -0500 Olivier Crete + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Use src_lock to protect latency related members + One has to use the src_lock anyway to protect the min/max/live so they + can be notified atomically to the src thread to wake it up on changes, + such as property changes. So no point in having a second lock. + Also, the object lock was being held across a call to + GST_ELEMENT_WARNING, guaranteeing a deadlock. + +2015-02-19 18:53:32 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Remove untrue comment + +2015-02-19 18:30:35 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Don't try to push tags while flush seeking + The downstream segment could have been flushed already, so + need to re-send the segment event before re-sending the tags. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-02-19 14:34:23 +0100 Guillaume Seguin + + * ext/hls/gsthlssink.c: + hlssink: reduce playlist's EXT-X-VERSION to 3 + We are not using any features greater than the 3rd version, + so reduce to what we actually use to make it compatible with + more players + https://bugzilla.gnome.org/show_bug.cgi?id=744689 + +2015-02-19 14:30:10 +0000 Vincent Penquerc'h + + * ext/opus/gstrtpopuspay.c: + rtpopuspay: default encoding name to OPUS + https://bugzilla.gnome.org/show_bug.cgi?id=737810 + +2015-02-19 14:05:06 +0000 Vincent Penquerc'h + + * ext/opus/gstrtpopuspay.c: + rtpopuspay: make caps writable before truncating them + https://bugzilla.gnome.org/show_bug.cgi?id=737810 + +2015-02-05 10:27:51 +0000 Vincent Penquerc'h + + * ext/opus/gstrtpopuspay.c: + rtpopuspay: negotiate the encoding name + Chrome uses a different encoding name that gstreamer. + https://bugzilla.gnome.org/show_bug.cgi?id=737810 + +2015-02-19 17:21:46 +0530 Vineeth T M + + * gst/videosignal/gstsimplevideomarkdetect.c: + simplevideomarkdetect: move offset calculations out of inner loops + the calculations for detecting the videomark is being repeated + in for loop unnecessarily. Moving this outside of for loop + such that the code need not be executed evertime the loop is executed. + https://bugzilla.gnome.org/show_bug.cgi?id=744778 + +2015-02-19 11:04:28 +0200 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Use the sinkpads iterator directly to query upstream latencies + While gst_aggregator_iterate_sinkpads() makes sure that every pad is only + visited once, even when the iterator has to resync, this is not all we have + to do for querying the latency. When the iterator resyncs we actually have + to query all pads for the latency again and forget our previous results. It + might have happened that a pad was removed, which influenced the result of + the latency query. + +2015-02-19 10:57:09 +0200 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Move gst_aggregator_get_latency_unlocked() a bit + It was between another function and its helper function before, which was + confusing when reading the code as it had nothing to do with the other + functions. + +2015-02-19 01:28:30 +0200 Sebastian Dröge + + * ext/resindvd/rsninputselector.c: + rsninputselector: Fail the latency query if one of the upstream queries fails + +2015-02-19 01:28:20 +0200 Sebastian Dröge + + * gst/liveadder/liveadder.c: + liveadder: Fail the latency query if one of the upstream queries fails + +2015-02-19 01:28:06 +0200 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Fail the latency query if one of the upstream queries fails + +2015-02-18 19:06:09 +0200 Sebastian Dröge + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: Only set latency if we already know our caps + Otherwise we might set bogus values or GST_CLOCK_TIME_NONE. + Also make sure to reset the caps field to NULL after unreffing + the caps to prevent accidential use afterwards, and unref any + old caps before we remember new caps. + +2015-02-18 15:53:53 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Document locking order + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-02-18 15:11:14 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Rename confusinly named SRC_STREAM_LOCK macros to SRC_LOCK + This will match the name of the lock itself. It is also not a stream + lock as it not recursive and not held while pushing. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-02-18 15:06:01 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Rename confusingly named stream lock to flush lock + This lock is not what is commonly known as a "stream lock" in GStremer, + it's not recursive and it's taken from the non-serialized FLUSH_START event. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-02-18 15:04:04 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Fix macro indendation + Changes no code + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-02-18 17:10:48 -0500 Nicolas Dufresne + + * ext/gl/gstgltransformation.c: + * ext/gl/gstgltransformation.h: + gltransform: Fix includes of graphene headers + The graphene-1.0 part should not be in the source code. This directory + is part of the cflags include. This is similar to gstreamer-1.0/ + directory. This break compilation if the include directory where + graphene is installed is not in your include path. + +2015-02-18 19:07:42 +0000 Luis de Bethencourt + + * gst/mxf/mxfdemux.c: + mxfdemux: remove unneeded values + No need to store the GstFlowReturn when we can check if it is not OK directly + +2015-02-18 18:33:20 +0000 Luis de Bethencourt + + * gst/mxf/mxfdemux.c: + mxfdemux: renaming GstFlowReturn variable + Having a variable named ret in a static void function is very confusing since + this usually is to store what the function will return. + +2015-02-18 18:00:48 +0000 Luis de Bethencourt + + * gst/mxf/mxfdemux.c: + mxfdemux: remove ignored value + Value stored in ret will be ovewritten in the next iteration of the loop. Which + means it is never used. + Plus a style issue to make gst-indent happy and allow the commit. + +2015-02-18 17:41:25 +0200 Sebastian Dröge + + * ext/opus/gstopusenc.c: + opusenc: Remove g_warnings() for the deprecated audio property + Otherwise there are g_warnings() already when just using gst-inspect or + dumping a pipeline graph. + +2015-02-15 23:16:52 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + * ext/dash/gstmpdparser.c: + dashdemux: protect against malformed isombff format + Be more careful around malformed mpds that announce using + isombff profile but actually are regular mpds + +2015-02-18 12:45:22 +0200 Sebastian Dröge + + * sys/d3dvideosink/d3dhelpers.c: + d3dvideosink: Deactivate the fallback pool and unref the fallback buffer when resetting + Otherwise we will still have a reference to the surface left, which would + prevent activating the sink again later. E.g. after we lost the device. + Hopefully fixes https://bugzilla.gnome.org/show_bug.cgi?id=744615 + +2015-02-17 11:53:49 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + hlsdemux: remove unused define + +2015-02-17 11:41:27 -0300 Thiago Santos + + * ext/smoothstreaming/gstmssdemux.c: + mssdemux: use correct function to clear fragment info + Just freeing the url won't reset the byte ranges and can lead to wrong + ranges being used. + +2015-02-17 10:50:59 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + * ext/dash/gstdashdemux.h: + dashdemux: depracate bandwidth-usage in favor of bitrate-limit + Bitrate-limit is already available in the baseclass and, even though + the bandwidth-usage name is better, hls and mss already used + bitrate-limit. This patch deprecates the bandwidth-usage and maps + it to the baseclass bitrate-limite. + +2015-02-17 10:40:06 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + * ext/hls/gsthlsdemux.h: + * ext/smoothstreaming/gstmssdemux.c: + * ext/smoothstreaming/gstmssdemux.h: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: + adaptivedemux: add bitrate-limit property + Move the property from subclasses to adaptivedemux, it allows + selecing the percentage of the measured bitrate to be used when + selecting stream bitrates + +2015-02-17 10:04:30 -0300 Thiago Santos + + * ext/hls/gsthlssink.c: + * ext/hls/gstm3u8playlist.c: + hlssink: allow creation of 'infinite' playlist + Allow the playlist-length to accept '0' as a value, indicating + that no segment should be removed from the playlist. This allows + generating playlists to be used as VOD when complete. + +2015-02-17 10:04:27 -0300 Thiago Santos + + * ext/hls/gsthlssink.c: + * ext/hls/gstm3u8playlist.c: + * ext/hls/gstm3u8playlist.h: + hlssink: remove unused attribute + the GFile attribute is never used + +2015-02-17 10:03:44 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + * ext/hls/gsthlsdemux.h: + * ext/smoothstreaming/gstmssdemux.c: + * ext/smoothstreaming/gstmssdemux.h: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: + adaptivedemux: add connection-speed property + Allows to set a bitrate directly instead of measuring it internally + based on the received chunks. The connection-speed was removed from + mssdemux and hlsdemux as it is now in the base class + +2015-02-17 00:34:55 +0000 Tim-Philipp Müller + + * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c: + basecamerabinsrc: don't use private GMutex implementation details + Don't use private GMutex implementation details to check + whether it has been freed already or not. Just clear mutex + and GCond unconditionally in free function, they are always + inited anyway, and the free function can't be called multiple + times either. + +2015-02-16 23:54:28 +0000 Tim-Philipp Müller + + * gst/audiovisualizers/gstaudiovisualizer.c: + audiovisualizer: don't use private GMutex implementation details + Don't use private GMutex implementation details to check + whether it has been freed already or not. Just turn dispose + function into finalize function which will only be called + once, that way we can just clear the mutex unconditionally. + +2015-02-17 18:17:59 +1100 Matthew Waters + + * 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: + gl/cocoa: don't deadlock if the dispatch_sync is called from the main thread + Provide a helper function to check whether we are being called from + the main thread and act appropriately. + +2015-02-17 16:41:17 +1100 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.h: + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: + gl/calayer: only start drawing if the parent gl context is ready + otherwise we may try to use GstGLFuncs * that hasn't been set yet + +2015-02-17 16:39:56 +1100 Matthew Waters + + * 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: + gl/cocoa: small refactor of layer/view creation into the window + +2015-02-17 01:04:38 +0200 Sebastian Dröge + + * gst-libs/gst/gl/gstglwindow.c: + glwindow: Remove assertion in gst_gl_window_show() for subclasses not implementing it + On Android and iOS we can't create a window ourselves, so also can't just show + one. That's not a problem and an assertion is not really needed here. + +2015-02-16 12:35:09 +0200 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Check if VTSessionCopyProperty() succeeds before using the result + https://bugzilla.gnome.org/show_bug.cgi?id=744585 + +2015-02-13 23:45:20 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + aggregator: drop GAP events until we handle them properly + +2015-02-12 12:04:44 +0530 Vineeth T M + + * gst/videosignal/gstsimplevideomark.c: + simplevideomark: refactor code + the calculations for drawing the videomark is being repeated + in for loop unnecessarily. Moving this outside of for loop + such that the code need not be executed evertime the loop is executed. + https://bugzilla.gnome.org/show_bug.cgi?id=744371 + +2015-02-09 11:21:35 -0300 Thiago Santos + + * gst/mpegtsdemux/tsdemux.c: + * gst/mpegtsdemux/tsdemux.h: + tsdemux: Fix segment and segment event handling during seeking + Always update the segment and not only for accurate seeking and always + send a new segment event after seeks. + For non-accurate force a reset of our segment info to start from + where our seek led us as we don't need to be accurate + https://bugzilla.gnome.org/show_bug.cgi?id=743363 + +2015-02-13 16:06:34 +0000 Tim-Philipp Müller + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: use new gst_aggregator_pad_drop_buffer() + +2015-02-13 16:03:53 +0000 Tim-Philipp Müller + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: use new gst_aggregator_pad_drop_buffer() + +2015-02-13 15:53:19 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + * tests/check/libs/aggregator.c: + aggregator: use new gst_aggregator_pad_drop_buffer() + +2015-02-13 15:49:50 +0000 Tim-Philipp Müller + + * docs/libs/gst-plugins-bad-libs-sections.txt: + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + aggregator: add gst_aggregator_pad_drop_buffer() + steal_buffer() + unref seems to be a wide-spread idiom + (which perhaps indicates that something is not quite + right with the way aggregator pad works currently). + +2015-02-12 13:32:39 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + aggregator: only post latency message if anything changed + Perhaps we should check for element state as well and + only post it if in PLAYING state. + +2015-02-12 15:48:07 +0000 Tim-Philipp Müller + + * tests/check/elements/audiomixer.c: + * tests/check/elements/compositor.c: + tests: remove GST_DISABLE_PARSE guards from two tests that don't require it + +2015-01-28 12:12:26 +0530 Arun Raghavan + + * sys/opensles/openslessink.c: + * sys/opensles/openslessrc.c: + opensles: Make debug category naming a bit more consistent + +2015-02-13 19:12:20 +1100 Alessandro Decina + + * sys/applemedia/avfvideosrc.m: + applemedia: avfvideosrc: fix crash when non-GL memory is used + +2015-02-05 18:10:15 +0100 Mathieu Duponchelle + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Fix logic in fragment_download_finish. + This was preventing us from surfacing a meaningful error. + https://bugzilla.gnome.org/show_bug.cgi?id=743703 + +2015-02-12 22:06:17 +0100 Mathieu Duponchelle + + * ext/dash/gstdashdemux.c: + dashdemux: Fix handling of live streams with timeshift buffers. + By implementing get_live_seek_range. + As shown by : + gst-validate-1.0 playbin \ + uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php + This patch handles live seeking, by setting a live seek range + comprised between now - timeShiftBufferDepth and now. + The inteersting thing with this stream is that one can actually + ask fragments up to availabilityStartTime, but it seems quite clear + in the spec that content is only guaranteed to exist up to + timeShiftBufferDepth. + One can test live seeking this way : + gst-validate-1.0 playbin \ + uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php \ + --set-scenario seek_back.scenario + with scenario being: + description, seek=true + seek, playback-time=position+5.0, start="position-600.0", + flags=accurate+flush + This example will play the stream, wait for five seconds, then seek back + to a position 10 minutes earlier. + https://bugzilla.gnome.org/show_bug.cgi?id=744362 + +2015-02-12 22:04:10 +0100 Mathieu Duponchelle + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Set first segment time to segment start. + Otherwise as long as a seek wasn't executed, the position was + reported incorrectly: + gst-validate-1.0 playbin \ + uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php + https://bugzilla.gnome.org/show_bug.cgi?id=744362 + +2015-02-12 17:33:50 +0100 Edward Hervey + + * ext/gl/gstglimagesink.c: + glimagesink: Fix debug statement + +2015-02-12 15:02:31 +0100 Edward Hervey + + * 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/gstglmemory.c: + * gst-libs/gst/gl/gstglshader.c: + * gst-libs/gst/gl/gstglupload.c: + * gst-libs/gst/gl/gstgluploadmeta.c: + gl: Add/Update more debug statements + Where possible, use the _OBJECT variants in order to track better from + which object the debug statement is coming from + Define (and use) GST_CAT_DEFAULT where applicable + Use GST_PTR_FORMAT where applicable + +2015-02-12 14:58:14 +0100 Edward Hervey + + * gst-libs/gst/gl/egl/gstglcontext_egl.c: + * gst-libs/gst/gl/gstglcontext.h: + gl: Make glcontext debug category used in more places + As a bonus it makes the egl context debug messages visible now :) + +2015-02-12 14:56:12 +0100 Edward Hervey + + * ext/gl/gstglimagesink.c: + glimagesink: Sprinkle more debug + +2015-02-12 11:15:31 -0300 Thiago Santos + + * ext/dash/gstmpdparser.c: + dashdemux: set proper stream type to streams + strncmp returns 0 when it compares equal and not a + boolean + +2015-02-12 11:26:44 +0000 Tim-Philipp Müller + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: calculate stream_time used to sync pad values correctly + Use pad (input) segment to calculate the stream time from the + input timestamp, not the aggregator (output) segment. + +2015-02-12 11:11:19 +0200 Sebastian Dröge + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: Only use the duration of the sample if it is valid + +2015-01-27 13:48:42 +0100 Mathieu Duponchelle + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: + adaptivedemux: track per-fragment bitrates. + And use the average to go up in resolution, and the last fragment + bitrate to go down. + This allows the demuxer to react rapidly to bitrate loss, and + be conservative for bitrate improvements. + + Add a construct only property to define the number of fragments + to consider when calculating the average moving bitrate. + https://bugzilla.gnome.org/show_bug.cgi?id=742979 + +2015-02-11 14:44:16 +0100 Sebastian Dröge + + * ext/x265/gstx265enc.c: + x265enc: Add support for 10bit 4:2:0 and 4:4:4 formats + +2015-02-11 14:16:21 +0100 Sebastian Dröge + + * ext/opus/gstopusdec.c: + * ext/resindvd/rsninputselector.c: + * ext/x265/gstx265enc.c: + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/video/gstvideoaggregator.c: + * gst/audiomixer/gstaudiomixer.c: + * gst/frei0r/gstfrei0rmixer.c: + * gst/inter/gstinteraudiosrc.c: + * gst/liveadder/liveadder.c: + * gst/videomeasure/gstvideomeasure_ssim.c: + Improve and fix LATENCY query handling + This now follows the design docs everywhere, especially the maximum latency + handling. + https://bugzilla.gnome.org/show_bug.cgi?id=744106 + +2015-02-10 15:55:50 +0800 Song Bing + + * tests/examples/camerabin2/gst-camera2.c: + camerabin examples: memory leak in camerabin examples code + should unref caps after set to profile. profile will ref it. + https://bugzilla.gnome.org/show_bug.cgi?id=744219 + +2015-02-10 15:53:21 +0800 Song Bing + + * tests/examples/camerabin2/gst-camerabin2-test.c: + camerabin examples: memory leak in camerabin examples code + should unref after set object. The object will be refed when set + property. + https://bugzilla.gnome.org/show_bug.cgi?id=744219 + +2015-02-10 16:18:34 +0100 Sebastian Dröge + + * sys/opensles/openslesringbuffer.c: + openslesringbuffer: Only allocate at most half the number of internal buffers as external audioringbuffer ones + Otherwise we might end up reading too much from the audioringbuffer, which + would result in reading silence. + +2015-02-10 16:01:19 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosrc.cpp: + decklinkvideosrc: Apply the diff between element and pipeline "base" time in all cases + Even if both clocks have the same rate, we need to apply this diff. Only when + it's the same clock we don't, as it's our clock then. + +2015-02-10 15:30:44 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosrc.cpp: + decklinkvideosrc: Add the diff between the pipeline base time and when we start to play + Add the diff between the external time when we went to playing and + the external time when the pipeline went to playing. Otherwise we + will always start outputting from 0 instead of the current running + time. + +2015-02-10 14:53:55 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + decklinkvideosink: Actually include the change mentioned in the last commit + +2015-02-10 14:48:09 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosrc.cpp: + decklinkvideo{src,sink}: Sample the internal clock immediately after starting the device + Otherwise we might stay at 0.0s for too long because we will take the first + timestamp we ever see as 0.0... which will be after we started the device. + +2015-02-10 10:56:37 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: When receiving timeout before caps, make sure to also advance our frame counter + Otherwise we will directly go EOS on the next non-timeout. + +2015-02-10 10:49:16 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Pause srcpad task on flow errors + Otherwise we will call the task function over and over again until + upstream finally handled the flow return and shuts us down. + +2015-02-09 00:59:30 +1100 Matthew Waters + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: fix buffer selection when duration=-1 + If the src framerate and videoaggreator's output framerate were + different, then we were taking every single buffer that had duration=-1 + as it came in regardless of the buffer's start time. This caused the src + to possibly run at a different speed to the output frames. + https://bugzilla.gnome.org/show_bug.cgi?id=744096 + +2015-02-09 21:04:17 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + decklink: Fix compiler warning with gcc + gstdecklink.cpp: In member function 'virtual HRESULT GStreamerDecklinkInputCallback::VideoInputFrameArrived(IDeckLinkVideoInputFrame*, IDeckLinkAudioInputPacket*)': + gstdecklink.cpp:498:22: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] + if (capture_time > m_input->clock_start_time) + ^ + gstdecklink.cpp:503:22: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] + if (capture_time > m_input->clock_offset) + ^ + +2015-02-09 17:17:37 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.h: + decklink{audio,video}src: Implement clock slaving if the pipeline clock is not the decklink clock + +2015-02-09 17:15:21 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosink.cpp: + * sys/decklink/gstdecklinkaudiosrc.cpp: + decklinkaudio{src,sink}: Only start streams / scheduled playback if there is a videosrc at this point + +2015-02-09 17:04:27 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + decklinkaudiosrc: Don't provide a clock + The audio source only works together with the video source, and the video + source is already providing a clock. + +2015-02-09 16:18:03 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosink.cpp: + decklinkaudiosink: Throttle reading from the ringbuffer + The driver has an internal buffer of unspecified and unconfigurable size, and + it will pull data from our ring buffer as fast as it can until that is full. + Unfortunately that means that we pull silence from the ringbuffer unless its + size is by conincidence larger than the driver's internal ringbuffer. + The good news is that it's not required to completely fill the buffer for + proper playback. So we now throttle reading from the ringbuffer whenever + the driver has buffered more than half of our ringbuffer size by waiting + on the clock for the amount of time until it has buffered less than that + again. + +2015-02-09 15:19:11 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosink.cpp: + decklinkaudiosink: Start scheduled playback when going to PLAYING + The ringbuffer's acquire() is too early, and ringbuffer's start() will only be + called after the clock has advanced a bit... which it won't unless we start + scheduled playback. + +2015-02-09 21:18:24 +1100 Alessandro Decina + + * sys/applemedia/corevideotexturecache.m: + * sys/applemedia/vtdec.c: + vtdec: fix texture sharing on iOS + Move GLES calls to the context thread. Fix + CVOpenGLESTextureCacheCreateTextureFromImage usage on iOS. + +2015-02-09 20:44:50 +1100 Alessandro Decina + + * gst-libs/gst/gl/gstglmemory.c: + libgstgl: set user data and GDestroyNotify for wrapped textures + +2015-02-08 21:53:58 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.cpp: + decklink{audio,video}src: Take the capture times from the pipeline clock + Not from the decklink clock. Both will return exactly the same time once the + decklink clock got slaved to the pipeline clock and received the first + observation, but until then it will return bogus values. But as both return + exactly the same values, we can as well use the pipeline clock directly. + +2015-02-08 14:32:22 +0000 Tim-Philipp Müller + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: don't set element factory details + This is an abstract base class, not an element. + +2015-02-08 01:19:42 +1100 Rob Clark + + * gst/dvdspu/gstspu-vobsub-render.c: + dvdspu: some optimizations + Detect invisible pixels, and skip gstspu_vobsub_blend_comp_buffers() + when there are only invisible pixels. This significantly reduces the + CPU load in cases of DVDs which don't use the clip_rect to exclude + processing for parts of the screen where the video is visible. + https://bugzilla.gnome.org/show_bug.cgi?id=667221 + +2015-02-08 05:06:48 +1100 Jan Schmidt + + * gst/dvdspu/gstdvdspu.c: + dvdspu: Avoid warning if the video for a still frame arrives after the SPU + When we don't have a segment on the video pad yet during a still frame + don't freak out. + +2015-02-08 04:51:13 +1100 Jan Schmidt + + * ext/resindvd/gstmpegdemux.c: + resindvd: Don't send meaningless segment position downstream + Don't place a meaningless value in the position field in + outgoing segments - values have to be in the range start->stop. + https://bugzilla.gnome.org/show_bug.cgi?id=740558 + +2015-02-06 16:22:26 +0000 Luis de Bethencourt + + * gst/aiff/aiffparse.c: + Revert "aiffparse: make sure we have data before handling sink event" + This reverts commit a4baabb48d252214d3833b502c7903d9f15f3502. + +2015-02-06 15:10:55 +0000 Luis de Bethencourt + + * gst/aiff/aiffparse.c: + aiffparse: make sure we have data before handling sink event + Check AIFF_PARSE_DATA is True before handling sink event, if not goto exit. + +2015-02-05 15:57:59 +0000 Tim-Philipp Müller + + * gst/audiomixer/gstaudiomixer.h: + audiomixer: remove now-unused base_time field in object structure + +2015-02-06 10:59:27 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Streamline latency calculations + Min latency can never be invalid, latency property can never be invalid + either. So no need to check for all these things in various places. + +2015-02-06 10:36:28 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: If upstream has no max latency but the subclass has, take the subclass max latency + +2015-02-06 10:33:59 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Fix min>max latency error check + We have to include the upstream latency, our own latency and the subclass + latency in the calculations. + FIXME: This is still not entirely correct + +2015-02-06 10:30:59 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Don't add the latency property to the max latency + It has no meaning for the max latency and is only used to increase the min + latency. + +2015-02-06 12:53:15 +1100 Matthew Waters + + * gst-libs/gst/gl/glprototypes/vao.h: + glproto/vao: only supported in core for ES 3.0+ + Was causing horizontally flipped video for frame 2 onward on android + +2015-02-05 13:31:18 -0300 Thiago Santos + + * ext/faac/gstfaac.c: + faac: relace parsed with framed in aac caps + For AAC it should always be 'framed' and not 'parsed' + +2015-02-05 11:39:55 -0300 Thiago Santos + + * ext/faac/gstfaac.c: + faac: fix output caps to negotiate with some muxers + Add parsed/framed=true to allow negotiation with some + muxers that required parsed input. Encoders already provide + parsed/framed output so it should say so in caps. + +2015-02-05 15:48:41 +0000 Tim-Philipp Müller + + * tests/check/elements/compositor.c: + tests: compositor: add unit test for proper segment.base handling + As adjusted by gst_pad_set_offset(), or when doing segment seeks + or looping for example. + +2015-02-05 15:23:04 +0000 Tim-Philipp Müller + + * tests/check/elements/audiomixer.c: + tests: audiomixer: add unit test for proper segment.base handling + As adjusted by gst_pad_set_offset(), or when doing segment seeks + or looping for example. See previous audiomixer commit. + +2015-02-05 16:02:54 +0100 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Remove weird and wrong segment handling + There's no reason why audiomixer should override the segment + base of upstream with whatever value it got from a SEEK event, + or even worse... with 0 if there was no SEEK event yet. This + broke synchronization if upstream provided a segment base other + than 0, e.g. when using pad offsets. + Also that this code did things conditional on the element's state + should've been a big warning already that something is just wrong. + If this breaks anything else now, let's fix it properly :) + Also don't do fancy segment position trickery when receiving a + segment event. It's just not correct. + +2015-02-05 12:24:04 +0100 Sebastian Dröge + + * sys/opensles/openslesringbuffer.c: + openslesringbuffer: Only pre-roll a single buffer + There is no reason to pre-roll more buffers here as we have our own ringbuffer + with more segments around it, and we can immediately provide more buffers to + OpenSL ES when it requests that from the callback. + Pre-rolling a single buffer before starting is necessary though, as otherwise + we will only output silence. + Lowers latency a bit, depending on latency-time and buffer-time settings. + +2015-02-05 12:22:46 +0100 Sebastian Dröge + + * sys/opensles/openslesringbuffer.c: + openslesringbuffer: Allocate at most 4 internal buffers + 4 is the "typical" number of buffers defined by Android's OpenSL ES + implementation, and its code is optimized for this. Also because we + have our own ringbuffer around this, we will always have enough + buffering on our side already. + Allows for more efficient processing. + +2015-02-05 12:21:55 +0100 Sebastian Dröge + + * sys/opensles/openslessink.c: + * sys/opensles/openslessrc.c: + openslessink/src: Lower default buffer time to 200ms like alsasink + +2015-02-05 16:46:32 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: ensure that the input upload/colorconvert are always available + +2015-02-05 11:06:10 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: log the converted caps + +2015-02-05 11:05:02 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglupload.c: + glupload: restrict EGL and UploadMeta to RGBA + other formats are highly untested. + +2015-02-05 11:04:05 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: don't intersect with the input caps + that limits our formats to whatever is in the input caps + +2015-02-04 14:10:13 +0000 Luis de Bethencourt + + * gst-libs/gst/gl/gstglfilter.c: + gl: fix memory leak + In gst_gl_filter_fixate_caps () it can goto done without freeing the memory of + the tmp GstStructure. This makes it go out of scope and leak. + CID #1265765 + +2015-02-04 11:52:26 +0000 Luis de Bethencourt + + * ext/opencv/MotionCells.cpp: + motioncells: initialize class variables + Some variables are not initialized in the constructor. It is highly unlikely + they are used before being set, but it is safer to initialize them. + CID #1197704 + +2015-02-03 18:13:25 -0500 Nicolas Dufresne + + * sys/winks/kshelpers.c: + ksvideosrc: Fix missing brace warning + There is more but it's from ks.h GUID initializer, which is shipped + this way with mingw. + +2015-02-03 17:44:34 -0500 Nicolas Dufresne + + * sys/winks/gstksvideodevice.c: + * sys/winks/gstksvideodevice.h: + * sys/winks/gstksvideosrc.c: + ksvideosrc: Fix buffer handling + The pseudo buffer pool code was using gst_buffer_is_writable() + alone to try and figure-out if cached buffer could be reused. + It needs to check for memory writability too. Also check map + result and fix map flags. + https://bugzilla.gnome.org/show_bug.cgi?id=734264 + +2015-02-03 17:05:06 -0300 Thiago Santos + + * gst/mpegtsmux/mpegtsmux.c: + mpegtsmux: avoid leaking force keyunit event when going to NULL + Do not set to NULL before unreffing the event or it will leak + +2013-03-18 08:15:00 +0000 Anton Gritsay + + * gst/mpegtsmux/mpegtsmux.c: + mpegtsmux: parse force key unit events with the correct function + Otherwise it won't be parsed and bogus values would be used. + https://bugzilla.gnome.org/show_bug.cgi?id=696032 + +2015-01-26 20:42:25 -0300 Thiago Santos + + * gst/mpegtsdemux/tsdemux.c: + * gst/mpegtsdemux/tsdemux.h: + tsdemux: remove update segment logic + This is not needed in 1.x series anymore + +2015-02-03 10:59:16 -0300 Aurélien Zanelli + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: don't mark streams as needing a new segment on flush + The flush is called on discont and we shouldn't output a new segment + each time a discont happens. So this commit remove the mark for a new + segment when flushing streams by propagating the 'hard' flag passed + on the flusing from the base class. + https://bugzilla.gnome.org/show_bug.cgi?id=743363 + +2015-02-03 17:32:03 +0100 Sebastian Dröge + + * sys/applemedia/corevideotexturecache.m: + corevideotexturecache: Add some assertions instead of just dereferencing NULL + +2015-02-03 17:29:25 +0100 Sebastian Dröge + + * sys/applemedia/corevideotexturecache.m: + corevideotexturecache: Don't unconditionally use the CoreMedia meta on iOS + We might instead have a CoreVideo meta. + +2015-02-03 14:55:32 +0000 Tim-Philipp Müller + + * common: + Undo accidental common module rewind + in commit 7d463576 + +2015-02-03 15:38:40 +0100 Sebastian Dröge + + * sys/applemedia/vtdec.c: + vtdec: Don't dereference NULL frames when draining/flushing + +2015-02-03 15:30:08 +1100 Matthew Waters + + * ext/gl/gstglmixer.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglfilter.c: + gl: remove the egl caps from the src pads + we don't actually support producing EGLImage buffers anywhere. + +2015-02-03 13:32:47 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: put GstGLSyncMeta on output buffers + allows thread safely using the provided output buffer in a separate + thread + +2015-02-03 00:35:26 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglupload.c: + glupload: only try the glmemory upload for sysmem/glmemory caps features + Allows selecting/testing the upload path with explicit caps features. + +2015-02-03 00:26:20 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: add missing initilisation of tex_target when copying + fixes: + glcolorscale ! video/x-raw\(meta:GstVideoGLTextureUploadMeta\) ! + glimagesink + +2015-02-03 00:15:30 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglupload.c: + glupload: allow NULL buffer for accept vfunc + +2015-02-03 00:13:07 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglupload.c: + glupload: remove unsed convert field in private struct + +2015-02-03 00:11:06 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglmixer.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglcolorconvert.h: + * gst-libs/gst/gl/gstgldownload.c: + * gst-libs/gst/gl/gstgldownload.h: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglupload.c: + * gst-libs/gst/gl/gstglupload.h: + * gst-libs/gst/gl/gstglutils.c: + * gst-libs/gst/gl/gstglutils.h: + glupload/download/convert: provide transform_caps functions + Allows finer grain decisions about formats and features at each + stage of the pipeline. + Also provide propose_allocation for glupload besed on the supported + methods. + +2015-02-03 11:07:58 +1100 Alessandro Decina + + * common: + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gstglwindow_cocoa: fix slow render rate + In gst_gl_window_cocoa_draw we used to just call setNeedsDisplay:YES. That was + creating an implicit CA transaction which was getting committed at the next + runloop iteration. Since we don't know how often the main runloop is running, + and when we run it implicitly (from gst_gl_window_cocoa_nsapp_iteration) we only + do so every 200ms, use an explicit CA transaction instead and commit it + immediately. CA transactions nest and debounce automatically so this will never + result in extra work. + +2015-02-02 23:40:16 +1100 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.h: + gstglcaopengllayer: use the correct rectangle type for iOS and OS X + +2015-02-02 21:07:48 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcolorconvert.h: + glcolorconvert: use the correct caps feature for supported caps + glcolorconvert currently only supports converting between GLMemory + targets. + +2015-02-02 20:51:31 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglsyncmeta.c: + glsyncmeta: don't use the gst debug object variants + We are not a GObject or any inferable GstMiniObject supported by + the gst debug system. Also fixes a segfault. + +2015-01-30 18:51:17 +1100 Matthew Waters + + * tests/check/libs/gstglmemory.c: + gl: update unit test for glmemory api change + +2015-01-30 15:13:27 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + glimagesink: clobber the alpha channel by default + this can be disabled with the ignore-alpha property + +2015-01-30 12:32:17 +1100 Alessandro Decina + + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: + Revert "libgstgl: gstglcaopengllayer: set the layer as opaque" + This reverts commit 6f152d381ca21595cdc823f32341c8f2fe71b9c7. + The layer shouldn't be always opaque, it should be made a property. + +2015-01-30 12:22:25 +1100 Alessandro Decina + + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: + libgstgl: gstglcaopengllayer: set the layer as opaque + +2015-01-29 16:30:34 +0100 Sebastian Dröge + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: Add FIXME comment about possibility of non-Apple YCbCr422 rectangular textures + +2015-01-29 16:26:26 +0100 Sebastian Dröge + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: Only use GL_TEXTURE_RECTANGLE with OpenGL + It's not defined for GLES. + +2015-01-30 00:28:18 +1100 Alessandro Decina + + * sys/applemedia/avfvideosrc.m: + * sys/applemedia/corevideotexturecache.h: + * sys/applemedia/corevideotexturecache.m: + * sys/applemedia/vtdec.c: + applemedia: rework GL texture sharing + Use YUV instead of RGB textures, then convert using the new apple specific + shader in GstGLColorConvert. Also use GLMemory directly instead of using the + GL upload meta, avoiding an extra texture copy we used to have before. + +2015-01-28 00:53:59 +1100 Alessandro Decina + + * sys/applemedia/vtdec.c: + applemedia: vtdec: fix CMBlockBufferRef leak + Fix huge leak that went unnoticed for too long. Oops. + +2015-01-28 00:48:27 +1100 Alessandro Decina + + * gst-libs/gst/gl/gstglcolorconvert.c: + libgstgl: run a custom shader to convert YUV to RGB on mac and ios + When GL_APPLE_ycbcr_422 is available, run a custom shader to convert + GL_TEXTURE_RECTANGLE textures from YUV to RGB. + See https://www.opengl.org/registry/specs/APPLE/ycbcr_422.txt + +2015-01-28 00:43:09 +1100 Alessandro Decina + + * sys/applemedia/avfassetsrc.m: + * sys/applemedia/avfvideosrc.m: + * sys/applemedia/coremediabuffer.c: + * sys/applemedia/coremediabuffer.h: + * sys/applemedia/vtenc.c: + applemedia: don't call CVPixelBufferLockBaseAddress when doing texture sharing + When doing texture sharing we don't need to call CVPixelBufferLockBaseAddress to + map the buffer in CPU. This cuts about 10% relative cpu time from a vtdec ! + glimagesink pipeline. + +2015-01-28 00:13:46 +1100 Alessandro Decina + + * ext/gl/gstglmixer.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstgldownload.c: + * gst-libs/gst/gl/gstgldownload.h: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglmemory.c: + * gst-libs/gst/gl/gstglmemory.h: + * gst-libs/gst/gl/gstgluploadmeta.c: + gl: initial support for texture targets other than GL_TEXTURE_2D + Make GstGLMemory hold the texture target (tex_target) the texture it represents + (tex_id) is bound to. Modify gst_gl_memory_wrapped_texture and + gst_gl_download_perform_with_data to take the texture target as an argument. + This change is needed to support wrapping textures created outside libgstgl, + which might be bound to a target other than GL_TEXTURE_2D. For example on OSX + textures coming from VideoToolbox have target GL_TEXTURE_RECTANGLE. + With this change we still keep (and sometimes imply) GL_TEXTURE_2D as the + target of textures created with libgstgl. + API: modify GstGLMemory + API: modify gst_gl_memory_wrapped_texture + API: gst_gl_download_perform_with_data + +2015-01-22 13:18:23 +1100 Alessandro Decina + + * gst-libs/gst/gl/gstglcolorconvert.c: + gstglcolorconvert: micro optimization + Don't call glClear && glClearColor at each draw since we're going to draw the + whole viewport anyway. Gets rid of a glFlush triggered by glClear on OSX. + +2015-01-22 13:17:11 +1100 Alessandro Decina + + * sys/applemedia/corevideobuffer.c: + * sys/applemedia/corevideobuffer.h: + * sys/applemedia/qtkitvideosrc.m: + * sys/applemedia/vtdec.c: + * sys/applemedia/vtenc.c: + applemedia: corevideobuffer: make mapping the CVPixelBuffer in CPU optional + Mapping is not necessary and impacts performance when doing texture sharing with + downstream + +2015-01-22 13:11:46 +1100 Alessandro Decina + + * gst-libs/gst/gl/gstglcolorconvert.c: + gstglcolorconvert: relax caps features check + Require caps to have the GST_CAPS_FEATURE_MEMORY_GL_MEMORY feature but allow + them to have more features. + +2015-01-28 16:43:59 +0000 Vincent Penquerc'h + + * ext/opus/gstopusenc.c: + * ext/opus/gstopusenc.h: + opusenc: change audio property to audio-type + This is now an enum with values generic (default) and voice. + https://bugzilla.gnome.org/show_bug.cgi?id=740891 + +2015-01-29 23:45:15 +1100 Matthew Waters + + * gst-libs/gst/gl/win32/gstglwindow_win32.c: + gl/win32: fixup compilation + +2015-01-29 11:54:35 +0000 Luis de Bethencourt + + * gst/audiovisualizers/gstwavescope.c: + audiovisualizer: remove double-setting of render function + No need to set the audiovisualizer->render function twice. Once is enough. + +2015-01-29 22:25:00 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + * gst-libs/gst/gl/gstglwindow.c: + * gst-libs/gst/gl/gstglwindow.h: + * gst-libs/gst/gl/win32/gstglwindow_win32.c: + * gst-libs/gst/gl/x11/gstglwindow_x11.c: + glwindow: make showing a window explicit + Also fixes the cgl context always displaying a window to render to for + every GstGLContextCocoa created + +2015-01-26 17:06:29 +0100 Thibault Saunier + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Cleanup locking around AggregatorPad flush related fields + And document the locking + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-26 13:11:05 +0100 Mathieu Duponchelle + + * gst-libs/gst/base/gstaggregator.c: + aggregator: keep chain functions as dumb as possible. + + A pad chain function has no business checking other pads, + that's what the aggregate thread is for. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-26 11:32:47 +0100 Thibault Saunier + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/video/gstvideoaggregator.c: + aggregator: More fixes around locking when accessing protected private fields + In some more places we were accessing GstAggregator->segment + and GstAggregator->seqnum without holding the GST_OBJECT_LOCK + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-26 11:29:08 +0100 Thibault Saunier + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + * gst/audiomixer/gstaudiomixer.c: + aggregator: Make the PAD_LOCK private + Instead of using the GST_OBJECT_LOCK we should have + a dedicated mutex for the pad as it is also associated + with the mutex on the EVENT_MUTEX on which we wait + in the _chain function of the pad. + The GstAggregatorPad.segment is still protected with the + GST_OBJECT_LOCK. + Remove the gst_aggregator_pad_peak_unlocked method as it does not make + sense anymore with a private lock. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-26 11:25:54 +0100 Thibault Saunier + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + * gst-libs/gst/video/gstvideoaggregator.c: + * gst/audiomixer/gstaudiomixer.c: + * tests/check/libs/aggregator.c: + aggregator: Hide GstAggregatorPad buffer and EOS fileds + And add a getter for the EOS. + The user should always use the various getters to access + those fields + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 19:09:13 -0500 Olivier Crête + + * tests/check/elements/audiomixer.c: + audiomixer: Make flush start/stop test non-racy + The flush stop could have happened between the source trying + to push the segment event and the buffer, this would cause a warning. + Prevent that by taking the source's stream lock while flushing. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-22 17:41:24 -0500 Olivier Crête + + * tests/check/elements/audiomixer.c: + audiomixer: Replace racy timeout based tested with drain query + Using the drain query, we can be certain that the buffer has done going + through the aggregator by taking the stream locks. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 18:41:43 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Document locking of GstAggregatorPrivate members + Most of them are protected by the object lock, specify + which ones use a different lock. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 18:47:09 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.h: + aggregator: Document how the segment is protected + Document that it can only be accessed with the object lock. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 19:44:57 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Protect all latency related members with the object lock + The locking was not consistent, now consistently use the object lock. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 19:43:12 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + * gst-libs/gst/video/gstvideoaggregator.c: + aggregator: Document locking for gst_aggregator_get_latency_unlocked() + Renamed it to _unlocked() to make it clear. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 19:35:25 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Protect the srcpad caps negotiation with the stream lock + Instead of adding another lock, use the srcpad stream lock, which is already + taken anyway to push out the new caps if needed. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 19:33:18 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Protect the tags with the object lock + The tags related variables were sometimes protected, sometimes not and + sometimes atomic. Put them all under the object lock. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 19:32:34 -0500 Olivier Crête + + * tests/check/elements/audiomixer.c: + audiomixer: Avoid race in caps negotiation + With the current audiomixer, the input caps need to be the same, + otherwise there is an unavoidable race in the caps negotiation. So + enforce that using capsfilters + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 18:53:20 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Consistenly lock the flow_return state + Use the object's lock to protect it. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 18:47:40 -0500 Olivier Crête + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Clear GstAudioInfo the the caps + When clearing the caps, also clear the matching GstAudioInfo + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 18:45:36 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Consistently lock some members + Some members sometimes used atomic access, sometimes where not locked at + all. Instead consistently use a mutex to protect them, also document + that. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-21 18:39:24 -0500 Olivier Crête + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Don't reset caps on flush + A flush event doesn't invalidate the previous caps event. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-14 14:45:06 -0500 Olivier Crête + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Lock access to members of GstAggregatorPad + Take the pad's object lock before accessing members of the + GstAggregatorPad structure. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-14 14:38:09 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + aggregator: Protect exported pad members with the pad's object lock + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-14 14:35:15 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + * gst/audiomixer/gstaudiomixer.c: + aggregator: Replace event lock with pad's object lock + Reduce the number of locks simplify code, what is protects + is exposed, but the lock was not. + Also means adding an _unlocked version of gst_aggregator_pad_steal_buffer(). + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-09 22:01:00 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Protect data with the same mutex as GCond + Whenever a GCond is used, the safest paradigm is to protect + the variable which change is signalled by the GCond with the same + mutex that the GCond depends on. + https://bugzilla.gnome.org/show_bug.cgi?id=742684 + +2015-01-29 02:28:38 +0530 Nirbheek Chauhan + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: If getting a timeout before having caps, just advance our position + This can happen if this is a live pipeline and no source produced any buffer + and sent no caps until an output buffer should've been produced according to the + latency. + This fix is similar in spirit to commit be7034d1 by Sebastian for audiomixer. + +2015-01-29 17:31:09 +1100 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.h: + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/calayer: add resize callback based on the bounds rectangle + +2015-01-29 15:26:21 +1100 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: + gl/caopengllayer: draw asynchronously + This essentially makes the CAOpenGLLayer draw every refresh cycle. + +2015-01-28 17:59:42 +1100 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: don't segfault if we have a NULL draw/resize/close callback + +2015-01-28 17:16:14 +1100 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.h: + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + cgl/calayer: use a callback instead of hardcoding the draw functionality + +2015-01-28 17:13:05 +1100 Matthew Waters + + * gst-libs/gst/gl/cocoa/Makefile.am: + cgl: install the gl context and gl layer headers + +2015-01-28 17:05:14 +1100 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h: + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.h: + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: + cgl: add a header for the CAOpenGLLayer support + +2015-01-28 17:02:59 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + decklinkvideosink: Always lock the mutex before starting the streams + +2015-01-28 16:58:27 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + decklinkvideosink: Fix deadlock + +2015-01-28 15:48:26 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinkaudiosink.cpp: + * sys/decklink/gstdecklinkvideosink.cpp: + * sys/decklink/gstdecklinkvideosrc.cpp: + decklink{audio,video}sink: Only start scheduled playback once both sources are ready and we are in PLAYING + Otherwise we might start the scheduled playback before the audio or video streams are + actually enabled, and then error out later because they are enabled to late. + We enable the streams when getting the caps, which might be *after* we were + set to PLAYING state. + +2015-01-28 15:26:17 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.cpp: + decklink{audio,video}src: Only start the streams once both sources are ready and we are in PLAYING + Otherwise we might start the streams before the audio or video streams are + actually enabled, and then error out later because they are enabled to late. + We enable the streams when getting the caps, which might be *after* we were + set to PLAYING state. + +2015-01-28 14:21:40 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinkaudiosink.cpp: + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkvideosink.cpp: + * sys/decklink/gstdecklinkvideosrc.cpp: + decklink: Make sure our clock never returns NONE, always advances and does not jump when going from PAUSED to PLAYING + It basically behaves the same as the audio clocks. + +2015-01-28 12:20:05 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + decklinkvideosink: Handle the clock returning GST_CLOCK_TIME_NONE properly + +2015-01-28 11:41:17 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + * sys/decklink/gstdecklinkvideosrc.cpp: + decklinkvideo{sink,src}: Make elements more similar to the audio elements by enabling the video input/output only when getting the actual caps + This will also make it easier later to support caps changes and support + selecting the mode based on the caps if that should ever be implemented. + +2015-01-26 19:02:04 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosrc.cpp: + decklinkvideosrc: Properly report caps if mode!=auto and handle caps changes properly for mode=auto + +2015-01-26 18:27:10 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + decklinkaudiosrc: Don't release input device twice on errors in set_caps() + +2015-01-27 11:25:53 +0100 Philippe Normand + + * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c: + gl/dispmanx: fix build + Commit ab48bb6f0f55091662e595a001e178154ce60cdb changed the API of + GstGLWindow. + +2015-01-27 14:52:47 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: more compatibility defines for gles2 systems + +2015-01-27 12:15:43 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + * gst-libs/gst/gl/gstglmemory.h: + glmemory: add some thread safety for gl operations + +2015-01-27 11:53:51 +1100 Matthew Waters + + * gst-libs/gst/gl/gstgldownload.c: + * gst-libs/gst/gl/gstglmemory.c: + * gst-libs/gst/gl/gstglmemory.h: + glmemory: use pbo's for download + In order to use pbo's efficiently, the transfer operation has to + be separated from the use of the downloaded data which requires some + rearchitecturing around glcolorconvert/gldownload and elements + +2015-01-27 11:04:07 +1100 Matthew Waters + + * gst-libs/gst/gl/glprototypes/base.h: + glprototypes: add some (un)map buffer variants for GL/GLES + +2015-01-26 17:51:22 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + * ext/dash/gstdashdemux.h: + dashdemux: use audio_%02u and video_%02u names for pads + Instead of using the default ghostpad%u naming. The audio_/video_ + names are more common in demuxers + +2015-01-26 15:33:23 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + decklinkaudiosrc: Release the audio input on errors, not the video input + +2015-01-26 13:46:44 +0000 Luis de Bethencourt + + * gst/aiff/aiffparse.c: + aiffparse: remove unnecessary variable + The bps variable is declared with value aiff->bps, read once and never written. + aiff->bps can be used directly instead. + +2015-01-26 12:49:45 +0000 Luis de Bethencourt + + * gst/aiff/aiffparse.c: + aiffparse: fix which stop variable is used in assignment + Assignment is done to variable segment.stop when the intention was to assign to + local variable stop. Instead of overwriting it, the value is now clamped and + segment.stop is set to it soon after. + CID #1265772 + +2015-01-26 09:22:23 +0000 Tim-Philipp Müller + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: fix crash when receiving buffer without timestamps + Unset out buffer in clip function when we unref the buffer to be + clipped, otherwise aggregator will continue to use the already- + freed buffer. Fixes crash when buffers without timestamps are + being fed to aggregator. Partly because aggregator ignores the + error flow return. + https://bugzilla.gnome.org/show_bug.cgi?id=743334 + +2015-01-18 18:05:31 +0000 Tim-Philipp Müller + + * configure.ac: + * docs/plugins/Makefile.am: + * docs/plugins/gst-plugins-bad-plugins-sections.txt: + * sys/Makefile.am: + * sys/directdraw/Makefile.am: + * sys/directdraw/gstdirectdrawplugin.c: + * sys/directdraw/gstdirectdrawsink.c: + * sys/directdraw/gstdirectdrawsink.h: + * win32/MANIFEST: + * win32/vs6/libgstdirectdraw.dsp: + * win32/vs8/libgstdirectdraw.vcproj: + Remove unported directdraw plugin + This API has been deprecated for eternities and microsoft + stopped shipping the headers in 2010 accoding to wikipedia, + so let's just remove it and focus on bringing the plugins + based on the newer APIs up to snuff. + +2014-03-26 17:43:33 +0000 Matthieu Bouron + + * gst/aiff/aiffmux.c: + aiffmux: write padding byte at end of SSND chunk if needed + AIFF chunks are supposed to be even aligned. + Aligning the SSND chunk will allow the aiff muxer to properly write + chunks (like the ID3 one) at the end of the file. + https://bugzilla.gnome.org/show_bug.cgi?id=727402 + +2015-01-23 12:44:22 +0100 Edward Hervey + + * ext/wayland/gstwaylandsink.c: + waylandsink: Free leaked GstStructure + Coverity CID : 1256565 + +2015-01-23 12:41:29 +0100 Edward Hervey + + * ext/gl/gstgltestsrc.c: + gltestsrc: Ensure variable is initialized before usage + Coverity CID: 1256569 + +2015-01-23 12:26:16 +0100 Edward Hervey + + * gst-libs/gst/codecparsers/dboolhuff.c: + codecparsers: Indent file + Someone's been commiting without using gst-indent :) + +2015-01-23 12:24:52 +0100 Edward Hervey + + * gst-libs/gst/codecparsers/gsth264parser.c: + * gst-libs/gst/codecparsers/gsth265parser.c: + * gst-libs/gst/codecparsers/nalutils.h: + codecparsers: Add READ_UE_MAX macro + READ_UE_ALLOWED was almost exclusively used with min == 0, which doesn't + make much point for unsigned integers. + Add a READ_UE_MAX variant and use that instead. Also replaced two usages + of CHECK_ALLOWED (a,0,something) by CHECK_ALLOWED_MAX (a, something) + +2015-01-23 12:28:42 +0530 Arun Raghavan + + * gst/inter/gstintervideosrc.c: + intervideosrc: Fix GAP flag setting on non-black frames + The previous commit fixed setting the GAP flag on black frames, but + incorrectly dropped the flag on repeated pushes of the same video + buffer. + +2015-01-23 17:27:42 +1100 Matthew Waters + + * tests/check/libs/gstglcontext.c: + * tests/check/libs/gstglupload.c: + gl/tests: update glwindow api change + +2015-01-23 16:52:25 +1100 Matthew Waters + + * gst-libs/gst/gl/eagl/gstglwindow_eagl.m: + gl/window/eagl: fix a couple of typos + +2015-01-23 16:39:44 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglwindow.h: + glwindow: cleanup/reorganize functions/members into logical groups + +2015-01-23 15:02:55 +1100 Matthew Waters + + * sys/applemedia/corevideotexturecache.m: + applemedia: update for gstgl cocoa -> cgl change + +2015-01-23 14:18:12 +1100 Matthew Waters + + * tests/examples/gl/qt/qglwtextureshare/cocoa_utils.mm: + gl/qt/examples: update for NSOpenGL -> CGL change + +2015-01-23 14:11:48 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + * gst-libs/gst/gl/android/gstglwindow_android_egl.c: + * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h: + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.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/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 width/height from _draw() + Depending on the platform, it was only ever implemented to 1) set a + default surface size, 2) resize based on the video frame or 3) nothing. + Instead, provide a set_preferred_size () that elements/applications + can use to request a certain size which may be ignored for + videooverlay/other cases. + +2015-01-22 21:43:51 +1100 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + glcontext/cocoa: avoid destroying a possibly 0 GSource id + +2015-01-20 22:01:39 +1100 Matthew Waters + + * configure.ac: + * gst-libs/gst/gl/cocoa/Makefile.am: + * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h: + * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m: + * 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: + gl/cocoa: move to CGL and CAOpenGLLayer for rendering + Removes the use of NSOpenGL* variety and functions. Any Cocoa + specific functions that took/returned a NSOpenGL* object now + take/return the CGL equivalents. + +2015-01-22 16:08:11 +1100 Matthew Waters + + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + glcontext/cocoa: add debug category + +2015-01-22 10:50:23 +0530 Arun Raghavan + + * gst/inter/gstintervideosrc.c: + intervideosrc: Fix GAP flag setting on black frames correctly + This did not actually work since the video_buffer was set to NULL after + the first black frame. + Reported by: Patrik Oldsberg + +2015-01-21 23:37:10 +0530 Arun Raghavan + + * gst/inter/gstintervideosrc.c: + intervideosrc: Fix max value of the timeout property + Reported by: Patrik Oldsberg + +2015-01-21 23:35:55 +0530 Arun Raghavan + + * ext/openh264/gstopenh264enc.cpp: + openh264: Implement the preset interface + Will be useful when we want to set presets on the encoder via encodebin + or such. + +2015-01-21 15:31:21 +0000 Luis de Bethencourt + + * gst/audiovisualizers/gstaudiovisualizer.c: + audiovisualizer: sync with base class in -base + https://bugzilla.gnome.org/show_bug.cgi?id=742875 + +2015-01-21 15:06:21 +0000 Luis de Bethencourt + + * gst/audiovisualizers/gstaudiovisualizer.c: + audiovisualizer: ensure default query/event handlers are used + Sync audiovisualizer class implementation to the one in gst-plugins-base. This + commit matches 9dd0e6cccc971d8a6bcca4e9e4d2ee1dbb20fffa in that module. + https://bugzilla.gnome.org/show_bug.cgi?id=742875 + +2015-01-21 10:18:11 +0100 Sebastian Dröge + + * gst/siren/decoder.c: + * gst/siren/encoder.c: + siren: Make some local variables non-static for thread-safety + Otherwise we will override values from another thread if we encode + or decode frames at the same time in different threads. + +2015-01-21 10:17:04 +0100 Sebastian Dröge + + * ext/apexsink/gstapexsink.c: + * ext/audiofile/gstafsink.c: + * ext/audiofile/gstafsrc.c: + * ext/bs2b/gstbs2b.c: + * ext/dash/gstmpdparser.c: + * ext/faac/gstfaac.c: + * ext/gl/gstglfilterreflectedscreen.c: + * ext/openh264/gstopenh264enc.cpp: + * ext/voamrwbenc/gstvoamrwbenc.c: + * gst-libs/gst/codecparsers/gsth264parser.c: + * gst-libs/gst/codecparsers/gsth265parser.c: + * gst-libs/gst/codecparsers/gstvc1parser.c: + * gst-libs/gst/gl/gstglupload.c: + * gst/adpcmenc/adpcmenc.c: + * gst/freeverb/gstfreeverb.c: + * gst/librfb/d3des.c: + * gst/mpeg1sys/buffer.c: + * gst/mpegpsmux/crc.h: + * gst/patchdetect/gstpatchdetect.c: + * gst/tta/filters.h: + * gst/vbidec/gstvbidec.c: + * gst/vbidec/vbidata.c: + * sys/dvb/camapplication.c: + * sys/dvb/camtransport.c: + * sys/dvb/dvbbasebin.c: + * sys/dvb/gstdvbsrc.c: + * sys/dxr3/dxr3videosink.c: + * sys/linsys/gstlinsyssdisink.c: + * sys/qcam/gstqcamsrc.c: + Constify some static arrays everywhere + +2015-01-21 08:49:23 +0100 Edward Hervey + + * po/POTFILES.in: + po: Fix list of files tracked + sfsink/sfsrc haven't been ported (and therefore dist'ed) in 1.x + +2014-12-09 09:58:03 +0100 Edward Hervey + + * gst/mpegdemux/gstmpegdemux.c: + mpegdemux: minor debug update + Only show PTS/DTS when they are valid, and include the stream id + +2015-01-20 14:55:05 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: do not skip the first fragment + Avoid advancing fragment right after downloading the header. If it + is the header, by default, don't advance to the next fragment. + +2015-01-20 16:57:15 +0100 Piotr Drąg + + * po/POTFILES.in: + po: update POTFILES + https://bugzilla.gnome.org/show_bug.cgi?id=743251 + +2015-01-16 19:32:15 +0100 Víctor Manuel Jáquez Leal + + * gst/videoparsers/gsth264parse.c: + h264parse: expose stereo-high profile + Exposing stereo-high profile as a compatible profile of multiview-high + if the maximum number of encoded views in the stream is two. + https://bugzilla.gnome.org/show_bug.cgi?id=743174 + +2015-01-19 17:31:26 +0100 Víctor Manuel Jáquez Leal + + * gst/videoparsers/gsth264parse.c: + h264parse: parse SPS subset + This patch calls gst_h264_parser_parse_subset_sps() when a + SPS subset NAL type is found. + All the bits required for parsing the SPS subset in NALs were + already there, just we need to call them when the this NAL type + is found. + With this parsing, the number of views (minus 1) attribute is + filled, which was a requirement for negotiating the stereo-high + profile. + https://bugzilla.gnome.org/show_bug.cgi?id=743174 + +2013-03-19 14:23:00 +0200 Sreerenj Balachandran + + * gst/videoparsers/gsth264parse.c: + h264parse: add initial support for MVC NAL units. + Initial support for MVC NAL units. It is only needed to propagate the + complete set of NAL units downstream at this time. + https://bugzilla.gnome.org/show_bug.cgi?id=696135 + Signed-off-by: Sreerenj Balachandran + Signed-off-by: Gwenole Beauchesne + +2015-01-20 09:23:02 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: add explicit cast to make clang happy + Fixes compilation + +2015-01-15 17:44:45 -0300 Thiago Santos + + * 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: refactor chunk downloading flow + Add more power to the chunk_received function (renamed to data_received) + and also to the fragment_finish function. + The data_received function must parse/decrypt the data if necessary and + also push it using the new push_buffer function that is exposed now. The + default implementation gets data from the stream adapter (all available) + and pushes it. + The fragment_finish function must also advance the fragment. The default + implementation only advances the fragment. + This allows the subsegment handling in dashdemux to continuously download + the same file from the server instead of stopping at every subsegment + boundary and starting a new request + +2015-01-19 12:37:23 +0000 Vincent Penquerc'h + + * gst/compositor/blend.c: + compositor: fix illegal memory access in blend function with negative ypos + https://bugzilla.gnome.org/show_bug.cgi?id=741115 + +2015-01-19 08:37:59 -0300 Thiago Santos + + * ext/dash/gstmpdparser.c: + dashdemux: add log message about segment time information + For debugging purposes + +2015-01-19 08:36:42 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: fix multi-period playback + If we say it is the first segment after a new period it will resync + the segment.start value and all buffers will be late for the new period + we are trying to play. Otherwise we want to keep the segment.start with + the previous value to allow the running time to smoothly increase + +2015-01-19 11:23:52 +0100 Sebastian Dröge + + * ext/dash/gstdashdemux.c: + dashdemux: Fix compiler warning with clang + gstdashdemux.c:1330:13: error: implicit conversion from enumeration type 'enum _GstAdaptiveDemuxFlowReturn' to different enumeration type + 'GstFlowReturn' [-Werror,-Wenum-conversion] + ret = GST_ADAPTIVE_DEMUX_FLOW_SUBSEGMENT_END; + ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +2015-01-18 21:05:44 +0100 Nicola Murino + + * ext/gl/gstglimagesink.c: + glimagesink: fix memleak + https://bugzilla.gnome.org/show_bug.cgi?id=743142 + +2015-01-18 17:25:35 +0000 Tim-Philipp Müller + + * configure.ac: + * docs/plugins/gst-plugins-bad-plugins.args: + * gst/real/Makefile.am: + * gst/real/gstreal.c: + * gst/real/gstreal.h: + * gst/real/gstrealaudiodec.c: + * gst/real/gstrealaudiodec.h: + * gst/real/gstrealvideodec.c: + * gst/real/gstrealvideodec.h: + Remove real plugin which is no longer needed and has never been ported + Decoders for these formats exist in gst-libav, if anyone + still has a need for them. + +2015-01-18 17:10:37 +0000 Tim-Philipp Müller + + * configure.ac: + * docs/plugins/Makefile.am: + * docs/plugins/gst-plugins-bad-plugins-sections.txt: + * docs/plugins/gst-plugins-bad-plugins.args: + * ext/Makefile.am: + * ext/mythtv/Makefile.am: + * ext/mythtv/gstmythtvsrc.c: + * ext/mythtv/gstmythtvsrc.h: + * gst-plugins-bad.spec.in: + Remove libgmyth-based MythTV source element which was never ported + gmyth seems to be unmaintained upstream, and no one has asked + for this to be ported for a very long time, so let's just + remove it. Neither debian nor Fedora seem to ship libgmyth + any longer, and in any case it's most likely deprecated by + the UPnP support in MythTV. + +2015-01-17 10:06:40 +1100 Lasse Laursen + + * gst-libs/gst/gl/gstglapi.h: + glapi: fix compilation with latest MSVC + https://bugzilla.gnome.org/show_bug.cgi?id=743041 + +2015-01-15 12:57:59 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: use the correct size for the pbo + It was missing the GstVideoAlignment padding which could cause GL + errors related to overrunning the size of the pbo. + +2015-01-16 16:18:35 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: prevent early EOS when switching at last fragment + Check if there is a next fragment before advancing to avoid causing + a bitrate switch (and maybe exposing new pads) only to push EOS. + This causes playback to stop with an error instead of properly + finishing with EOS message. + +2015-01-13 14:22:02 +0000 David Waring + + * ext/dash/gstmpdparser.c: + dashdemux: Fix detection for the end of segment. + The segment start time is calculated as the offset into the current segment. + The old condition to detect the end of period (i.e. segment start time > + period start + period duration) failed when the period start was not 0 since + the segment start time does not take the period start time into account. + Fix this detection by only comparing the segment start to the period duration. + https://bugzilla.gnome.org/show_bug.cgi?id=733369 + +2015-01-14 23:11:15 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + * ext/dash/gstdashdemux.h: + dashdemux: remove unused segment attribute + It was never used, only initialized + +2015-01-12 17:40:47 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + * ext/dash/gstdashdemux.h: + dashdemux: implement ISOBMFF profile handling + The ISOBMFF profile allows definind subsegments in a segment. At those + subsegment boundaries the client can switch from one representation to + another as they have aligned indexes. + To handle those the 'sidx' index is parsed from the stream and the + entries point to pts/offset of the samples in the stream. Knowing that + the entries are aligned in the different representation allows the client + to switch mid fragment. In this profile a single fragment is used per + representation and the subsegments are contained in this fragment. + To notify the superclass about the subsegment boundary the chunk_received + function returns a special flow return that indicates that. In this case, + the super class will check if a more suitable bitrate is available and will + change to the same subsegment in this new representation. + It also requires special handling of the position in the stream as the + fragment advancing is now done by incrementing the index of the subsegment. + It will only advance to the next fragment once all subsegments have been + downloaded. + https://bugzilla.gnome.org/show_bug.cgi?id=741248 + +2015-01-12 11:57:02 -0300 Thiago Santos + + * ext/dash/Makefile.am: + * ext/dash/gstdashdemux.c: + * ext/dash/gstdashdemux.h: + * ext/dash/gstisoff.c: + * ext/dash/gstisoff.h: + dashdemux: parse the sidx index from isobmff streams + Allows dashdemux to identify the subsegments in the stream and + switch bitrates when needed + +2015-01-09 16:43:03 -0300 Thiago Santos + + * ext/dash/gstmpdparser.c: + * ext/dash/gstmpdparser.h: + dashdemux: check for profiles + Check for available profiles to enable certain features for + dash playback. For now we check for the ISOFF On Demand 2011 profile. + +2015-01-13 10:16:22 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: + adaptivedemux: add a special return to signal subsegment boundary + The subsegment boundary return tells the adaptivedemux that it can + try to switch to another representation as the stream is at a suitable + position for starting from another bitrate. + +2015-01-13 10:15:21 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Actually use the byte range for the fragment url + Otherwise we would always download the full fragment. This would + make handling subsegments in DASH impossible. + +2015-01-13 10:13:47 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: allow downloads of headers only + In order to get some subsegment information, subclasses might want + to download only the headers to have enough data (the index) + to decide where to start downloading from the subsegment. + +2015-01-12 18:22:14 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: refactor common code to function + Reuse the same function when finishing downloading and signaling to + the download loop thread to get the next fragment or abort + +2015-01-09 17:19:54 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: + adaptivedemux: inform subclass when headers/index are being downloaded + This allows the subclasses to know if the chunks that are downloaded are + part of the header or of the index and will parse the parts that are + of their interest. + +2015-01-15 16:11:24 +0000 Vincent Penquerc'h + + * gst-libs/gst/uridownloader/gsturidownloader.c: + uridownloader: a few leak fixes + +2015-01-15 13:16:07 +0000 Vincent Penquerc'h + + * gst-libs/gst/uridownloader/gstfragment.c: + fragment: fix caps and buffer leaks in get_property + +2015-01-14 17:43:51 +0000 Vincent Penquerc'h + + * ext/hls/gsthlsdemux.h: + hlsdemux: remove unused fragments_cache field + +2015-01-14 16:42:25 +0000 Vincent Penquerc'h + + * ext/hls/gsthlsdemux.c: + hlsdemux: a few leak fixes + +2015-01-12 21:22:06 +0100 Stefan Sauer + + * ext/bs2b/gstbs2b.c: + bs2b: implement the preset interface + Instead of a preset property implement the preset interface in a read-only + fashion. + +2015-01-12 12:11:01 +0100 Stefan Sauer + + * 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/gst-plugins-bad-plugins.interfaces: + * docs/plugins/inspect/plugin-bs2b.xml: + docs: add new bs2b plugin and element + +2015-01-10 21:41:12 +0100 Christoph Reiter + + * configure.ac: + * ext/Makefile.am: + * ext/bs2b/Makefile.am: + * ext/bs2b/gstbs2b.c: + * ext/bs2b/gstbs2b.h: + bs2b: add new plugin (Effect/Audio, crossfeed) + https://bugzilla.gnome.org/show_bug.cgi?id=611689 + +2015-01-15 13:13:51 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosink.c: + interaudiosink: Make sure that buffer time is always bigger than period time + +2015-01-15 12:49:20 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + decklinkvideosink: Also consider max-lateness property value before dropping late frames + +2015-01-15 14:09:43 +1100 Alessandro Decina + + * sys/applemedia/corevideotexturecache.m: + * sys/applemedia/vtdec.c: + * sys/applemedia/vtdec.h: + vtdec: implement the GL texture upload meta + +2015-01-09 00:16:17 +1100 Alessandro Decina + + * sys/applemedia/Makefile.am: + * sys/applemedia/avfvideosrc.m: + * sys/applemedia/coremediabuffer.c: + * sys/applemedia/corevideotexturecache.h: + * sys/applemedia/corevideotexturecache.m: + avfvideosrc: implement the GL texture upload meta + +2015-01-15 09:47:45 +1100 Matthew Waters + + * ext/gl/gstglmixer.c: + * ext/gl/gstglmixerpad.h: + * ext/gl/gstglvideomixer.c: + glvideomixer: don't upload if alpha <= 0 + Implemented using a upload_buffer vfunc within GstGLMixer allowing + NULL uploaded buffers. + +2015-01-15 09:45:21 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: remove spurious gst_video_info_align + That will be taken care of by the calling code (typically a bufferpool). + The GstVideoAlignment is purely informational to compute plane data sizes. + +2015-01-14 23:48:16 +0530 Nirbheek Chauhan + + * gst/compositor/compositor.c: + compositor: Document the zorder pad property from gstvideoaggregator + +2015-01-14 23:47:19 +0530 Nirbheek Chauhan + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Nitpick spacing/punctuation in debug logging + +2015-01-14 16:33:53 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + decklinkvideosink: Stop scheduled playback shortly in PAUSED->PLAYING if it was running already + This fixes handling of flushing seeks, where we will get a PAUSED->PLAYING + state transition after the previous one without actually going to PAUSED + first. + +2015-01-14 16:01:07 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + * sys/decklink/gstdecklinkvideosink.h: + decklinkvideosink: Don't schedule too late frames in prepare() + Otherwise we will overflow the internal buffer of the hardware + with useless frames and run into an error. This is necessary until + this bug in basesink is fixed: + https://bugzilla.gnome.org/show_bug.cgi?id=742916 + +2015-01-14 15:54:28 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + * sys/decklink/gstdecklinkvideosink.h: + decklinkvideosink: Keep track of the time when we went to PLAYING for the external clock too + Otherwise we're adding an offset of the time the pipeline was in PLAYING + already to the running time when converting it to our internal clock. + +2015-01-14 13:32:51 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + decklinkvideosink: Enable QoS and set max-lateness to 20ms + +2015-01-12 17:24:52 +0000 Vincent Penquerc'h + + * gst-libs/gst/codecparsers/gsth264parser.c: + h264parser: fix stack smashing + Ensure that we do not trust the bitstream when filling a table + with a fixed max size. + Additionally, the code was not quite matching what the spec says: + - a value of 3 broke from the loop before adding an entry + - an unhandled value did not add an entry + The reference algorithm does these things differently (7.3.3.1 + in ITU-T Rec. H.264 (05/2003)). + This plays (apparently correctly) the original repro file, with + no stack smashing. + Based on a patch and bug report by André Draszik + +2015-01-14 22:08:43 +1100 Matthew Waters + + * docs/libs/gst-plugins-bad-libs-sections.txt: + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + * ext/gl/gstglmixer.c: + * ext/gl/gstglmixerpad.h: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglcolorconvert.h: + * gst-libs/gst/gl/gstgldownload.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + * gst-libs/gst/gl/gstglupload.c: + * gst-libs/gst/gl/gstglupload.h: + * tests/check/libs/gstglcolorconvert.c: + gl: split glcolorconvert usage from glupload + the separation allows the transfer operation to occur in a separate + thread/time which may increase performance in specific circumstances. + +2015-01-14 12:39:11 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: offset the data pointer for upload for GstVideoAlignment + otherwise we attempt to read from the padding data + +2015-01-14 00:08:11 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + * gst-libs/gst/gl/gstglmemory.h: + glmemory: use pbo's for upload + +2015-01-13 23:47:06 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglupload.c: + glupload: relax the GLMemory uploader check for input caps features + As there may be a sysmem caps features with GLMemory filled buffers. + e.g. + videotestsrc ! glimagesink + +2015-01-13 11:32:03 -0800 Zaheer Abbas Merali + + * configure.ac: + * ext/openh264/gstopenh264dec.cpp: + * ext/openh264/gstopenh264enc.cpp: + Revert "Revert "openh264: fix to work with released versions and master of upstream"" + This reverts commit 329f0ccba1aa604da1bd80293fd1fe717447df5d. + +2014-12-17 09:19:52 -0800 Zaheer Abbas Merali + + * ext/openh264/gstopenh264enc.cpp: + openh264: remove all trace output to console from encoder + +2015-01-13 19:56:24 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + decklink: Use BT2020 colorspace for UltraHD resolutions + +2015-01-13 19:55:37 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklinkaudiosink.cpp: + * sys/decklink/gstdecklinkvideosink.cpp: + decklink: Fix indention once again + +2015-01-13 16:49:07 +0000 Luis de Bethencourt + + * gst/audiovisualizers/gstaudiovisualizer.c: + audiovisualizer: handle the return of the setup function + Make the class future proof by handling the gboolean return of the setup + function. So if/when a child class uses this the base class is ready. + +2015-01-13 16:46:10 +0000 Luis de Bethencourt + + * gst/audiovisualizers/gstaudiovisualizer.c: + Revert "audiovisualizer: remove unused value" + This reverts commit 25c97570834d6de1c14424e71221d19eb0d33ee3. + It is preferable to handle the retun of the setup function. + +2015-01-13 17:44:17 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + decklinkvideosink: Get our own "start time" instead of the one of the pipeline + decklinkvideosink might be added later to the pipeline, or its state might + be handled separately from the pipeline. In which case the running time when + we (last) went into PLAYING state will be different from the pipeline's. + However we need our own start time to tell the Decklink API, which running + time should be displayed at the moment we go to PLAYING and start scheduled + rendering. + +2015-01-13 17:00:51 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosink.c: + * gst/inter/gstinteraudiosrc.c: + * gst/inter/gstintersubsink.c: + * gst/inter/gstintersubsrc.c: + * gst/inter/gstintervideosink.c: + inter: Use a #define for the default value of the channel property + +2015-01-13 16:58:50 +0100 Sebastian Dröge + + * gst/inter/gstintervideosrc.c: + * gst/inter/gstintervideosrc.h: + intervideosrc: Make the timeout configurable after which we start showing a black frame + +2015-01-13 15:42:26 +0000 Luis de Bethencourt + + * gst/audiovisualizers/gstaudiovisualizer.c: + audiovisualizer: remove unused value + klass->setup (scope) will always return TRUE since all children of this class + do so, no need to store the return. Besides, the value is overwritten a few + lines down before it is used. + Change helps keep files in sync after: + -base commit a91d521a3602f33083405467db9454d422b9da1b + +2015-01-13 14:54:26 +0100 Sebastian Dröge + + * gst/compositor/compositor.c: + compositor: Don't do any conversions if the pad is completely transparent anyway + +2015-01-12 12:58:27 +0100 Branislav Katreniak + + * gst/inter/gstinteraudiosink.c: + * gst/inter/gstinteraudiosrc.c: + * gst/inter/gstintervideosrc.c: + inter: silence messages for flushed / created samples + These messages are logged periodically and polute the log + https://bugzilla.gnome.org/show_bug.cgi?id=741592 + +2014-12-25 23:10:19 +0100 Nicola Murino + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: fix memleak + https://bugzilla.gnome.org/show_bug.cgi?id=741943 + +2014-12-25 22:59:42 +0100 Nicola Murino + + * gst-libs/gst/gl/gstglupload.c: + glupload: fix some memory leaks + https://bugzilla.gnome.org/show_bug.cgi?id=741943 + +2014-12-31 17:45:53 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcontext.c: + * gst-libs/gst/gl/gstglcontext.h: + * tests/check/libs/gstglcontext.c: + glcontext: allow wrapped contexts to be utilised like non-wrapped contexts + Fill in the missing pieces like get_proc_address, the gl function vtable + +2015-01-12 21:25:14 +0100 Stefan Sauer + + * gst-libs/gst/video/.gitignore: + * gst/compositor/.gitignore: + * tests/check/pipelines/.gitignore: + gitignore: ignore more files + +2015-01-12 15:33:09 +0000 Luis de Bethencourt + + * gst/audiovisualizers/gstaudiovisualizer.c: + visual: use unused value + ret is assigned but not used and in the next cycle of the loop it is overwritten + with default_prepare_output_buffer (). If there is a flow error the function + should return instead. + CID #1226475 + +2015-01-12 16:10:31 +0100 Stefan Sauer + + * common: + Automatic update of common submodule + From f2c6b95 to bc76a8b + +2015-01-12 15:57:53 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklinkaudiosink.cpp: + * sys/decklink/gstdecklinkvideosink.cpp: + decklink: Initialize refcount of our C++ classes in the constructor + CID 1262288 + CID 1262287 + CID 1262289 + +2015-01-12 14:22:47 +0000 Luis de Bethencourt + + * gst/gaudieffects/gstdilate.c: + gaudieffects: stored value is overwritten + Value from left_luminance is assigned to out_luminance here, but that stored + value is not used before it is overwritten in the next cycle of the loop. + Removing assignation. + CID #1226473 + +2015-01-12 12:50:33 +0000 Luis de Bethencourt + + * gst/mpegdemux/gstmpegdemux.c: + mpegdemux: fix dead code + found is initialized to FALSE to then only be used in two conditional statements + that will always be false, making the blocks inside them dead code. Looking back + in the file's history the setting of the variable's value before it is checked + was dropped as part of the port to 0.11, bringing that value setting back. + https://bugzilla.gnome.org/show_bug.cgi?id=742638 + +2015-01-11 20:40:34 +0000 Tim-Philipp Müller + + * gst/mpegdemux/gstmpegdemux.c: + mpegdemux: minor optimisation when scanning for SCRs + Bail out early when we're scanning for SCR, no need to + parse stuff we're not going to use nor interested in. + +2015-01-11 01:08:08 +0000 Tim-Philipp Müller + + * ext/mpg123/gstmpg123audiodec.c: + mpg123: fix compiler warning and simplify checks in set_caps + https://bugzilla.gnome.org/show_bug.cgi?id=740195 + +2015-01-03 13:06:45 +0100 Carlos Rafael Giani + + * ext/mpg123/gstmpg123audiodec.c: + mpg123: rework set_format code so mpg123audiodec works with decodebin/playbin + The old code was using gst_caps_normalize() and was generally overly + complex. Simplify by picking sample rate and number of channels from + upstream and the sample format from the allowed caps. If the format caps + is a list of strins, just pick the first one. And if the srcpad isn't + linked yet, use the default format (S16). + https://bugzilla.gnome.org/show_bug.cgi?id=740195 + +2015-01-10 15:34:57 +0100 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + gl/cocoa: Disable hack for NSApp iteration with a special #define + The hack causes deadlocks and other interesting problems and it really + can only be fixed properly inside GLib. We will include a patch for + GLib in our builds for now that handles this, and hopefully at some + point GLib will also merge a proper solution. + A proper solution would first require to refactor the polling in + GMainContext to only provide a single fd, e.g. via epoll/kqueue + or a thread like the one added by our patch. Then this single + fd could be retrieved from the GMainContext and directly integrated + into a NSRunLoop. + https://bugzilla.gnome.org/show_bug.cgi?id=741450 + https://bugzilla.gnome.org/show_bug.cgi?id=704374 + +2015-01-10 15:40:30 +1100 Jan Schmidt + + * gst/inter/gstinteraudiosrc.c: + inter: interaudiosrc - fixate layout for default caps + Makes interaudiosrc produce valid audio caps in the absence of any other + guidance by adding to the pad template and fixate function + +2015-01-09 21:51:40 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Remove pointless atomic + It is only modified from the streaming thread + +2015-01-09 21:30:36 -0500 Olivier Crête + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Fix query leak + +2015-01-09 17:56:09 +0000 Luis de Bethencourt + + * gst/audiovisualizers/gstwavescope.c: + audiovisualizer: remove check for below zero for unsigned value + CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative + number since it is an unsigned integer. Removing that check and only checking if + it is bigger than max and setting it appropriately. + Also converting the previous instance of this into MIN() for consistency. + CID 1139793 + +2014-12-02 10:10:39 +0200 Sreerenj Balachandran + + * gst/videoparsers/gsth264parse.c: + h264parse: expose compatible profiles to downstream + Some video bitstreams report a too restrictive set of profiles. If a video + decoder was to strictly follow the indicated profile, it wouldn't support that + stream, whereas it could in theory and in practice. So we should relax the + profile restriction for allowing the decoder to get connected with parser. + https://bugzilla.gnome.org/show_bug.cgi?id=739992 + +2015-01-09 16:43:39 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Print jitter from clock waiting in the debug logs + +2015-01-09 14:42:34 +0000 Luis de Bethencourt + + * gst/audiovisualizers/gstwavescope.c: + audiovisualizer: remove check if below zero for unsigned value + CLAMP checks both if y is '< 0' and '> h1'. y will never be a negative number + since it is an unsigned integer. Removing that check and only checking if it + bigger than h1 and setting it to that max approprietaly. + CID 1139792 + +2015-01-08 16:24:29 -0300 Thiago Santos + + * ext/hls/m3u8.c: + * ext/hls/m3u8.h: + hlsdemux: cache current file position in the list + Avoids iterating the list everytime to look for the next segment + to be used (or to advance to the next one). + +2015-01-08 15:46:49 -0300 Thiago Santos + + * ext/hls/m3u8.c: + hlsdemux: simplify next segment checking functions + Optimize loop by moving condition outside of it and reuse the + find_next_fragment function to check if there is next instead of + replicating the same loop + +2015-01-08 13:03:11 -0300 Thiago Santos + + * ext/hls/m3u8.c: + * ext/hls/m3u8.h: + hlsdemux: cache total duration to avoid iterating at every query + Duration queries can be done a few times per second and would cause + the segment list to be traversed for every one. Caching the duration + prevents that. + +2015-01-08 18:15:27 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosrc.cpp: + decklinkvideosrc: Post LATENCY message when the mode changes + Different modes have different framerates, and thus different latencies. We + might need to reconfigure the latency of the pipeline. + +2015-01-08 18:14:38 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosrc.cpp: + decklinkvideosrc: Fix compiler warning + +2015-01-08 16:42:31 +0100 Florian Langlois + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinkvideosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.h: + decklinkvideosrc: Add automatic mode detection + https://bugzilla.gnome.org/show_bug.cgi?id=739284 + +2015-01-08 15:54:18 +0000 Luis de Bethencourt + + * ext/hls/m3u8.c: + hlsdemux: g_return_if_fail in function with return type + Need to use g_return_val_if_fail() when the function returns a type, in this + case a gboolean + +2015-01-08 15:36:04 +0000 Luis de Bethencourt + + * gst/rtp/gstrtph265pay.c: + rtp: value truncated too short creates dead code + type is truncated to 0-31 with "& 0x1f", but right after that it is checks if + the value is equivalent to GST_H265_NAL_VPS, GST_H265_NAL_SPS, and + GST_H265_NAL_PPS (which are 32, 33, and 34 respectively). Obviously, this will + never be True if the value is maximum 31 after the truncation. + The intention of the code was to truncate to 0-63. + +2015-01-08 15:27:44 +0000 Luis de Bethencourt + + * gst/rtp/gstrtph265depay.c: + rtp: fix nal unit type check + After further investigation the previous commit is wrong. The code intended to + check if the type is 39 or the ranges 41-44 and 48-55. Just like gsth265parse.c + does. Type 40 would not be complete. + +2015-01-08 13:47:09 +0000 Luis de Bethencourt + + * gst/rtp/gstrtph265depay.c: + rtp: fix dead code and check for impossible values + nal_type is the index for a GstH265NalUnitType enum. There are two types of dead + code here: + First, after checking if nal_type is >= 39 there are two OR conditionals that + check if the value is in ranges higher than that number, so if nal_type >= 39 + falls in the True branch those other conditions aren't checked and if it falls + in the False branch and they are checked, they will always also be False. They + are redundant. + Second, the enum has a range of 0 to 40. So the checks for ranges higher than 41 + should never be True. + Removing this redundant checks. + CID 1249684 + +2015-01-08 14:47:16 +0100 Florian Zwoch + + * sys/applemedia/vtenc.c: + vtenc: Unlock the stream lock while waiting for pending frames to be completed in finish() + We might otherwise deadlock because gst_vtenc_enqueue_buffer() can be + called again and will take the stream lock again from another thread. + https://bugzilla.gnome.org/show_bug.cgi?id=742174 + +2015-01-08 08:46:48 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + * ext/hls/m3u8.c: + * ext/hls/m3u8.h: + hlsdemux: implement _has_next_fragment to avoid busy looping + It will allow the demuxer to wait for a fragment to be available instead + of busy looping polling the playlist for a new fragment + +2015-01-08 12:55:16 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + decklink: Add a dummy value to the video connection mapping table for auto + +2015-01-08 12:48:22 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkaudiosrc.h: + decklinkaudiosrc: Add property to select the audio input connection + +2015-01-08 12:23:53 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + decklink: Add XLR and RCA audio connection enums + +2015-01-08 12:17:45 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinkvideosrc.cpp: + decklinkvideosrc: Add auto value for the connection property + This will use the default/auto connection for video capturing, and can + be set via the Decklink configuration tools. + +2015-01-08 12:13:03 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.cpp: + decklink: Fix indention once again + +2015-01-06 14:02:38 +0100 Florian Langlois + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinkvideosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.h: + decklink: Add property for configuring the input connection of the video sources + +2015-01-08 09:35:23 +0100 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + gl/cocoa: Don't init and clear static GMutex / GCond + We would potentially use it from the main loop later in + gst_gl_window_cocoa_init_nsapp() if it timed out before. + +2015-01-07 16:53:41 +0000 Luis de Bethencourt + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: remove logically dead code + Soon after setting two variables to 1, the code checks if their values are + different from each other. This would never be true. Removing this. + CID 1226443 + +2015-01-07 16:40:25 +0000 Tim-Philipp Müller + + * gst/videoparsers/gstpngparse.c: + * gst/videoparsers/gstpngparse.h: + Revert "pngparse: improve parsing of the image" + This reverts commit 59e7f0597d1cc524174e847de7b91407922304c8. + This patch should not have been pushed, see + https://bugzilla.gnome.org/show_bug.cgi?id=740058#c3 + +2015-01-07 16:26:57 +0000 Luis de Bethencourt + + * ext/opencv/gsthanddetect.c: + handdetect: remove unneeded check + Variable hands is already checked to contain a value previously at the beginning + of the current block (in line 504). There is no need to check again. This is + logically dead code. + CID 1197693 + +2014-11-13 15:56:07 +0530 Vineeth T M + + * gst/videoparsers/gstpngparse.c: + * gst/videoparsers/gstpngparse.h: + pngparse: improve parsing of the image + Everytime a buffer is being provided from baseparse, we are parsing all the data from the beginning. + But since we would have already parsed some of the data in the previous iterations, + it doesnt make much sense to keep parsing the same everytime. + Hence skipping the data which is already read in previous iterations to improve the parsing performance. + https://bugzilla.gnome.org/show_bug.cgi?id=740058 + +2015-01-07 15:32:05 +0100 Florian Langlois + + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.cpp: + decklink: Fix latency values for sources + +2015-01-07 10:23:31 -0300 Thiago Santos + + * ext/hls/m3u8.c: + hlsdemux: remove duplicate call to uri_join + +2015-01-07 09:30:00 -0300 Thiago Santos + + * ext/hls/m3u8.c: + hlsdemux: skip checking '#EXT-X-' token for all entries + Put this common check before to avoid repeating it for all possible + entries to save some cycles + +2015-01-07 09:21:33 -0300 Thiago Santos + + * ext/hls/m3u8.c: + hlsdemux: avoid using g_list_append for creating segments list + Use g_list_prepend and reverse it at the end to skip traversing the + same list for every new segment + +2014-06-20 12:38:59 -0600 Thomas Bluemel + + * ext/hls/gsthlsdemux.c: + * ext/hls/gsthlsdemux.h: + hlsdemux: Don't use approximate duration for fragment buffer pts + The duration values in playlists are approximate only, and for + playlist versions 2 and older they are only rounded integer values. + They cannot be used to timestamp buffers. This resulted in playback + gaps and skips because the actual duration of fragments is slightly + different. The solution is to only set the pts of the very first + buffer processed, not for each fragment. + +2015-01-06 18:44:15 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: only update segment if we have a valid PTS + Otherwise we set the position to GST_CLOCK_TIME_NONE and it disrupts + bitrate switching + +2015-01-07 11:31:30 +0530 Rajat Verma + + * ext/smoothstreaming/gstmssmanifest.c: + mssdemux: fix crash while setting bitrate in caps structure + q->bitrate is a guint64, but G_TYPE_INT may read fewer bits + off the stack, and if we pass more then the NULL sentinel + may not be found at the right place, which in turn might + lead to crashes. + https://bugzilla.gnome.org/show_bug.cgi?id=741751 + +2015-01-02 00:59:00 +0000 Duncan Palmer + + * gst/videoparsers/gsth264parse.c: + h264parse: Fix periodic SPS/PPS sending work after a seek + Reset the interval variable to have SPS/PPS sending work after + a (backwards) seek. + https://bugzilla.gnome.org/show_bug.cgi?id=742212 + +2015-01-05 21:26:22 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: fix deadlock with pad object lock + The image capture mutex and the pad object lock would cause a race + if the pad query was made right when the image probe was running. + The image probe needs the capture mutex and the querying would need + the pad object lock. + +2015-01-05 15:16:15 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: simplify weird if/else clause + It is not an if/else situation but an if error abort otherwise + just continue. Remove else to make it more readable + +2014-04-04 16:45:51 +0100 Alex Ashley + + * ext/hls/gsthlsdemux.c: + * ext/hls/m3u8.c: + * ext/hls/m3u8.h: + hlsdemux: Implement live seeking + hlsdemux assumes that seeking is not allowed for live streams, + however seek is possible if there are sufficient fragments in the + manifest. For example the BBC have live streams that contain 2 hours + of fragments. + The seek code for both live and on-demand is common code. The + difference between them is that an offset has to be calculated + for the timecode of the first fragment in the live playlist. + When hlsdemux starts to play a live stream, the possible seek range + is between 0 and A seconds. After some time has passed, the beginning of + the stream will no longer be available in the playlist and the seek + range is between B and C seconds. + Seek range: + start 0 ........... A + later B ........... C + This commit adds code to keep a note of the B and C values + and the highest sequence number it has seen. Every time it updates the + media playlist, it walks the list of fragments, seeing if there is a + fragment with sequence number > highest_seen_sequence. If so, the values + of B and C are updated. The value of B is used when timestamping + buffers. + It also makes sure the seek range is never closer than three fragments + from the end of the playlist - see 6.3.3. "Playing the Playlist file" + of the HLS draft. + https://bugzilla.gnome.org/show_bug.cgi?id=725435 + +2015-01-05 17:58:54 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: + adaptivedemux: prepare for supporting seeks in live streams + Add function to allow subclasses to specify seeking range for + live streams + https://bugzilla.gnome.org/show_bug.cgi?id=725435 + +2015-01-04 17:15:37 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + aggregator: don't use iterator when setting flush pending on pads + +2015-01-04 16:57:05 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + aggregator: check if pads are ready more efficiently + No need to use an iterator for this which creates a temporary + structure every time and also involves taking and releasing the + object lock many times in the course of iterating. Not to mention + all that GList handling in gst_aggregator_iterate_sinkpads(). + +2015-01-04 12:59:19 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.h: + aggregator: name vfunc arguments consistently + +2014-12-31 20:47:24 +0100 Mark Nauwelaerts + + * tests/check/Makefile.am: + tests: nodist for orc generated code + +2015-01-01 15:46:00 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + aggregator: add g-i transfer and scope annotations + +2015-01-01 14:10:05 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + aggregator: register names of iterate_sinkpads functions with debug system + +2015-01-01 14:03:02 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + aggregator: reduce debug messages for taking/releasing logs to TRACE level + Don't spam debug log with this stuff. + +2014-12-31 18:16:21 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + aggregator: move property member into private structure + Our locking (or lack thereof) while accessing this also + looks generally quite dodgy. + +2014-12-31 14:50:58 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + aggregator: remove empty dispose function + +2014-12-30 23:58:34 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + aggregator: give private functions namespace prefix + Especially the GST_DEBUG_FUNCPTR ones. + +2014-12-31 12:35:06 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.h: + aggregator: fix up some docs comments in header + +2014-12-30 23:44:46 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + aggregator: remove now-unused system clock member + +2014-12-30 19:43:43 +0000 Tim-Philipp Müller + + * ext/gl/gstglmixer.c: + * ext/gl/gstglvideomixer.c: + glmixer, glvideomixer: update for GstAggregatorPadForeachFunc change + +2014-12-30 19:26:47 +0000 Tim-Philipp Müller + + * ext/gl/gstglmixer.c: + glmixer: update for aggregator start/stop vfunc change + +2014-12-30 19:22:01 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + aggregator: make GstAggregatorPadForeachFunc take an GstAggregatorPad + +2014-12-30 18:01:34 +0000 Tim-Philipp Müller + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: update for aggregator start/stop vfunc change + +2014-12-30 17:56:35 +0000 Tim-Philipp Müller + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: update for aggregator start/stop vfunc change + +2014-12-30 17:50:17 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + aggregator: bring start/stop vfunc semantics in line with other baseclasses + Sub-class should not have to chain up to GstAggregator's start/stop + vfuncs, same as in GstBaseSrc, GstBaseSink, GstBaseTransform etc. + +2014-12-30 15:29:36 +0000 Tim-Philipp Müller + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: fix output-block-size property description + +2014-12-30 08:07:18 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + hlsdemux: only typefind when we have a minimum amount of data + For small amounts some data might be mistyped and it would cause + the pipeline to fail. For example if you have AAC inside mpegts, + for small amounts, the AAC samples would cause the typefinder to + think it is AAC and not mpegts. + https://bugzilla.gnome.org/show_bug.cgi?id=736061 + +2014-12-29 11:49:51 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + decklink: Add support for 4K / UHD modes + +2014-12-29 11:49:42 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + decklink: Fix indention + +2014-12-29 10:44:53 -0300 Thiago Santos + + * ext/dash/gstmpdparser.c: + dashdemux: do not try to ref null pointer + Playlists might be missing the availability start time, so check for + it before trying to ref the object + +2014-12-29 10:44:19 -0300 Thiago Santos + + * ext/dash/gstmpdparser.c: + dashdemux: run gst-indent on mpdparser + Run gst-indent on mpdparser to have it stop complaining on every + commit + +2014-12-28 18:26:49 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + aggregator: remove pointless GST_DEBUG_FUNCPTR + Not useful for GObject vfuncs. + +2014-12-28 18:24:21 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.c: + aggregator: remove duplicate pad parent_class variable + G_DEFINE_TYPE already provides one, just need to use it. + +2014-12-28 18:22:57 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.h: + aggregator: add _CAST() variants for cast macros + +2014-12-28 01:13:33 +0000 Tim-Philipp Müller + + * gst-libs/gst/base/gstaggregator.h: + * gst-libs/gst/video/gstvideoaggregator.h: + * gst-libs/gst/video/gstvideoaggregatorpad.h: + aggregator: make padding larger + Esp. the class structures, can't have enough + spare space for virtual functions. + +2014-12-28 00:58:04 +0000 Tim-Philipp Müller + + * gst/siren/gstsiren.h: + * gst/siren/gstsirendec.h: + * gst/siren/gstsirenenc.h: + siren: remove unneeded structure padding + Public headers are private and not installed. + +2014-12-27 16:15:41 +0530 Nirbheek Chauhan + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Log to the pad instead of the element + More correct way of doing the same thing as before + +2014-12-27 15:50:17 +0530 Nirbheek Chauhan + + * ext/gl/gstglvideomixer.c: + glvideomixer: Point to compositor for the pad properties documentation + +2014-12-27 15:49:47 +0530 Nirbheek Chauhan + + * gst/compositor/compositor.c: + compositor: Document the pad properties + +2014-12-27 15:49:39 +0530 Nirbheek Chauhan + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Document the pad properties + +2014-12-27 09:49:43 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Make sure that the minimum latencies are never GST_CLOCK_TIME_NONE + +2014-12-27 09:42:57 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Wait for the minimum latency, not the maximum + The minimum latency is the latency we have to wait at least + to guarantee that all upstreams have produced data. The maximum + latency has no meaning like that and shouldn't be used for waiting. + +2014-12-27 04:21:36 +0530 Nirbheek Chauhan + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Clamp the min latency at the max if it's greater + +2014-12-27 04:21:26 +0530 Nirbheek Chauhan + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Print the sinkpad name while logging latency queries + Very useful while debugging. + +2014-12-27 04:19:52 +0530 Nirbheek Chauhan + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Take the stream lock when iterating sink pads + When iterating sink pads to collect some data, we should take the stream lock so + we don't get stale data and possibly deadlock because of that. This fixes + a definitive deadlock in _wait_and_check() that manifests with high max + latencies in a live pipeline, and fixes other possible race conditions. + +2014-12-26 23:05:43 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: do not set source state with lock + It might be racy with the image probe thread as it uses the capture + mutex just like the start-capture handler from camerabin. The + start-capture would be waiting for the source's streaming thread + to stop to be able to set the source state to ready while the + probe would be blocked waiting to acquire the capture mutex. + It causes a deadlock. + +2014-12-26 10:17:19 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: use the drain query instead of flush + The flush might clear any pending captures that are still in + queues being processed while the drain query will wait for those + to be properly done + +2014-12-26 22:45:41 +1100 Alessandro Decina + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: improve timestamp code + Use a combination of the running time and CMClockGetTime from AVF to compute + timestamps. + +2014-12-26 11:48:56 +0000 Tim-Philipp Müller + + * gst/gdp/gstgdppay.c: + gdppay: use public API for accessing stream header arrays in caps + Don't rely on core implementation details, which are private and + may change. It's also not needed here, the performance impact is + close to none. Also copy buffer before changing its metadata. + +2014-12-26 11:29:12 +0000 Tim-Philipp Müller + + * tests/check/elements/gdpdepay.c: + tests: gdpdepay: update for internal gdp refactoring + This test uses some internal/private API, so needs to + be updated for recent changes. + +2014-12-26 11:27:38 +0000 Tim-Philipp Müller + + * gst/gdp/dataprotocol.c: + * gst/gdp/dataprotocol.h: + * gst/gdp/gstgdppay.c: + gdppay: refactor payloading code a little + Get rid of some indirections and inefficiencies, + just payload things directly which gives us more + control over what memory is allocated where and + how and makes things much simpler. In particular, + we can now allocate the payload header plus the + GstMemory to represent it in one go. + +2014-12-15 00:41:22 +0000 Tim-Philipp Müller + + * gst/gdp/dataprotocol.c: + * gst/gdp/dataprotocol.h: + * gst/gdp/gstgdppay.c: + * gst/gdp/gstgdppay.h: + * tests/check/elements/gdpdepay.c: + gdppay: refactor a little + Get rid of now-useless packetizer struct and just + call internal functions directly. Also remove + version property which is now defunct, not least + because we create the packetizer with the + version in the init function before a version + can be set. + +2014-12-13 16:46:07 +0000 Tim-Philipp Müller + + * tests/check/elements/gdppay.c: + tests: gdppay: initialise memory of buffers used in unit test + +2014-12-13 15:23:48 +0000 Tim-Philipp Müller + + * gst/gdp/dataprotocol.c: + * gst/gdp/dataprotocol.h: + gdppay: optimise payloading of buffers with multiple memories + Add function to calculate a payload CRC across multiple memories + so we don't have to merge buffers with multiple memories just to + calculate the CRC. Also make CRC calculation function static, + since it's not used outside dataprotocol.h and move special-casing + of length = 0 -> CRC = 0 into CRC function (from caller). + Perhaps more importantly, since payload CRC is off by default: + don't map buffer (and possibly merge memories in the process) + if we are not going to use it to calculate a CRC anyway. + +2014-12-13 15:19:16 +0000 Tim-Philipp Müller + + * gst/gdp/dataprotocol.c: + * gst/gdp/dataprotocol.h: + gdppay: dataprotocol: drop bogus const + Doesn't really make sense given that we map + it and possibly merge memories and such. + +2014-11-24 12:18:36 -0700 Vijay Jayaraman + + * ext/hls/gsthlsdemux.c: + hlsdemux: typefind might fail if first buffer is too short + If typefind fails, check to see if the buffer is too short for typefind. If this is the case, + prepend the decrypted buffer to the pending buffer and try again the next time around. + https://bugzilla.gnome.org/show_bug.cgi?id=740458 + +2014-08-27 16:26:19 -0300 Thiago Santos + + * ext/hls/Makefile.am: + * ext/hls/gsthlsdemux.c: + * ext/hls/gsthlsdemux.h: + hlsdemux: port to adaptive base class + Conflicts: + ext/hls/gsthlsdemux.c + ext/hls/gsthlsdemux.h + +2014-12-23 01:51:50 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: check if element exists before setting it to null + Under certain error conditions it might happen that the element + has been freed already and trying to set it to NULL causes an + assertion + +2014-12-23 01:51:10 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: make sure task has stopped before freeing it + Otherwise the thread will be running and its memory will get freed. + This leads to memory corruption + +2014-12-23 01:48:41 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: fix segment start when exposing new streams + Segment start needs only to be updated when starting the streams + or after a seek, doing it during bitrate changes will cause the + running time to go discontinuous (jump back to a previous ts) + and QOS will drop buffers + +2014-12-19 02:22:47 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: allow subclass to use new pads group when switching bitrate + Fix pad groups switching when bitrate changes to allow HLS to use this feature + +2014-12-23 12:24:48 +0100 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: If getting a timeout before having caps, just advance our position + This can happen if this is a live pipeline and no source produced any buffer + and sent no caps until the an output buffer should've been produced according + to the latency. + +2014-12-23 12:15:50 +0100 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Make sure to release the current buffer in reset() + If we didn't output the last one in aggregate because we were shutting down + earlier we might otherwise leak it. + +2014-12-23 11:45:50 +0100 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + * gst/audiomixer/gstaudiomixer.h: + * tests/check/elements/audiomixer.c: + audiomixer: Change blocksize property to output-buffer-duration in time format + This makes the interface of audiomixer independent of the actual caps. + +2014-12-23 11:45:05 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Don't leak flush-start events + +2014-12-23 10:24:27 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Also change the default latency to 0, not just the minimum + +2014-12-23 09:52:20 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Fix docs and default value of the latency property + +2014-12-22 22:19:52 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Also include the subclass latency in the result of the latency query + +2014-12-22 22:11:30 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Use the src query implementation of aggregator as the default case + +2014-12-22 22:11:13 +0100 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Use the src query implementation of aggregator as the default case + +2014-12-22 16:45:05 +0000 Tim-Philipp Müller + + * gst/bayer/gstbayer2rgb.c: + bayer2rgb: take into account filter in transform_caps function + Fixes criticals when filter caps are passed. + Also fix wrong GST_DEBUG_OBJECT use. + https://bugzilla.gnome.org/show_bug.cgi?id=741863 + +2014-12-22 15:26:37 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Post a latency message if the value of the latency property changes + +2014-12-22 15:03:59 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Wake up the src thread after handling a latency query + Due to changed latencies or changed live-ness we might have to + adjust if we wait on a deadline at all and how long. + +2014-12-22 15:00:36 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Don't count the number of times we need to wake up but instead check all conditions for waiting again + This simplifies the code and also makes sure that we don't forget to check all + conditions for waiting. + Also fix a potential deadlock caused by not checking if we're actually still + running before starting to wait. + +2014-12-22 11:49:08 +0100 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Instead of crashing if no corresponding frame is found, ignore this + ... and hope that everything will be fine. This shouldn't really happen but + previously happened during shutdown. It should be fixed in videoencoder now, + but better be on the safe side here. + +2014-12-22 11:46:05 +0100 Sebastian Dröge + + * MAINTAINERS: + MAINTAINERS: Update my mail address + +2014-12-21 07:47:25 -0500 Stefan Sauer + + * gst/audiomixer/Makefile.am: + audiomixer: fix build flag order + Have the libraries/inlcudes from plugins-bad first to avoid picking up the installed version. + Fixes the build when the local api changed. + +2014-12-20 12:24:53 -0500 Stefan Sauer + + * gst/freeverb/GstFreeverb.prs: + * gst/freeverb/Makefile.am: + freeverb: add a few presets + +2014-12-19 13:18:50 -0500 Nicolas Dufresne + + * tests/check/libs/gstglcolorconvert.c: + * tests/check/libs/gstglmemory.c: + * tests/check/libs/gstglupload.c: + gltest: Port to new API + https://bugzilla.gnome.org/show_bug.cgi?id=740900 + +2014-12-19 12:22:12 -0500 Nicolas Dufresne + + * gst-libs/gst/gl/gstglbufferpool.c: + glbufferpool: Always recalculate buffer size + Actually we should always recalculate buffer size since our buffer size + even when not-padded is smaller for many sub-sampled formats. This is + because we don't add padding between the planes. + https://bugzilla.gnome.org/show_bug.cgi?id=740900 + +2014-12-19 12:12:08 -0500 Nicolas Dufresne + + * gst-libs/gst/gl/gstglmemory.h: + glmemory: No need for padding + A memory object cannot be put on stack, so no need for padding. + +2014-12-19 12:11:08 -0500 Nicolas Dufresne + + * ext/gl/gstgloverlay.c: + * gst-libs/gst/gl/gstglbufferpool.c: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstgldownload.c: + * gst-libs/gst/gl/gstglmemory.c: + * gst-libs/gst/gl/gstglmemory.h: + * gst-libs/gst/gl/gstglupload.c: + * gst-libs/gst/gl/gstgluploadmeta.c: + * gst-libs/gst/gl/gstglutils.c: + * gst-libs/gst/gl/gstglutils.h: + gl: Add support for GstVideoAlignment + This allow saving a copy with libav video decoders or decoders with + similar padding requirement. + https://bugzilla.gnome.org/show_bug.cgi?id=740900 + +2014-11-22 11:25:23 -0500 Nicolas Dufresne + + * gst-libs/gst/gl/gstglmemory.c: + * gst-libs/gst/gl/gstglmemory.h: + glmemory: Handle upload/download flags from map + Problem was that if buffer was mapped READWRITE (state of buffers from + libav right now), mapping it READ/GL will not upload. This is because the + flag is only set when the buffer is unmapped. We can fix this by setting + the flags in map. This result in already mapped buffer that get mapped + to be read in GL will be uploaded. The problem is that if the write + mapper makes modification afterward, the modification will never get + uploaded. + https://bugzilla.gnome.org/show_bug.cgi?id=740900 + +2014-12-13 21:47:38 -0500 Nicolas Dufresne + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: Handle custom stride with OPENGL3 + https://bugzilla.gnome.org/show_bug.cgi?id=740900 + +2014-12-19 15:05:58 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkaudiosrc.h: + decklink: Fix various compiler warnings with gcc + +2014-12-19 14:50:09 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + decklink: Re-add the COM initialization code for Windows + Untested, and we will never deinitialize COM again. + +2014-12-19 14:38:03 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosink.cpp: + * sys/decklink/gstdecklinkaudiosrc.cpp: + decklink: Remove in-same-pipeline detection code for audio/video elements of the same device + This causes deadlocks sometimes for some reason. + +2014-12-19 14:35:03 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + * sys/decklink/gstdecklinkvideosink.h: + decklinkvideosink: Implement clock slaving + +2014-12-19 13:52:08 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkvideosink.cpp: + decklinkvideosink: Add some more debug output for when frames are scheduled + +2014-12-19 13:28:29 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkaudiosrc.h: + * sys/decklink/gstdecklinkvideosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.h: + decklink: Add property for configuring the buffer size of the sources + +2014-12-19 13:24:10 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkaudiosrc.h: + decklinkaudiosrc: Implement timestamp jitter and discont handling + +2014-12-19 12:37:30 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.cpp: + decklink: Our capture time is the end timestamp of the buffer, subtract the duration + +2014-12-19 12:30:04 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkaudiosrc.h: + * sys/decklink/gstdecklinkvideosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.h: + decklink: Allow for a maximum of 5 packets to be queued up + In case downstream is a bit slow with consuming packets at times. + +2014-12-19 12:03:09 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinkaudiosink.cpp: + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkvideosink.cpp: + * sys/decklink/gstdecklinkvideosrc.cpp: + decklink: Implement latency query in sources and remember selected mode + +2014-12-18 18:30:16 +0100 Sebastian Dröge + + * sys/decklink/capture.cpp: + * sys/decklink/capture.h: + * sys/decklink/gstdecklinksink.cpp: + * sys/decklink/gstdecklinksink.h: + * sys/decklink/gstdecklinksrc.cpp: + * sys/decklink/gstdecklinksrc.h: + decklink: Remove obsolete files + +2014-12-18 17:31:20 +0100 Sebastian Dröge + + * sys/decklink/Makefile.am: + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinkaudiosink.cpp: + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkaudiosrc.h: + * sys/decklink/gstdecklinkvideosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.h: + decklink: Add initial version of audio and video sources + +2014-12-13 17:23:31 +0100 Sebastian Dröge + + * sys/decklink/Makefile.am: + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinkaudiosink.cpp: + * sys/decklink/gstdecklinkaudiosink.h: + * sys/decklink/gstdecklinkvideosink.cpp: + * sys/decklink/gstdecklinkvideosink.h: + decklink: Initial version of the audio/video sink rewrite + +2014-12-19 13:04:58 +0100 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + * gst/audiomixer/gstaudiomixer.h: + audiomixer: Track discont-time per pad instead of globally + We do discont handling per pad, not per element! + +2014-12-15 16:27:16 +0100 Branko Subasic + + * ext/curl/gstcurlsmtpsink.c: + * ext/curl/gstcurlsmtpsink.h: + curlsmtpsink: add final boundary to all multipart emails + Corrected the final boundary mechanism so that a final boundary is + added to each mail with multipart content that is sent, + not just to the last one. + https://bugzilla.gnome.org/show_bug.cgi?id=741553 + +2014-12-18 23:33:58 +0100 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: We're only EOS if all our pads are actually EOS + Having a buffer or not on the pad is irrelevant. + +2014-12-18 22:42:14 +0100 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: The pad's size is always supposed to be the whole buffer size + And the offset the offset into that buffer. Changing the size will + cause all kinds of assumptions to fail and cause crashes. + +2014-12-18 22:04:38 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Don't try to map NULL buffers + +2014-12-18 22:03:04 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Make sure to always update the pad's videoinfo together with buffers + Otherwise the videoinfo and the buffer content can go out of sync. + +2014-12-18 11:48:37 +0100 Sebastian Dröge + + * gst/compositor/compositor.c: + compositor: Fix memory leak when no buffer is available for a pad currently + CID 1258718 + +2014-12-18 10:54:05 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From ef1ffdc to f2c6b95 + +2014-12-17 22:01:23 -0300 Thiago Santos + + * ext/x265/gstx265enc.c: + x265enc: reuse the gstvideo proxy getcaps + The caps query is implementing the same logic as the default + handler from the base class. Reuse it to simplify code. + +2014-12-17 21:52:13 -0300 Thiago Santos + + * ext/opus/gstopusenc.c: + opusenc: plug ref leak of template caps + the pad template caps is already a new ref. No need to copy. + +2014-12-17 19:51:32 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + * gst-libs/gst/video/gstvideoaggregator.c: + * gst/audiomixer/gstaudiomixer.c: + aggregator: Add function to allow subclasses to set their own latency + For audiomixer this is one blocksize, for videoaggregator this should + be the duration of one output frame. + +2014-12-17 19:37:22 +0100 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Make sure to not have pads being behind the current offset + We would break sync between the different streams then. + +2014-12-17 17:54:09 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + * gst-libs/gst/video/gstvideoaggregator.c: + * gst/audiomixer/gstaudiomixer.c: + * gst/compositor/compositor.c: + * tests/check/libs/aggregator.c: + aggregator: Add a timeout parameter to ::aggregate() + When this is TRUE, we really have to produce output. This happens + in live mixing mode when we have to output something for the current + time, no matter if we have enough input or not. + +2014-12-17 18:20:15 +0100 Sebastian Dröge + + * tests/check/elements/audiomixer.c: + audiomixer: Add queues after the (live) sources in the unit test + +2014-12-17 12:20:54 +1100 Alessandro Decina + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: improve timestamping and latency reporting + Use AVF provided timings to timestamp output buffers. Use the running time at + the time the first buffer is produced to base timestamps on. Report 1-frame + latency based on the negotiated framerate instead of hardcoding 4ms latency. + +2014-12-15 22:24:26 -0500 Raimo Järvi + + * sys/dshowdecwrapper/gstdshowaudiodec.cpp: + * sys/dshowdecwrapper/gstdshowaudiodec.h: + * sys/dshowdecwrapper/gstdshowutil.cpp: + * sys/dshowdecwrapper/gstdshowutil.h: + * sys/dshowdecwrapper/gstdshowvideodec.cpp: + dshowdecwrapper: Remove dependency on ATL + This fixes compiling with Visual C++ Express + that doesn't include ATL. + https://bugzilla.gnome.org/show_bug.cgi?id=677223 + +2014-12-04 23:30:23 -0500 Matthew Bader + + * sys/dshowsrcwrapper/gstdshow.cpp: + * sys/dshowsrcwrapper/gstdshowvideosrc.cpp: + dshowsrcwrapper: Added support for image/jpeg and h264 + https://bugzilla.gnome.org/show_bug.cgi?id=741188 + +2014-12-16 19:49:35 +0000 Tim-Philipp Müller + + * tests/check/libs/aggregator.c: + tests: fix aggregator unit test after property renaming + +2014-12-16 17:37:12 +0100 Sebastian Dröge + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Implement get_next_time() + +2014-12-16 17:33:01 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Some minor cleanup + +2014-12-05 18:19:54 +1100 Matthew Waters + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + * gst-libs/gst/video/gstvideoaggregator.c: + aggregator: make the src pad task drive the pipeline for live pipelines + This removes the uses of GAsyncQueue and replaces it with explicit + GMutex, GCond and wakeup count which is used for the non-live case. + For live pipelines, the aggregator waits on the clock until either + data arrives on all sink pads or the expected output buffer time + arrives plus the timeout/latency at which time, the subclass + produces a buffer. + https://bugzilla.gnome.org/show_bug.cgi?id=741146 + +2014-12-08 15:18:25 +1100 Matthew Waters + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: always try to use newer buffers + instead of dropping them for being too old. This ensures that + the newest buffer is always used for rendering + +2014-12-16 13:35:14 +0100 Wim Taymans + + * ext/directfb/dfbvideosink.c: + * ext/sdl/sdlvideosink.c: + * ext/wayland/wlwindow.c: + * sys/directdraw/gstdirectdrawsink.c: + * sys/pvr2d/gstpvrvideosink.c: + * sys/vdpau/gstvdpvideopostprocess.c: + rectangle: clear rectangle struct before use + +2014-12-15 15:21:50 +0000 Vincent Penquerc'h + + * ext/opus/gstopusparse.c: + opusparse: fix frame size determination + https://bugzilla.gnome.org/show_bug.cgi?id=741321 + +2014-06-19 21:32:09 +0200 Mathieu Duponchelle + + * gst/mxf/mxfdemux.c: + * gst/mxf/mxfdemux.h: + * gst/mxf/mxftypes.h: + mxfdemux: Use IndexTableSegments. + This speeds up seeking drastically. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732294 + +2014-12-14 01:29:26 +0100 Sebastian Rasmussen + + * tests/check/libs/aggregator.c: + tests/aggregator: Use correct type when setting property + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741495 + +2014-05-08 10:41:03 +0530 Sudip Jain + + * gst/mpegtsdemux/mpegtsbase.c: + mpegtsbase: scan more bytes to find initial PCRs + Fixes playback of Samsung-Colorful-Variety-1080i.ts. + https://bugzilla.gnome.org/show_bug.cgi?id=729768 + +2014-12-12 20:57:28 +0000 Tim-Philipp Müller + + * configure.ac: + * ext/openh264/gstopenh264dec.cpp: + * ext/openh264/gstopenh264enc.cpp: + Revert "openh264: fix to work with released versions and master of upstream" + This reverts commit 15394aa70543f55c54fa8a474805224f4138f76c. + The latest release (v1.1) does not have pkg-config support + yet, so this plugin won't be built with the latest release. + Cerbero uses the latest release, so this makes cerbero + builds fail, which expect the plugin to be built. + We can re-commit this once there's a release that includes + pkg-config support. + +2014-12-12 10:05:23 -0800 Zaheer Abbas Merali + + * configure.ac: + * ext/openh264/gstopenh264dec.cpp: + * ext/openh264/gstopenh264enc.cpp: + openh264: fix to work with released versions and master of upstream + +2014-12-12 11:21:27 +0100 Thibault Saunier + + * gst/debugutils/gstwatchdog.c: + watchdog: GstElement->state is protected with the OBJECT_LOCK + Not the STATE_LOCK. + gst_watchdog_feed was already always called with the OBJECT_LOCK taken. + +2014-11-27 20:48:24 +0100 Thibault Saunier + + * gst-libs/gst/video/gstvideoaggregator.c: + * gst-libs/gst/video/gstvideoaggregatorpad.h: + videoaggregator: Hide some more fields from the API + + Add some documentation + +2014-12-12 00:30:21 +0000 Tim-Philipp Müller + + * gst/onvif/Makefile.am: + onvif: fix 'make dist' + +2014-12-11 21:01:48 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: fix seek event handling + Properly do seeking and avoid only seeking when the segment was updated. + It would cause seeks after the stream was EOS to fail, for example. + https://bugzilla.gnome.org/show_bug.cgi?id=738920 + +2014-11-17 19:26:53 -0500 Olivier Crête + + * gst/onvif/gstrtponviftimestamp.c: + * gst/onvif/gstrtponviftimestamp.h: + * tests/check/elements/rtponvif.c: + rtponviftimestamp: Automatically discover the ntp-offset by default. + This only works if no packets are pushed in before the pipeline goes + to playing. So it helps to have a live source. + https://bugzilla.gnome.org/show_bug.cgi?id=731769 + +2014-06-05 15:06:33 +0200 Guillaume Desmottes + + * gst/onvif/Makefile.am: + * gst/onvif/gstrtponvif.c: + * gst/onvif/gstrtponvifparse.c: + * gst/onvif/gstrtponvifparse.h: + * tests/check/elements/rtponvif.c: + add rtponvifextract element + https://bugzilla.gnome.org/show_bug.cgi?id=731769 + +2014-04-28 11:07:17 +0200 Guillaume Desmottes + + * configure.ac: + * gst/onvif/Makefile.am: + * gst/onvif/gstrtponvif.c: + * gst/onvif/gstrtponviftimestamp.c: + * gst/onvif/gstrtponviftimestamp.h: + * tests/check/Makefile.am: + * tests/check/elements/.gitignore: + * tests/check/elements/rtponvif.c: + add rtponviftimestamp element + https://bugzilla.gnome.org/show_bug.cgi?id=731769 + +2014-12-08 11:02:51 +0800 Wang Xin-yu (王昕宇) + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: fix position/texcoord attrib index usage + https://bugzilla.gnome.org/show_bug.cgi?id=741231 + +2014-12-11 18:17:02 +1100 Matthew Waters + + * ext/gl/gstglfiltercube.c: + glfiltercube: use a shader everywhere + +2014-12-11 18:15:02 +1100 Matthew Waters + + * ext/gl/gstglfiltercube.c: + * ext/gl/gstglimagesink.c: + * ext/gl/gstgloverlay.c: + * ext/gl/gstgltransformation.c: + * ext/gl/gstglvideomixer.c: + * gst-libs/gst/gl/gstglfilter.c: + gl: fixup vao and vbo usage for legacy GL + +2014-12-11 14:57:18 +1100 Matthew Waters + + * ext/gl/gstgleffects.c: + gleffects: don't abort when setting the effect to 0,1,2 + +2014-12-10 12:48:33 +1100 Matthew Waters + + * tests/examples/gl/sdl/sdlshare.c: + gl/examples: fixup sdl example for gluPerspective removal + +2014-12-09 08:38:55 -0800 Nick Stoughton + + * configure.ac: + * sys/bluez/gstavdtputil.c: + bluez: support compile-time distinction between bluez4 and bluez5 + Signed-off-by: Nick Stoughton + https://bugzilla.gnome.org/show_bug.cgi?id=738626 + +2014-12-10 18:23:02 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: check the return from update_manifest correctly + It is a GstFlowReturn and not a boolean + +2014-12-10 09:24:17 +0000 David Waring + + * ext/dash/gstmpdparser.c: + dashdemux: Change period when setting by period id. + Make gst_mpd_client_set_period_id set the current period index when it finds a + period with a matching period id. + https://bugzilla.gnome.org/show_bug.cgi?id=741322 + +2014-12-10 15:27:49 -0300 Thiago Santos + + * ext/smoothstreaming/gstmssmanifest.c: + mssdemux: fix reverse playback fragment tracking + Rework reverse fragment traversing with repetition fields to prevent + NULL pointer deref and avoid never advancing a fragment as the variable + is unsigned and would always be non-negative. + CID #1257627 + CID #1257628 + +2014-12-11 00:02:26 +1100 Alessandro Decina + + * sys/applemedia/vtenc.c: + vtenc: bump rank to PRIMARY + +2014-12-10 22:36:53 +1100 Alessandro Decina + + * sys/applemedia/vtenc.c: + * sys/applemedia/vtenc.h: + vtenc: negotiate profile and level with downstream + +2014-12-10 19:44:01 +1100 Alessandro Decina + + * sys/applemedia/vtenc.c: + * sys/applemedia/vtenc.h: + vtenc: report latency + +2014-12-05 16:20:08 +0000 David Waring + + * ext/dash/gstdashdemux.c: + dashdemux: Find current segment in the streams that have just been setup + Using demux->streams will just skip the whole loop as demux->streams will + always be NULL at that point + https://bugzilla.gnome.org/show_bug.cgi?id=741285 + +2014-12-09 05:03:11 +0100 Mathieu Duponchelle + + * gst/geometrictransform/gstmirror.c: + mirror: Needs remap when the mode changes. + This caused the user to think the mode wasn't taken into account. + +2014-12-09 04:28:17 +0100 Mathieu Duponchelle + + * gst/videoparsers/gsth264parse.c: + Revert "h264parse: expose compatible profiles to downstream" + This reverts commit 3910cbe7ce1a67ed5506f87e4c5a005c168d0e6c. + +2014-12-08 08:53:00 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: do not try to unlock not locked mutex + A misplaced unlock was causing an assertion for playback with a + set stop time + +2014-12-08 08:24:17 -0300 Thiago Santos + + * gst-libs/gst/Makefile.am: + gst-libs: build order: uridownloader before adaptivedemux + Otherwise make install fails + +2014-12-05 16:33:20 +0100 Sebastian Dröge + + * sys/applemedia/vtenc.c: + * sys/applemedia/vtenc.h: + vtenc: Add properties to specify the maximum keyframe interval in frames and seconds + +2014-12-05 16:15:23 +0100 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Fix conversion of the bitrate property and our internal bitrate storage + The property is in kbit/s and we store it in bit/s, so just multiply and + divide by 1000. No need to put a factor of 8 in there. + kVTCompressionPropertyKey_AverageBitRate is also in bit/s according to + its documentation. + +2014-12-05 13:12:59 +0530 Arun Raghavan + + * gst/inter/gstintervideosrc.c: + intervideosrc: Fix a memory leak + Frees the source ARGB black frame that we use to create the black frame + in our target format. + +2014-12-02 10:10:39 +0200 Sreerenj Balachandran + + * gst/videoparsers/gsth264parse.c: + h264parse: expose compatible profiles to downstream + Some video bitstreams report a too restrictive set of profiles. If a video + decoder was to strictly follow the indicated profile, it wouldn't support that + stream, whereas it could in theory and in practice. So we should relax the + profile restriction for allowing the decoder to get connected with parser. + https://bugzilla.gnome.org/show_bug.cgi?id=739992 + +2013-05-01 11:17:02 +0800 Chun-wei Fan + + * sys/dshowvideosink/dshowvideofakesrc.cpp: + * sys/dshowvideosink/dshowvideosink.cpp: + * sys/dshowvideosink/dshowvideosink.h: + dshowvideosink: Port to 1.0 and new GLib threading API + This updates the dshowvideosink to work with the GStreamer 1.0.x APIs, and + avoids the use of deprecated GLib threading API that are now used since + GLib 2.32+ + https://bugzilla.gnome.org/show_bug.cgi?id=699364 + +2014-12-04 01:46:43 -0300 Thiago Santos + + * ext/smoothstreaming/gstmssdemux.c: + * ext/smoothstreaming/gstmssmanifest.c: + * ext/smoothstreaming/gstmssmanifest.h: + mssdemux: add live support + Implement the functions of adaptivedemux to have live support + enabled. This allows mssdemux to refresh the Manifest periodically + +2014-12-04 15:52:44 -0500 Matthew Bader + + * sys/dshowdecwrapper/CMakeLists.txt: + * sys/dshowdecwrapper/gstdshowaudiodec.cpp: + * sys/dshowdecwrapper/gstdshowaudiodec.h: + * sys/dshowdecwrapper/gstdshowdecwrapper.h: + * sys/dshowdecwrapper/gstdshowvideodec.cpp: + * sys/dshowdecwrapper/gstdshowvideodec.h: + dshowdecwrapper: Port to 1.x + https://bugzilla.gnome.org/show_bug.cgi?id=740945 + +2014-12-01 16:40:24 -0300 Reynaldo H. Verdejo Pinochet + + * configure.ac: + * sys/vcd/vcdsrc.c: + vcdsrc: port to 1. + https://bugzilla.gnome.org/show_bug.cgi?id=547661 + +2014-12-04 12:21:04 -0300 Thiago Santos + + * ext/smoothstreaming/gstmssmanifest.c: + mssdemux: fix getting current position in segments when after last one + For live streams this makes a difference when resyncing after a + Manifest refresh, otherwise it doesn't know where to restart + +2014-12-02 23:27:29 -0300 Thiago Santos + + * ext/smoothstreaming/gstmssmanifest.c: + mssdemux: support manifests with repetition fragments + Read the "r" attribute from fragments to support fragments nodes + that use repetition to have a shorter Manifest xml. + Instead of doing: + + + You can use: + + +2014-11-22 01:01:50 -0300 Thiago Santos + + * ext/smoothstreaming/Makefile.am: + * ext/smoothstreaming/gstmssdemux.c: + * ext/smoothstreaming/gstmssdemux.h: + * ext/smoothstreaming/gstmssmanifest.c: + * ext/smoothstreaming/gstmssmanifest.h: + mssdemux: port to adaptivedemux base class + +2014-12-03 16:13:17 -0500 Matthew Bader + + * sys/dshowsrcwrapper/gstdshowaudiosrc.cpp: + * sys/dshowsrcwrapper/gstdshowvideosrc.cpp: + dshowsrcwrapper: Fixed null caps comparison + https://bugzilla.gnome.org/show_bug.cgi?id=741086 + +2014-12-04 02:12:08 -0200 Flávio Ribeiro + + * ext/hls/gsthlssink.c: + * ext/hls/gstm3u8playlist.c: + hlssink: remove unnecessary title on EXTINF tag + According to the HLS spec the remainder of the line following + the comma on EXTINF tag is not required. This patch removes + the fake title and saves some bytes on the playlist. + https://bugzilla.gnome.org/show_bug.cgi?id=741096 + +2014-12-04 20:37:51 +0530 Ramprakash Jelari + + * ext/gl/gstopengl.c: + gl: Rename gst-launch-0.10 to gst-launch-1.0 in docs + +2014-12-04 15:42:55 +0100 Sebastian Dröge + + * sys/decklink/Makefile.am: + decklink: Fix make distcheck + And properly dist all headers and source files. + +2014-12-03 18:31:06 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: release threads waiting for manifest update on shutdown + For live streams, also unblock threads that might be waiting for a manifest + update when stopping the pipeline. + Also add some more debug messages + +2014-12-03 13:52:07 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: use gst_task_stop instead of gst_task_pause + To avoid race conditions with gst_task_stop(); gst_task_join() with + another thread doing gst_task_pause(), the joining thread would be + waiting for the task to stop but it would never happen. So just + use gst_task_stop() everywhere to prevent more mutexes + +2014-12-03 12:48:42 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: fix deadlock when stopping streams + Remember to unlock the manifest's lock when leaving the download task. + +2014-12-03 16:01:11 +0100 Sebastian Dröge + + * sys/decklink/linux/DeckLinkAPIDispatch.cpp: + decklink: Fix compiler warnings with gcc in the dispatcher + +2014-12-03 15:30:43 +0100 Philippe Normand + + * gst-libs/gst/gl/gstglsyncmeta.h: + glsyncmeta: add G_END_DECLS + +2014-12-03 15:07:16 +0100 Sebastian Dröge + + * sys/decklink/win/DeckLinkAPI.h: + * sys/decklink/win/DeckLinkAPI_i.c: + decklink: Update Windows SDK headers to 10.3.1 + No idea where the DecklinkAPIDispatch.cpp comes from on Windows, + but this should still work. Will just become a problem once we + use other parts of the API. + +2014-12-03 14:42:43 +0100 Sebastian Dröge + + * sys/decklink/Makefile.am: + * sys/decklink/osx/DeckLinkAPI.h: + * sys/decklink/osx/DeckLinkAPIConfiguration.h: + * sys/decklink/osx/DeckLinkAPIDeckControl.h: + * sys/decklink/osx/DeckLinkAPIDiscovery.h: + * sys/decklink/osx/DeckLinkAPIDispatch-osx.cpp: + * 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 OS X SDK headers to 10.3.1 + +2014-12-03 14:39:13 +0100 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/DeckLinkAPIDispatch.cpp: + * sys/decklink/linux/DeckLinkAPIModes.h: + * sys/decklink/linux/DeckLinkAPITypes.h: + decklink: Update Linux SDK headers to 10.3.1 + +2014-12-03 10:06:09 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: remove unused error variable + CID #1256556 + +2014-12-03 09:45:58 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: remove more get_duration checks + Subclasses must implement get_duration function. If they do not know + the duration they can return GST_CLOCK_TIME_NONE + +2014-12-03 09:40:34 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: all subclasses must implement get_duration + CID #1256557 + +2014-12-02 23:29:20 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: make sure to always stop the stream on EOS + For On-Demand streams, always stop the tasks for streams that reached + EOS + +2014-12-03 08:02:58 +0000 Julien Isorce + + * gst-libs/gst/gl/gstglcontext.c: + glcontext: try cgl before glx + It was already done by commit + f506e80686eedc66912583db11914ec3f713b478 + but it has been broken by commit + 45ec777cea0e69b2597d1ec02b18ec31d618c920 + +2014-12-03 07:46:50 +0000 Julien Isorce + + * tests/check/elements/.gitignore: + tests: add glimagesink unit test to .gitignore + +2014-12-02 15:52:54 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + dashdemux: fix double unref of object + the datetime is already released by the end of the function + +2014-10-10 11:24:08 +0100 David Waring + + * ext/dash/gstdashdemux.c: + * ext/dash/gstmpdparser.c: + * ext/dash/gstmpdparser.h: + dashdemux: Find the current period in a live stream + Start from the correct period on a live stream + https://bugzilla.gnome.org/show_bug.cgi?id=737421 + +2014-12-02 10:06:00 +0000 David Waring + + * ext/dash/gstdashdemux.c: + dashdemux: Fix period selection for live streams + Fix period selection and properly error out when update cannot be done + https://bugzilla.gnome.org/show_bug.cgi?id=725298 + +2014-07-09 10:11:40 +0200 Edward Hervey + + * gst/mpegtsdemux/mpegtsbase.c: + mpegtbase: Improve last PCR detection + When dealing with random-access content (such as files), we initially + search for the last PCR in order to figure out duration and to handle + other position estimation such as those used in seeking. + Previously, the code looking for that last PCR would search in the last + 640kB of the file going forward, and stop at the first PCR encountered. + The problem with that was two-fold: + * It wouldn't really be the last PCR (it would be the first one within + those last 640kB. In case of VBR files, this would put off duration + and seek code slightly. + * It would fail on files with bitrates higher than 52Mbit/s (not common) + Instead this patch modifies that code by: + * Scanning over the last 2048kB (allows to cope with streams up to 160Mbit/s) + * Starts by the end of the file, going over chunks of 300 MPEG-TS packets + * Doesn't stop at the first PCR detected in a chunk, but instead records all + of them, and only stop searching if there was "at least" one PCR within + that chunk + This should improve duration reporting and seeking operations on VBR files + https://bugzilla.gnome.org/show_bug.cgi?id=708532 + +2014-12-01 11:47:29 +0100 Edward Hervey + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: Only activate warning for real streams + streams with stream_type 0xff are PCR-only streams, it's normal not + to have a pad for them. + +2014-12-01 12:14:20 +0100 Jürgen Slowack + + * ext/x265/gstx265enc.c: + * ext/x265/gstx265enc.h: + x265enc: add qp property + QP property enables CQP mode and sets the QP for P slices. + +2014-12-01 10:59:32 +0100 Thijs Vermeir + + * tests/examples/gl/cocoa/cocoa-videooverlay.m: + gl/cocoa: Fix example on Mac OS X 10.10 + Using NSApp directly seems to confuse something, as the compiler + was expecting an id. Switched to using + [NSApplication sharedApplication], and specified the delegate + protocol on the window class as well. + Similar to https://bugzilla.gnome.org/show_bug.cgi?id=738740 + +2014-12-01 10:27:43 +0100 Edward Hervey + + * gst-libs/gst/Makefile.am: + * gst-libs/gst/adaptivedemux/Makefile.am: + gst-libs: Fix dependency build + adaptivedemux depends on uridownloader and video depends on base + +2014-12-01 09:48:41 +0100 Thomas Klausner + + * configure.ac: + configure: Do comparisons in a portable way with = instead of == + https://bugzilla.gnome.org/show_bug.cgi?id=740953 + +2014-11-30 21:54:38 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: reworking live manifest update wait + Check if the stream is live before checking if it is EOS as a live + stream might be considered EOS when it just needs to wait for a manifest + update to proceed with the next fragments + +2014-11-29 10:28:09 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: fix manifest update locking + To avoid unlocking a not locked mutex + +2014-11-29 10:27:25 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Fix segment for manifests that won't start at 0 + For live streams, the manifest might start at an advanced position. Avoid + using segment start=0 to have playback start immediately + +2014-11-29 10:26:31 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + dashdemux: replace the streams with the new mpd client's streams + Otherwise it won't update with the new segment info from the playlist + update + +2014-11-29 10:25:45 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + dashdemux: when updating the manifest, set the uri + This will allow dashdemux to create the correct full path URIs to + continue downloading fragments + +2014-08-26 16:45:46 -0300 Thiago Santos + + * ext/dash/Makefile.am: + * ext/dash/gstdashdemux.c: + * ext/dash/gstdashdemux.h: + * ext/dash/gstmpdparser.c: + * ext/dash/gstmpdparser.h: + dashdemux: port to adaptive demux + +2014-11-22 17:27:03 -0300 Thiago Santos + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: also clear flushing state on pads before restarting + During flushing seeks the flushing flow return will propagate up to the + source element and all pads are going to have the flushing flag set. + So before restarting also remove that flag together with the EOS one. + We don't do that when pushing the flush stop event because our event + handler for the proxypad will drop all events. + +2014-11-21 20:42:09 -0300 Thiago Santos + + * configure.ac: + * gst-libs/gst/Makefile.am: + * gst-libs/gst/adaptivedemux/Makefile.am: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: + adaptivedemux: add adaptivedemux base class + https://bugzilla.gnome.org/show_bug.cgi?id=735848 + +2014-11-29 13:16:56 +0000 Tim-Philipp Müller + + * gst/gdp/gstgdppay.c: + gdppay: minor caps event payloading optimisation + Avoid creation of buffer we're just going to throw + away two lines later anyway. + +2014-11-29 13:15:36 +0000 Tim-Philipp Müller + + * gst/gdp/gstgdppay.c: + gdppay: fix some memory leaks + +2014-11-30 00:42:17 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcontext.c: + glcontext: require GL_ARB_ES2_compatibility for opengl3 + until we generate gl3 compliant shaders + https://bugzilla.gnome.org/show_bug.cgi?id=740012 + +2014-11-30 00:18:55 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + glimagesink: properly handle the !opengl3 case + https://bugzilla.gnome.org/show_bug.cgi?id=740012 + +2014-11-28 17:31:07 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinksink.cpp: + decklinksink: Drop too late frames and start scheduled playback at the correct time + +2014-11-28 16:04:54 +0000 Tim-Philipp Müller + + * ext/gl/gstglfilterapp.c: + glfilterapp: fix unused variable compiler warning + When GST_GL_HAVE_OPENGL is 0 or unset. + +2014-11-28 15:06:42 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinksrc.cpp: + decklinksrc: For the source, unsetting the callback already deletes it + +2014-11-14 11:19:45 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinksink.cpp: + decklinksink: Wait for the pipeline clock instead of the decklink clock + Otherwise we're going to starve other elements if the decklink clock + is slower than the pipeline clock, or starts much later. + Of course this will still cause problems if the decklink clock and ours are + completely out of sync, or running at a very different rate. But this at least + works better now. + +2014-11-14 10:58:53 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinksink.cpp: + * sys/decklink/gstdecklinksink.h: + decklinksink: Schedule video frames according to their timestamps, not according to a frame counter + +2014-11-14 11:02:01 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinksink.cpp: + decklinksink: Add some FIXME comments about synchronization + +2014-11-14 10:38:33 +0100 Sebastian Dröge + + * sys/decklink/capture.cpp: + * sys/decklink/gstdecklinksrc.cpp: + * sys/decklink/gstdecklinksrc.h: + decklinksrc: Sample the pipeline clock for the timestamps instead of coming up with our own + If we just count the frames and calculate timestamps from that, all frames + will arrive late in the sink as we have a live source here. Instead take + the pipeline clock at capture time as reference. + +2014-11-28 14:50:18 +0100 Sebastian Dröge + + * sys/decklink/capture.h: + * sys/decklink/gstdecklinksrc.cpp: + * sys/decklink/gstdecklinksrc.h: + decklinksrc: Handle callback/delegate object the same way as in the sink + Potentially fixes crashes. + +2014-11-28 14:46:06 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinksink.cpp: + * sys/decklink/gstdecklinksink.h: + decklinksink: Don't crash when going to READY another time + We have to handle the callback object a bit different: + a) it needs a virtual destructor + b) we need to set the callback to NULL when we're done with the output + c) create a new one every time + https://bugzilla.gnome.org/show_bug.cgi?id=740616 + +2014-11-28 10:23:55 +0100 Sebastian Dröge + + * gst/compositor/compositor.c: + compositor: Failure to map a video frame is not just a warning + Also add some warning debug output if mapping a output buffer fails + +2014-11-28 10:22:44 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Failure to map a video frame is not just a warning + +2014-11-28 14:08:40 +1100 Matthew Waters + + * ext/gl/Makefile.am: + glfilterapp is now available on gles2 as well so build it + +2014-11-28 13:04:21 +1100 Matthew Waters + + * configure.ac: + * gst-libs/gst/gl/glprototypes/gstgl_compat.h: + gl: fixup compat definition for GLuint64 for OS X + +2014-11-28 11:56:10 +1100 Matthew Waters + + * gst-libs/gst/gl/glprototypes/gstgl_compat.h: + gl: add compat definition for GLuint64 for android + ../../../../gst-libs/gst/gl/glprototypes/sync.h:41:23: error: unknown type name 'GLuint64' + GLuint64 timeout)) + +2014-11-28 02:21:49 +0900 Danny Song + + * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c: + basecamerasrc: fix typo in docs + https://bugzilla.gnome.org/show_bug.cgi?id=740815 + +2014-11-28 11:11:43 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglsyncmeta.c: + glsync: fix build with desktop gl + +2014-11-28 11:04:22 +1100 Matthew Waters + + * ext/gl/gstglcolorscale.c: + gl: fix typo in #if + GST_GL_API_HAVE_OPENGL doesn't exist + +2014-11-28 10:59:46 +1100 Matthew Waters + + * ext/gl/effects/gstgleffectssources.h: + * ext/gl/gstglcolorscale.c: + * ext/gl/gstgleffects.c: + * gst-libs/gst/gl/gstglsyncmeta.c: + gl: fix various build errors without desktop gl + +2014-11-28 10:03:18 +1100 Matthew Waters + + * gst-libs/gst/gl/gstgldisplay.c: + gldisplay: fix build error + gstgldisplay.c:234:541: error: 'return' with no value, in function returning non-void [-Werror] + g_return_if_fail (GST_IS_GL_DISPLAY (display)); + +2014-11-27 21:05:45 +1100 Matthew Waters + + * docs/libs/gst-plugins-bad-libs-sections.txt: + * ext/gl/gstglbumper.c: + * ext/gl/gstglcolorscale.c: + * ext/gl/gstgldeinterlace.c: + * ext/gl/gstgldifferencematte.c: + * ext/gl/gstgleffects.c: + * ext/gl/gstglfilterapp.c: + * ext/gl/gstglfilterblur.c: + * ext/gl/gstglfiltercube.c: + * ext/gl/gstglfilterglass.c: + * ext/gl/gstglfilterlaplacian.c: + * ext/gl/gstglfilterreflectedscreen.c: + * ext/gl/gstglfiltershader.c: + * ext/gl/gstglfiltersobel.c: + * ext/gl/gstglimagesink.c: + * ext/gl/gstglmixer.c: + * ext/gl/gstglmixer.h: + * ext/gl/gstglmosaic.c: + * ext/gl/gstgloverlay.c: + * ext/gl/gstgltestsrc.c: + * ext/gl/gstgltransformation.c: + * ext/gl/gstglvideomixer.c: + * gst-libs/gst/gl/gstglcontext.c: + * gst-libs/gst/gl/gstgldisplay.c: + * gst-libs/gst/gl/gstgldisplay.h: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + gldisplay: implement runtime GL api filtering + Needed so that the pipeline/application can limit the choice of GL api + to what it supports + +2014-11-27 16:17:50 +1100 Matthew Waters + + * configure.ac: + * ext/gl/Makefile.am: + * ext/gl/gstglfiltercube.c: + * ext/gl/gstglfiltercube.h: + * ext/gl/gstglimagesink.c: + * ext/gl/gstopengl.c: + * gst-libs/gst/gl/gstglapi.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: + * tests/examples/gl/generic/cube/main.cpp: + * tests/examples/gl/generic/cubeyuv/main.cpp: + * tests/examples/gl/generic/doublecube/main.cpp: + * tests/examples/gl/generic/recordgraphic/main.cpp: + * tests/examples/gl/qt/mousevideooverlay/pipeline.cpp: + * tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp: + * tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp: + * tests/examples/gl/sdl/sdlshare.c: + gl: remove the use of glu + +2014-10-17 15:22:24 +0200 Matthew Waters + + * configure.ac: + * ext/gl/gstglimagesink.c: + * ext/gl/gstglmixer.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/Makefile.am: + * gst-libs/gst/gl/gl.h: + * gst-libs/gst/gl/glprototypes/gstgl_compat.h: + * gst-libs/gst/gl/glprototypes/sync.h: + * gst-libs/gst/gl/gstglbufferpool.c: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglsyncmeta.c: + * gst-libs/gst/gl/gstglsyncmeta.h: + gl: add a sync meta for synchronizing across GL contexts + A context can create a GLsync object that can be waited on in order + to ensure that GL resources created in one context are able to be + used in another shared context without any chance of reading invalid + data. + This meta would be placed on buffers that are known to cross from + one context to another. The receiving element would then wait + on the sync object to ensure that the data to be used is complete. + +2014-10-17 15:08:29 +0200 Matthew Waters + + * gst-libs/gst/gl/glprototypes/Makefile.am: + * gst-libs/gst/gl/glprototypes/all_functions.h: + * gst-libs/gst/gl/glprototypes/sync.h: + glprototypes: add sync function definitions + +2014-11-17 18:06:20 +1100 Matthew Waters + + * ext/gl/gstglfilterapp.c: + * ext/gl/gstopengl.c: + glfilterapp: port to gles2 and gl3 + +2014-11-14 23:24:48 +1100 Matthew Waters + + * ext/gl/gstgloverlay.c: + * ext/gl/gstgloverlay.h: + gloverlay: support gl3 + +2014-11-14 00:20:10 +1100 Matthew Waters + + * ext/gl/gstglvideomixer.c: + * ext/gl/gstglvideomixer.h: + glvideomixer: add support for gl3 + +2014-11-13 21:30:38 +1100 Matthew Waters + + * ext/gl/gstglfiltercube.c: + * ext/gl/gstglfiltercube.h: + glfiltercube: add a gl3 code path + +2014-11-13 15:09:04 +1100 Matthew Waters + + * ext/gl/gstglfiltershader.c: + glfiltershader: support gl3 + +2014-11-13 12:12:46 +1100 Matthew Waters + + * ext/gl/gstgltransformation.c: + * ext/gl/gstgltransformation.h: + gltransformation: support gl3 + +2014-11-12 23:48:32 +1100 Matthew Waters + + * ext/gl/effects/gstgleffectidentity.c: + * ext/gl/effects/gstgleffectmirror.c: + * ext/gl/effects/gstgleffectsqueeze.c: + * ext/gl/effects/gstgleffectssources.c: + gleffects: support gl3 whereever gles2 is supported + +2014-11-12 23:47:13 +1100 Matthew Waters + + * ext/gl/gstglcolorscale.c: + * ext/gl/gstglcolorscale.h: + glcolorscale: support gl3 + +2014-11-12 22:49:11 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + glfilter: add a gl3 code path using vao's and vbo's + +2014-11-12 22:48:04 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglframebuffer.c: + glframebuffer: add support for gl3 + +2014-10-23 22:35:20 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglcolorconvert.h: + glcolorconvert: add support for gl3 + +2014-10-21 22:18:51 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + glimagesink: use vbo's and vao's for gl3 + +2014-10-21 19:30:38 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglshader.c: + * gst-libs/gst/gl/gstglshader.h: + glshader add support for gl3 + +2014-10-19 08:09:37 +0400 Matthew Waters + + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/x11/gstglcontext_glx.c: + glx: ask for a GL3 core context + +2014-11-27 21:22:44 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Minor cleanup + +2014-11-26 15:02:14 +0100 Sebastian Dröge + + * gst/compositor/compositor.c: + * gst/compositor/compositorpad.h: + compositor: Implement rescaling of the input via pad properties + compositor has now the same interface as glvideomixer. + +2014-11-27 20:34:25 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Copy over more fields from the relevant video-info + gst_video_info_set_format() will reset the complete video-info, but + we want to keep values like the PAR, colorimetry and chroma site. + Otherwise we risk setting different values on the srcpad caps than + what is actually inside the buffers. + +2014-11-27 20:25:29 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Directly use the converters video-info instead of recalculating it + +2014-11-27 19:52:20 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Do source pad negotiation only from the aggregated function + Otherwise we might negotiate from the sinkpad streaming threads at + the same time as on the srcpad streaming thread, and then all kinds + of crazy bugs happen that don't make any sense at all. + +2014-11-27 18:46:03 +0100 Thibault Saunier + + * gst-libs/gst/video/gstvideoaggregator.c: + * gst-libs/gst/video/gstvideoaggregatorpad.h: + videoconvert: Hide all conversion related fields + And do not delay the setting of the conversion_info + https://bugzilla.gnome.org/show_bug.cgi?id=740768 + +2014-11-27 16:43:39 +0100 Thibault Saunier + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Do not try to resize a buffer to a negative size on EOS + +2014-11-26 18:24:05 +0100 Thibault Saunier + + * ext/gl/gstglmixer.c: + * gst-libs/gst/video/gstvideoaggregator.c: + * gst-libs/gst/video/gstvideoaggregator.h: + * gst-libs/gst/video/gstvideoaggregatorpad.h: + videoaggregator: Expose vmethods to set converters and prepare/clean frames + This gives more flexibility to the subclasses and permits to remove the + GstVideoAggregatorClass->disable_frame_conversion ugly API. + WARNING: This breaks the API as it removes the disable_frame_conversion + field + API: + + GstVideoAggregatorClass->find_best_format + + GstVideoAggregatorPadClass->set_format + + GstVideoAggregatorPadClass->prepare_frame + + GstVideoAggregatorPadClass->clean_frame + - GstVideoAggregatorClass->disable_frame_conversion + https://bugzilla.gnome.org/show_bug.cgi?id=740768 + +2014-11-26 15:41:37 +0100 Thibault Saunier + + * gst/debugutils/gstwatchdog.c: + * gst/debugutils/gstwatchdog.h: + watchdog: Handle FLUSHING seek events even in PAUSED state + https://bugzilla.gnome.org/show_bug.cgi?id=740757 + +2014-11-26 15:43:12 +0100 Thibault Saunier + + * gst/debugutils/gstwatchdog.c: + * gst/debugutils/gstwatchdog.h: + watchdog: Properly handle PAUSED state + In PAUSED state we should just preroll, so get one buffer + and stop monitoring. + https://bugzilla.gnome.org/show_bug.cgi?id=740757 + +2014-10-31 11:01:47 +0100 Thibault Saunier + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Let a full renegotiation happen after removing the last pad + With the current code, we will end up setting the preferred downstream + format as the srcpad format, and it might not be accepted by the next + sinkpad to be added. We should instead let the next sinkpad reconfigure + everything. + +2014-11-27 13:40:56 +0100 Alessandro Decina + + * sys/applemedia/vtenc.c: + * sys/applemedia/vtenc.h: + vtenc: add quality property + +2014-11-27 13:33:07 +0100 Alessandro Decina + + * sys/applemedia/Makefile.am: + * sys/applemedia/vtenc.c: + vtenc: set profile and level in caps + +2014-11-27 18:09:58 +0100 Sebastian Dröge + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: Unref buffer with the correct function + +2014-11-27 18:09:14 +0100 Sebastian Dröge + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: Handle failure of memory allocation gracefully + +2014-11-27 18:04:58 +0100 Sebastian Dröge + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: Use g_try_malloc() in the appropriate places + g_malloc() aborts if allocation fails, it's pointless to check against NULL + afterwards. That's why g_try_malloc() exists. + +2014-11-27 17:11:13 +0100 Edward Hervey + + * common: + Automatic update of common submodule + From f32cfcd to ef1ffdc + +2014-11-27 10:48:43 +0800 Wang Xin-yu (王昕宇) + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: support RGB16/BGR16 video format download + https://bugzilla.gnome.org/show_bug.cgi?id=740801 + +2014-11-27 13:01:19 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: only attempt a resize when the window has already resized + fixes a black startup screen on wayland + +2014-11-27 11:47:38 +1100 Matthew Waters + + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c: + * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h: + gl/wayland: implement resizing the window using the right mouse button + +2014-11-26 22:05:10 +0530 Arun Raghavan + + * common: + * configure.ac: + build: Use newer AX_PTHREAD instead of ACX_PTHREAD + +2014-11-26 14:36:42 +0000 Tim-Philipp Müller + + * configure.ac: + * sys/Makefile.am: + * sys/qtwrapper/Makefile.am: + * sys/qtwrapper/audiodecoders.c: + * sys/qtwrapper/codecmapping.c: + * sys/qtwrapper/codecmapping.h: + * sys/qtwrapper/imagedescription.c: + * sys/qtwrapper/imagedescription.h: + * sys/qtwrapper/qtutils.c: + * sys/qtwrapper/qtutils.h: + * sys/qtwrapper/qtwrapper.c: + * sys/qtwrapper/qtwrapper.h: + * sys/qtwrapper/videodecoders.c: + Remove unported and obsolete qtwrapper plugin code + QuickTime is deprecated, we want new plugins based + on avfoundation (osx) or dxva/mediafoundation (windows). + +2014-11-27 01:27:19 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: support fixed dimensions on both sides of the element + Fixes: + width=320,height=240 ! glfilter ! width=800,height=600 + width=230,height=240 ! glfilter ! width=600 + ... ! glfilter ! width=800 + +2014-11-25 13:33:07 +1100 Matthew Waters + + * configure.ac: + gl: fix automagic disabling of desktop GL + If configure finds GL + GLES2 but the user passes --enable-gles2 and + the two GL API's cannot be built against together, configure was still + allowing the desktop GL stack to be built. + +2014-11-26 13:06:21 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Also sync pad properties to the controller if conversion is disabled + +2014-11-26 12:35:52 +0100 Sebastian Dröge + + * gst/compositor/compositor.c: + * gst/compositor/compositorpad.h: + compositor: Remove unused zorder pad property + It's handled in videoaggregator already. + +2014-11-23 23:49:50 +0000 Julien Isorce + + * gst-libs/gst/codecparsers/gsth265parser.c: + * gst-libs/gst/codecparsers/nalutils.h: + codecparsers: fix some compiler warnings + i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 + "warning: comparison is always true due to limited + range of data type" + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740673 + +2014-11-25 18:53:55 +0100 Sebastian Dröge + + * gst/compositor/compositor.c: + compositor: GstVideoMeta is supported just fine, tell upstream about that + Also provide a GstVideoBufferPool to upstream just in case. + +2014-11-24 13:25:55 +0000 Tim-Philipp Müller + + * sys/winks/gstksvideodevice.c: + * sys/winks/ksvideohelpers.c: + winks: fix debug message format issues + And print last bits of GUID properly instead + of printing nonsense. + https://bugzilla.gnome.org/show_bug.cgi?id=733055 + +2014-11-25 08:24:16 +0000 Julien Isorce + + * gst-libs/gst/mpegts/gst-dvb-descriptor.c: + * gst-libs/gst/mpegts/gstmpegtsdescriptor.c: + mpegts: fix some compiler warnings + i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 + "warning: comparison is always true due to limited + range of data type" + https://bugzilla.gnome.org/show_bug.cgi?id=740674 + +2014-11-24 19:53:56 +0000 Tim-Philipp Müller + + * configure.ac: + configure: use pkg-config to detect X11 + Like we do in -base and -good now. + https://bugzilla.gnome.org/show_bug.cgi?id=731047 + +2014-11-24 19:21:29 +0100 Sebastian Dröge + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: Use a fixed number of slices by default + +2014-11-24 19:16:20 +0100 Sebastian Dröge + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: Add some more encoding properties + Merged from https://github.com/EricssonResearch/openwebrtc-gst-plugins + based on a patchset by Robert Swain + +2014-11-24 18:40:53 +0530 Ramprakash Jelari + + * gst-libs/gst/gl/gstglcontext.c: + glcontext: Fix unused variable warning by moving declaration where it is actually used + +2014-11-24 14:07:19 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + decklink: Add support for 2k modes + +2014-11-24 13:56:56 +0100 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + decklink: HD1080i50 is 50 frames per second + +2014-11-24 17:58:42 +0530 Ramprakash Jelari + + * gst/mpegtsdemux/mpegtspacketizer.c: + mpegtspacketizer: Fix format string compiler warning + +2014-11-24 17:18:44 +0530 Ramprakash Jelari + + * gst-libs/gst/mpegts/gst-dvb-section.c: + dvbsection: Fix format string compiler warning + +2014-11-24 16:54:42 +0530 Ramprakash Jelari + + * gst-libs/gst/mpegts/gstmpegtsdescriptor.c: + mpegtsdescriptor: Fix format string compiler warning + gstmpegtsdescriptor.c:778:16: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat] + +2014-11-24 11:32:33 +0100 Sebastian Dröge + + * gst-libs/gst/gl/gstglupload.c: + glupload: Fix valid compiler warning + gstglupload.c:442:32: error: if statement has empty body [-Werror,-Wempty-body] + if (upload->texture_ids[i]); + ^ + +2014-11-24 10:43:23 +0100 Philippe Normand + + * gst-libs/gst/gl/egl/Makefile.am: + gl: ship the gstglcontext_egl.h header + It is required by gsteglimagememory.h. + https://bugzilla.gnome.org/show_bug.cgi?id=740611 + +2014-11-23 21:43:20 +0000 Tim-Philipp Müller + + * gst-libs/gst/gl/gstglshadervariables.c: + gl: shadervariables: make parsing of floats locale-independent + Floating point numbers are written differently in different + locales, e.g. in many countries 1/2 = 0,5 instead of 0.5, and + strtod will not be able to parse "0.5" correctly in such a + locale. + +2014-11-24 02:52:24 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglshadervariables.c: + glshadervariables: also trim \r as well as \n + +2014-11-05 20:18:06 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + * ext/gl/gstglmixer.c: + * gst-libs/gst/gl/egl/gsteglimagememory.c: + * gst-libs/gst/gl/egl/gsteglimagememory.h: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + * gst-libs/gst/gl/gstglupload.c: + * gst-libs/gst/gl/gstglupload.h: + * tests/check/libs/gstglupload.c: + glupload: rearchitecture for non GLMemory inputs/outputs + Allows other memory types to be implemented/returned/used by the caller. + +2014-11-14 10:55:14 +0900 Wonchul Lee + + * gst/rawparse/gstrawparse.c: + rawparse: send SEEKING query upstream first + Sometimes rawparse does not handle the seeking query + properly, the rawparse should send the query upstream + first. For example, upstream could support seeking in + TIME format (but not in BYTE format), so the BYTE format + seeking query that rawparse sends in push mode would + fail. + https://bugzilla.gnome.org/show_bug.cgi?id=722764 + +2014-11-21 15:46:49 +0100 Alessandro Decina + + * sys/applemedia/vtenc.c: + vtenc: let VT pick the bitrate by default + +2014-11-20 10:23:30 -0800 Aleix Conchillo Flaqué + + * ext/srtp/gstsrtpdec.c: + srtpdec: fix rtp/rtcp sink event memory leak + https://bugzilla.gnome.org/show_bug.cgi?id=740451 + +2014-11-20 16:04:34 +0100 Alessandro Decina + + * sys/applemedia/vtenc.c: + vtenc: set H264_Baseline_AutoLevel on OSX as well + +2014-11-20 15:50:18 +0100 Alessandro Decina + + * sys/applemedia/vtdec.c: + vtdec: disable the reorder queue for baseline streams + +2014-11-20 09:41:43 +0100 Sebastian Dröge + + * sys/applemedia/vtdec.c: + vtdec: Fix divide by zero in the picture buffer length calculation + +2014-11-20 09:13:58 +0530 Vineeth T M + + * ext/gl/gstglimagesink.c: + glimagesink: critical error while seek playback-test(stop state) + If we seek when media is in stop state, playback-test gives + critical error, since context of glimagesink is destroyed during stop. + But since context is not present, we need not handle send_event in glimagesink + Hence adding a condition to check if context is valid. + https://bugzilla.gnome.org/show_bug.cgi?id=740305 + +2014-11-19 17:17:06 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Unblock events/queries immediately if the pad is flushing + https://bugzilla.gnome.org/show_bug.cgi?id=740376 + +2014-11-19 17:15:02 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Drop serialized events/queries if the pad is flushing + https://bugzilla.gnome.org/show_bug.cgi?id=740376 + +2014-11-19 17:03:41 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Block serialized events/queries until the pad has consumed all buffers + Otherwise the caps of the pad might change while the subclass still works with + a buffer of the old caps, assuming the the current pad caps apply to that + buffer. Which then leads to crashes and other nice effects. + https://bugzilla.gnome.org/show_bug.cgi?id=740376 + +2014-11-19 17:02:40 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Don't output 0-duration buffers at the segment end + https://bugzilla.gnome.org/show_bug.cgi?id=740376 + +2014-11-19 17:03:33 +0100 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Fix typo in debug output + +2014-11-17 14:05:01 +1100 Matthew Waters + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: fix up QoS handling for live sources + Only attempt adaptive drop when we are not live + https://bugzilla.gnome.org/show_bug.cgi?id=739996 + +2014-11-17 14:00:10 +1100 Matthew Waters + + * docs/libs/gst-plugins-bad-libs-sections.txt: + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + aggregator: add _get_latency() for subclass usage + API: gst_aggregator_get_latency + https://bugzilla.gnome.org/show_bug.cgi?id=739996 + +2014-11-17 09:36:52 +0530 Vineeth T M + + * gst-libs/gst/gl/gstglcontext.c: + glcontext: build errors when GST_GL_HAVE_OPENGL is 0 + Moving variables within #if GST_GL_HAVE_OPENGL, which are not going to be used otherwise. + and which are needed only when OpenGl is present + https://bugzilla.gnome.org/show_bug.cgi?id=740235 + +2014-11-17 11:10:35 +0200 Sreerenj Balachandran + + * tests/examples/opencv/gsthanddetect_test.c: + examples: relicense opencv gsthanddetect_test to LGPLv2+ + The GPL3 license header was copy'n'pasted from a + neighbouring source file by mistake, the original + code was not GPL3 licensed, but fell under the + default GStreamer license, which is LGPLv2+. + https://bugzilla.gnome.org/show_bug.cgi?id=685655 + +2014-11-17 18:50:28 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: add read-only context property + +2014-11-17 18:50:04 +1100 Matthew Waters + + * ext/gl/gstglmixer.c: + glmixer: add read-only context property + +2014-11-11 17:08:25 +0900 Hyunjun Ko + + * tests/examples/opencv/gst_element_print_properties.c: + opencv-example: Use g_snprintf instead of sprintf + https://bugzilla.gnome.org/show_bug.cgi?id=739846 + +2014-11-16 20:32:56 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: drop explicit comparisons against 0 for true/false + +2014-11-16 11:00:14 +0100 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: Only use convertRectToBacking on OSX >= 10.7 + It does not exist before and older versions also don't have + support for HiDPI displays anyway. + https://bugzilla.gnome.org/show_bug.cgi?id=740201 + +2014-11-16 10:57:55 +0100 Sebastian Dröge + + * configure.ac: + * gst-libs/gst/gl/gstglapi.h: + gl: Use numeric OSX version instead of the macro + The macro is not defined on older OSX versions and evaluates to 0. + https://bugzilla.gnome.org/show_bug.cgi?id=740201 + +2014-11-15 21:59:48 +0000 Tim-Philipp Müller + + * sys/dvb/dvbbasebin.c: + dvbbasebin: fix possible crash by passing 64 bits for 64-bit queue property + https://bugzilla.gnome.org/show_bug.cgi?id=740191 + +2014-11-14 10:40:31 +0100 Sebastian Dröge + + * sys/decklink/capture.cpp: + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklinksrc.cpp: + decklink: Fix indention + +2014-11-10 10:01:24 +0100 Gwenole Beauchesne + + * gst-libs/gst/codecparsers/gsth264parser.c: + codecparsers: h264: fix derivation of MaxPicNum variable. + The logic to compute the MaxPicNum variable was reversed. In paricular, + MaxPicNum is double MaxFrameNum only if field_pic_flag is set to 1. + https://bugzilla.gnome.org/show_bug.cgi?id=739291 + +2014-11-13 12:01:25 +0100 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: Don't override the application delegate + Otherwise interesting things will happen in Cocoa applications, like + infinite event loops that block the NSApplication loop forever. + This was only needed for GNUStep and thus can safely be removed now. + +2014-11-13 11:58:07 +0100 Sebastian Dröge + + * configure.ac: + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + * tests/examples/gl/cocoa/cocoa-videooverlay.m: + gl/cocoa: Remove GNUStep support + Until gcc and GNUStep properly support Objective-C blocks and other + "new" features of Objective-C we can't properly support them without + making the code much more ugly. + https://bugzilla.gnome.org/show_bug.cgi?id=739152 + +2014-11-12 18:06:45 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosink.c: + * gst/inter/gstinteraudiosink.h: + interaudiosink: Make sure to store at least period-time samples at once in the adapter + It's better to create some more silence than having the source pull multiple + short buffers out of the adapter and insert silence between them. + +2014-11-12 16:45:12 +0100 Alessandro Decina + + * sys/applemedia/vtenc.c: + vtenc: fix build on iOS + +2014-11-12 15:35:36 +0100 Alessandro Decina + + * sys/applemedia/coremediabuffer.c: + coremediabuffer: set ->pixel_buf for CVPixelBuffer buffers + Fix a bug for which we never actually set ->pixel_buf to non-NULL for + CVPixelBuffer buffers. + +2014-06-06 13:57:30 +0100 Vincent Penquerc'h + + * ext/faad/gstfaad.c: + faad: set channel positions using the appropriate API + https://bugzilla.gnome.org/show_bug.cgi?id=731038 + +2014-11-12 13:58:56 +0100 Sebastian Dröge + + * gst/inter/gstintervideosrc.c: + intervideosrc: Stop showing the current frame after 1 second, not after 30 frames + +2014-11-12 09:41:53 +0000 Julien Isorce + + * tests/check/Makefile.am: + tests: add CFLAGS and LADD for glimagesink unit test + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732694 + +2014-11-12 11:52:58 +0100 Sebastian Dröge + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: Add new enable-frame-skip property and disable it by default + Otherwise e.g. videotestsrc ! openh264enc ! ... will drop every second frame + because otherwise the target bitrate can't be reached without loosing too + much quality. + +2014-11-12 09:59:53 +0100 Alessandro Decina + + * sys/applemedia/vtenc.c: + vtenc: fix compilation on < 10.9 + +2014-11-12 11:44:07 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: don't set the upload to NULL on the drain query + https://bugzilla.gnome.org/show_bug.cgi?id=732694 + +2014-11-11 17:04:48 +0900 Hyunjun Ko + + * gst-libs/gst/gl/gstglwindow.c: + gl: Correct invalid comment text + +2014-11-11 23:54:44 +0000 Julien Isorce + + * tests/check/Makefile.am: + * tests/check/elements/glimagesink.c: + gl: add unit test that checks for glimagesink drain query handling + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732694 + +2014-11-11 23:49:59 +0000 Julien Isorce + + * ext/gl/gstglimagesink.c: + glimagesink: release stored buffers on drain query + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732694 + +2014-11-11 23:43:42 +0000 Julien Isorce + + * gst-libs/gst/gl/gstglwindow.c: + gl: do not raise a critical msg if the backend does not handle window events + Fix "assertion 'window_class->handle_events != NULL' failed" + if not using a X11 window. + +2014-11-11 18:01:54 +0100 Alessandro Decina + + * sys/applemedia/vtenc.c: + vtenc: enable the hw encoder on OSX + +2014-11-11 12:00:30 +0100 Sebastian Dröge + + * sys/decklink/gstdecklinksink.cpp: + decklinksink: Check the correct variable for failure + If we can't get an output, we would otherwise just use it later and crash. + +2014-11-11 11:18:19 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosrc.c: + interaudiosrc: Make sure we have a writable buffer before we start changing metadata + +2014-11-11 11:15:35 +0100 Sebastian Dröge + + * gst/inter/gstintervideosrc.c: + intervideosrc: Set the GAP flag on repeated buffers + videorate does the same and it allows optimizations downstream. + +2014-11-11 11:12:55 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosrc.c: + interaudiosrc: Set the GAP flag on buffers that only contain silence + +2014-11-11 14:23:55 +1100 Matthew Waters + + * ext/gl/gstglmixer.c: + * gst-libs/gst/gl/gstglfilter.c: + gl: remove the width/height fields from the caps to support frame resizing + It was previously only occuring with sysmem caps features + https://bugzilla.gnome.org/show_bug.cgi?id=739334 + +2014-11-10 17:42:20 +0100 Aurélien Zanelli + + * gst-libs/gst/codecparsers/gsth264parser.h: + h264parser: fix GstH264ParserResult documentation typo + https://bugzilla.gnome.org/show_bug.cgi?id=739906 + +2014-11-10 16:01:25 +0100 Sebastian Dröge + + * tests/check/elements/.gitignore: + tests: Add x265enc unit test to .gitignore + +2014-11-09 20:53:34 +0000 Tim-Philipp Müller + + * gst/videoparsers/gstpngparse.c: + pngparse: optimise reading of png files + Read PNG data chunk in one go by letting the parser + base class know the size we need, so that it doesn't + drip-feed us small chunks of data (causing a lot of + reallocs and memcpy in the process) until we have + everything. + Improves parsing performance of very large PNG files + (65MB) from ~13 seconds to a couple of millisecs. + https://bugzilla.gnome.org/show_bug.cgi?id=736176 + +2014-11-09 19:23:47 +0000 Tim-Philipp Müller + + * tests/examples/mpegtsmux/mpts_test2.c: + examples: remove pointless mpegtsmux example + Serves no purpose, is not even hooked up to the + build system, has hard coded file names and paths, + and can easily be replaced with a gst-launch line. + https://bugzilla.gnome.org/show_bug.cgi?id=739844 + +2014-11-09 10:25:25 +0100 Sebastian Dröge + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: Don't pretend to support reconfiguration + We will run into an assertion in set_caps() if we try to change + caps while the source is already running. Don't try to find new + caps in GstBaseSrc::negotiate() to prevent caps changes. + +2014-10-09 13:11:48 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: set seq_layer_sent to FALSE on reset() + https://bugzilla.gnome.org/show_bug.cgi?id=738526 + +2014-10-09 13:03:56 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + * gst/videoparsers/gstvc1parse.h: + vc1parse: implement asf to *-frame-layer stream-format + This commit add an helper to convert a frame to frame-layer format and + use it to implement these two stream-format conversion: + - asf --> sequence-layer-frame-layer + - asf --> frame-layer + In simple/main profile, we basically have a raw frame, so building a + frame layer isn't too complicated. But in advanced profile, the first + frame-layer should contain sequence-header, entrypoint, and frame and + each keyframe should contain entrypoint, so we have to handle these + carefully. + https://bugzilla.gnome.org/show_bug.cgi?id=738526 + +2014-10-09 10:38:40 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: check output format at negotiation time + Add an helper to check that output stream-format is coherent with + profile and header-format. It also check if we know how to do the + conversion if the input stream-format differs from selected + output-format. + So, in case output stream-format is not allowed, it will now fail at + negotiation rather than in pre_push_frame. + https://bugzilla.gnome.org/show_bug.cgi?id=738526 + +2014-09-30 15:35:38 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: add some asf related stream-format conversions + This commit introduces an helper to convert an ASF frame to BDUs format with + startcodes and use this helper to implements following stream-format + conversions: + - asf --> bdu + - asf --> sequence-layer-bdu + - asf --> sequence-layer-raw-frame + https://bugzilla.gnome.org/show_bug.cgi?id=738526 + +2014-09-30 15:28:55 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + * gst/videoparsers/gstvc1parse.h: + vc1parse: add some simple stream-format conversion + It add the support of following stream-format conversion: + - bdu --> sequence-layer-bdu + - bdu-frame --> sequence-layer-bdu-frame + - frame-layer --> sequence-layer-frame-layer + For these conversion, the only requirements is to push a sequence-layer + buffer prior to data. + https://bugzilla.gnome.org/show_bug.cgi?id=738526 + +2014-09-30 14:53:25 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: prepare the stream-format conversion code and add the simplest ones + It prepares the template for stream-format conversion and it implements + the following conversion: + - sequence-layer-bdu --> bdu + - sequence-layer-bdu-frame --> bdu-frame + - sequence-layer-frame-layer --> frame-layer + Work is done in the pre_push_frame() method. + https://bugzilla.gnome.org/show_bug.cgi?id=738526 + +2014-09-05 17:57:47 +0200 Matthieu Bouron + + * ext/dash/gstdashdemux.c: + dashdemux: do not override last known stream error + https://bugzilla.gnome.org/show_bug.cgi?id=736141 + +2014-11-07 19:30:18 -0300 Thiago Santos + + * ext/smoothstreaming/gstmssdemux.c: + * ext/smoothstreaming/gstmssmanifest.c: + * ext/smoothstreaming/gstmssmanifest.h: + mssdemux: seeks in the manifest never fail + Set void as the return and remove error handling as it could + never fail + +2014-11-07 19:16:47 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + dashdemux: make sure flushes have the same seqnum as the seek event + They are part of the same operation and should preserve the seqnum + +2014-11-07 19:09:15 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + dashdemux: simplify seek to eos handling + Remove redundant flush stop pushing and remove a goto to make + the code flow simpler + +2014-09-17 15:22:59 +0200 Matthieu Bouron + + * ext/dash/gstdashdemux.c: + dashdemux: send missing FLUSH_STOP/EOS when no seeking period is found + https://bugzilla.gnome.org/show_bug.cgi?id=736800 + +2014-11-07 15:50:51 +0100 Josep Torra + + * gst/videoparsers/gsth264parse.c: + * gst/videoparsers/gsth264parse.h: + h264parse: set the HEADER flag on buffers containing SPS or PPS + +2014-11-07 15:41:15 +0100 Josep Torra + + * gst/videoparsers/gsth265parse.c: + * gst/videoparsers/gsth265parse.h: + h265parse: set the HEADER flag on buffers containing VPS, SPS or PPS + +2014-11-07 11:41:01 +0100 Sebastian Dröge + + * gst-libs/gst/gl/Makefile.am: + * pkgconfig/gstreamer-gl.pc.in: + gstglconfig: Put gstglconfig.h into $(libdir)/gstreamer-1.0/include + It's architecture dependent and should not be placed into the include + directory as the assumption is that all those headers are architecture + independent. + https://bugzilla.gnome.org/show_bug.cgi?id=739767 + +2014-11-07 00:16:12 +0000 Tim-Philipp Müller + + * ext/smoothstreaming/gstmssmanifest.c: + smoothstreaming: initialise new GstH264NalUnit fields + CID #1251107. + +2014-11-06 23:58:06 +0100 Alessandro Decina + + * ext/gl/gstglimagesink.c: + glimagesink: don't make gst_glimage_sink_handle_events call _ensure_gl_setup + gst_glimage_sink_handle_events can be called from the overlay interface and from + the main thread before GL is setup. Before this change, that would call + _ensure_gl_setup() and deadlock on OSX. + Change things so that it's always safe to call gst_glimage_sink_handle_events() + without stuff deadlocking. + +2014-11-06 23:55:20 +0100 Alessandro Decina + + * ext/gl/gstglimagesink.c: + glimagesink: fix possible deadlock on osx + Remove gst_glimage_sink_handle_events call in gst_glimage_sink_init. It was + unnecessary and when the element was instantiated from the main thread, caused a + deadlock in OSX creating the context (thread). + +2014-11-06 13:22:17 +0100 Alessandro Decina + + * sys/applemedia/vtenc.c: + * sys/applemedia/vtenc.h: + vtenc: add realtime and allow-frame-reordering properties + +2014-11-07 10:01:59 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: clamp the resize width/height to >= 1 to avoid a GL error + +2014-11-06 17:36:15 +0100 Sebastian Dröge + + * gst/inter/gstintervideosrc.c: + intervideosrc: Print a warning into the debug log on generating black frames + +2014-11-06 17:21:39 +0100 Sebastian Dröge + + * gst/inter/gstintervideosink.c: + intervideosink: Add some debug output in the render function + +2014-11-06 11:53:04 +0100 Sebastian Dröge + + * gst/videoparsers/gsth265parse.c: + h265parse: don't unnecesarily set src_caps + https://bugzilla.gnome.org/show_bug.cgi?id=739374 + +2014-10-29 22:55:47 +0100 Matej Knopp + + * gst/videoparsers/gsth264parse.c: + h264parse: don't unnecesarily set src_caps + https://bugzilla.gnome.org/show_bug.cgi?id=739374 + +2014-11-06 18:43:01 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglutils.c: + glutils: only attempt getting the app context when we don't already have a display + avoids querying/messaging the world on each frame + +2014-11-06 18:37:23 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcontext.c: + glcontext: fail context creation if glGetString returns NULL + +2014-10-29 12:24:16 +0100 Lubosz Sarnecki + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + * gst-libs/gst/gl/gstglwindow.c: + * gst-libs/gst/gl/gstglwindow.h: + * gst-libs/gst/gl/x11/gstglwindow_x11.c: + glimagesink: implement gst_video_overlay_handle_events + https://bugzilla.gnome.org/show_bug.cgi?id=736035 + +2014-11-04 15:16:33 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosrc.c: + interaudiosrc: Fix compiler warning about unused variables + gstinteraudiosrc.c: In function 'gst_inter_audio_src_create': + gstinteraudiosrc.c:339:27: error: variable 'buffer_samples' set but not used [-Werror=unused-but-set-variable] + guint64 period_samples, buffer_samples; + ^ + +2014-11-04 14:56:55 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosink.c: + * gst/inter/gstinteraudiosrc.c: + * gst/inter/gstinteraudiosrc.h: + * gst/inter/gstintersurface.c: + * gst/inter/gstintersurface.h: + interaudio: Make buffer size and latency handling more explicit and add properties for them + This now makes audio work more reliable without disconts. + +2014-11-04 13:59:20 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosink.c: + interaudiosink: Use the bpf from the audio info instead of hardcoding 4 + +2014-11-04 13:58:44 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosrc.c: + interaudio: Only flush the ringbuffer on the sink side + +2014-11-04 13:46:46 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosink.c: + interaudiosink: Flush the adapter when we get new caps + Ideally we would drain the source but that would require more coordination + between sink and source than what we currently have. + +2014-11-04 09:52:11 +0100 Sebastian Dröge + + * configure.ac: + gl/cocoa: include gl3.h in configure too for consistency with gstglapi.h + +2014-11-03 20:45:03 -0500 Olivier Crête + + * gst-libs/gst/insertbin/gstinsertbin.c: + insertbin: Add doc for the ignored user-data in action signals + +2014-11-03 23:24:33 +0000 Julien Isorce + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: use NSAutoreleasePool to free resize data + Otherwise when resizing the window you will also get messages like: + class NSConcreteMapTable autoreleased with no pool in place - just leaking + class NSConcreteValue autoreleased with no pool in place - just leaking + class NSConcreteValue autoreleased with no pool in place - just leaking + class __NSCFDictionary autoreleased with no pool in place - just leaking + +2014-11-03 23:08:09 +0000 Julien Isorce + + * gst-libs/gst/gl/gstglapi.h: + gl/cocoa: include gl3.h to have GL_CONTEXT_PROFILE_MASK + +2014-11-03 23:07:34 +0000 Julien Isorce + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: make sure to turn on frame rectangle changes notifications + Default value of property postsFrameChangedNotifications is YES + but it is worth to explicitly enable it. + +2014-11-03 23:02:17 +0000 Julien Isorce + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: fix uncaught exception 'unrecognized selector sent to instance' + Need to set the ':' as the reshape method now takes one parameter. + For the story, the GstGLNSView was previously inheriting from + NSOpenGLView which has a reshape function without any parameter. + Now the GstGLNSView inherits from NSView and we re-use the reshape + function manually. + +2014-11-03 22:59:41 +0000 Julien Isorce + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: fix compiler warning + Use the reshape function after being defined. The other way + would have been to declare the reshape function in the header. + gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]': + gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape' + gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature + gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept + gstglwindow_cocoa.m:555: warning: '...' as arguments.) + +2014-11-03 16:54:58 +0100 Sebastian Dröge + + * gst/inter/gstintervideosrc.c: + intervideosrc: Negotiate framerate with downstream + Prefer the closest framerate to the input framerate though. + +2014-11-03 16:24:33 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosrc.c: + * gst/inter/gstintervideosrc.c: + inter*src: No need to set caps manually on the pad + basesrc does that for us already. + +2014-11-03 16:13:23 +0100 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Swap source/destination parameters of gst_video_converter_frame() + +2014-11-03 15:19:48 +0100 Wim Taymans + + * gst/inter/gstintervideosrc.c: + inter: fix order of arguments + +2014-11-03 10:05:59 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosink.c: + * gst/inter/gstinteraudiosrc.c: + interaudio: Set all required fields on the template caps + https://bugzilla.gnome.org/show_bug.cgi?id=739542 + +2014-11-03 00:17:41 +0000 Tim-Philipp Müller + + * gst-libs/gst/gl/gstglwindow.c: + gl: fix Since marker for gst_gl_window_run_navigation() + +2014-11-02 23:24:39 +0000 Tim-Philipp Müller + + * gst/inter/gstintersurface.c: + inter: don't leak surface name + +2013-09-03 11:11:54 +0100 Tim-Philipp Müller + + * gst/mpegdemux/gstmpegdemux.c: + mpegdemux: start pushing data again when a pad gets linked later + The whole not_linked optimisation is really a bit dodgy here, but + let's leave it in place for now and at least start pushing data + again when a pad got linked later, in which case we should get a + RECONFIGURE event. + +2013-09-02 23:36:43 +0100 Tim-Philipp Müller + + * gst/mpegdemux/gstmpegdemux.c: + * gst/mpegdemux/gstmpegdemux.h: + * gst/mpegdemux/plugin.c: + mpegdemux: namespace fixes + +2014-11-02 19:26:20 +0000 Tim-Philipp Müller + + * gst/audiovisualizers/gstaudiovisualizer.c: + audiovisualizer: post QoS messages when dropping frames due to QoS + +2014-11-02 19:12:56 +0000 Tim-Philipp Müller + + * gst/audiovisualizers/gstaudiovisualizer.h: + audiovisualizer: fix boilerplate macros + +2014-11-02 17:18:12 +0000 Tim-Philipp Müller + + * ext/dash/gstdashdemux.c: + * ext/hls/gsthlsdemux.c: + * ext/smoothstreaming/gstmssdemux.c: + * sys/dvb/dvbbasebin.c: + * sys/dvb/gstdvbsrc.c: + Sprinkle some G_PARAM_DEPRECATED and #ifndef GST_REMOVE_DEPRECATED + +2014-11-02 17:17:46 +0000 Tim-Philipp Müller + + * ext/hls/gsthlsdemux.c: + hls: fix indentation + +2014-10-29 18:18:07 +0000 Luis de Bethencourt + + * gst-libs/gst/gl/gstglshadervariables.c: + glshader: Fix memory leak + Memory is only freed in the TRUE clause of the if conditional. Free in the else + clause as well. + Also, consolidate g_malloc + sprintf into a g_strdup_printf(). + CID #1212171 + https://bugzilla.gnome.org/show_bug.cgi?id=739368 + +2014-11-01 10:10:27 -0400 Nicolas Dufresne + + * ext/opus/gstrtpopusdepay.c: + * ext/opus/gstrtpopuspay.c: + rtpopus: Use OPUS encoding name + Both Firefox and Chrome uses OPUS as the encoding in their SDP. + Adding this now defacto standard name remove the need for special + case in SDP parsing code. + https://bugzilla.gnome.org/show_bug.cgi?id=737810 + +2014-10-31 17:32:56 -0300 Thiago Santos + + * ext/smoothstreaming/gstmssmanifest.c: + mssdemux: add type of stream to debug log + Makes it faster to debug why certain streams are not showing + +2014-10-31 17:32:39 -0300 Thiago Santos + + * ext/smoothstreaming/gstmssdemux.c: + mssdemux: do not unlock not locked mutex + +2014-10-31 10:45:19 +0000 Luis de Bethencourt + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: fix comments that confuse gtk-doc + GTK-Doc uses a special syntax for code documentation. A multiline comment that + starts with an additional '*' marks a documentation block that will be processed + by the GTK-Doc tools. So GTK-Doc is confused if a comment block starts with that + additional '*' but isn't meant to be processed. Removing this additional '*'. + https://bugzilla.gnome.org/show_bug.cgi?id=739444 + +2014-10-31 12:52:50 +1100 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + glimagesink: resize the viewport correctly on a caps change + with force-aspect-ratio=true, if the width or height changed, the + viewport wasn't being updated to respect the new video width and height + until a resize occured. + +2014-10-31 12:52:07 +1100 Matthew Waters + + * ext/gl/gstglmixer.c: + glmixer: advertise support for changing input caps mid-stream + https://bugzilla.gnome.org/show_bug.cgi?id=739334 + +2014-10-31 12:30:53 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcontext.c: + * gst-libs/gst/gl/gstgldisplay.c: + * gst-libs/gst/gl/gstglwindow.c: + gl: sprinkle some Since markers + +2014-10-30 14:27:38 +0000 Luis de Bethencourt + + * gst-libs/gst/mpegts/gst-atsc-section.c: + mpegts: remove storage of never used values + Both _parse_atsc_mgt() and _parse_atsc_vct () change the value of the variable + data just before returning. The new value is never used since data is a pointer + declared at the beginning of the function and going out of scope just after the + new value is stored. + https://bugzilla.gnome.org/show_bug.cgi?id=739404 + +2014-10-30 17:06:01 +0000 Luis de Bethencourt + + * gst/gaudieffects/gstsolarize.c: + gaudieffects: remove < 0 comparison on guint32 + Current CLAMP checks both if the value is below 0 or above 255. Considering it + is an unsigned value it can never be less than zero, so that comparison is + unnecessary. Switching to using if just for the upper bound. + CID #1139796 + +2014-10-30 16:05:14 +0000 Luis de Bethencourt + + * gst/gaudieffects/gstsolarize.c: + gaudieffects: declare floor and ceiling as constants + +2014-10-30 15:49:01 +0000 Luis de Bethencourt + + * gst/gaudieffects/gstdilate.c: + gaudieffects: stored value is overwritten + Value from left_luminance is assigned to out_luminance here, but that stored + value is not used before it is overwritten in the next cycle of the loop. + Removing assignation. + CID #1226473 + +2014-10-24 16:52:42 +0200 Matthieu Bouron + + * gst/mpegtsdemux/mpegtsbase.c: + mpegtsbase: do not remove programs on EOS + As a consequence, tsdemux won't remove its pads anymore on EOS. + Fixes the case when mpegtsbase is not able to process new packets + after EOS as the corresponding pids aren't known anymore because + the programs were removed and the pes/psi were kept, preventing the + PAT to be parsed again. + https://bugzilla.gnome.org/show_bug.cgi?id=738695 + +2014-04-21 11:48:22 +0100 Vincent Penquerc'h + + * gst/siren/common.c: + siren: fix sample rate list + It was using a 24000/24000/48000, but I think it meant to use + 24000/32000/48000. Not 100% sure... + https://en.wikipedia.org/wiki/G.722.1 has the list of supported + bitrates. It's not clear whether the "flag" code maps to this, + however. + Coverity 206072 + +2014-10-30 14:49:05 +0000 Luis de Bethencourt + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: remove storage of never used values + These two values are stored just before the function returns and they go out of + scope. + +2014-06-10 09:33:40 +0100 Vincent Penquerc'h + + * ext/opus/gstopusenc.c: + * ext/opus/gstopusenc.h: + opusenc: update output segment stop time to match clipped samples + This will let oggmux generate a granpos on the last page that properly + represents the clipped samples at the end of the stream. + +2014-10-30 18:45:04 +0530 Arun Raghavan + + * ext/srtp/gstsrtpdec.c: + srtpdec: Trivial documentation fix + +2014-10-30 23:08:00 +1100 Matthew Waters + + * ext/gl/gstglmixer.c: + glmixer: don't get the current caps from GstVideoInfo for the srcpad + It's missing the caps features needed. + +2014-10-30 18:57:59 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglutils.c: + * tests/examples/gl/qt/qglwtextureshare/pipeline.cpp: + * tests/examples/gl/sdl/sdlshare.c: + gl/examples: update for other-context property removal + +2014-10-30 16:48:00 +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/win32/gstglcontext_wgl.c: + * gst-libs/gst/gl/win32/gstglcontext_wgl.h: + * gst-libs/gst/gl/x11/gstglcontext_glx.c: + * gst-libs/gst/gl/x11/gstglcontext_glx.h: + glcontext: add more functionality to wrapped contexts + Implements get_current_context() and get_proc_address() for wrapped + contexts. + +2014-10-30 12:43:09 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglshader.c: + * gst-libs/gst/gl/gstglshader.h: + glshader: advertise the default vertex and fragment shaders on desktop GL + +2014-05-22 13:13:14 +0200 Gwenole Beauchesne + + * gst-libs/gst/codecparsers/gsth264parser.c: + * gst-libs/gst/codecparsers/gsth264parser.h: + codecparsers: h264: recognize SVC NAL units. + Identify SVC NAL units and tag them as such. This is necessary for + gst_h264_parser_parse_slice_hdr() to fail gracefully, if the user + did not perform the check himself. + Signed-off-by: Gwenole Beauchesne + +2014-10-29 14:53:15 +0100 Gwenole Beauchesne + + * gst-libs/gst/codecparsers/gsth264parser.c: + codecparsers: h264: fix number of list0 {,non-}anchor refs. + Fix copy-paste error in gst_h264_sps_mvc_copy() where num_anchor_refs_l0 + and num_non_anchor_refs_l0 were incorrectly initialized from list1. + Signed-off-by: Gwenole Beauchesne + +2014-10-29 13:51:40 +0000 Tim-Philipp Müller + + * win32/common/libgstcodecparsers.def: + Update .def for new API + +2014-10-29 13:15:51 +0000 Tim-Philipp Müller + + * gst-libs/gst/codecparsers/gsth264parser.c: + * gst-libs/gst/codecparsers/gsth264parser.h: + codecparsers: sprinkle some gtk-doc Since: markers for new API + +2014-10-29 12:22:14 +0100 Lubosz Sarnecki + + * ext/gl/gstglimagesink.c: + satisfy gst-indent + +2014-10-29 22:23:13 +1000 Jan Schmidt + + * ext/gl/gstglfiltercube.c: + glfiltercube: Fix typo in property description + +2014-10-29 22:23:02 +1000 Jan Schmidt + + * gst-libs/gst/codecparsers/gsth264parser.c: + codecparsers: Initialise nalu extension type to NONE + Always set a default NALU extension type, and override it + when we find a supported extension, to avoid having it unset/random + for unsupported NALU extensions + +2014-10-07 16:28:03 +1100 Jan Schmidt + + * gst-libs/gst/codecparsers/gsth264parser.c: + h264parser: Fix frame packing SEI parsing + +2014-03-25 14:08:44 +0100 Sreerenj Balachandran + + * gst-libs/gst/codecparsers/gsth264parser.c: + * gst-libs/gst/codecparsers/gsth264parser.h: + * gst/videoparsers/gsth264parse.c: + codecparsers: h264: add support for Frame Packing Arrangement SEI message. + This parses the frame_packing_arragement() payload in SEI message. + This information can be used by decoders to appropriately rearrange the + samples which belong to Stereoscopic and Multiview High profiles. + https://bugzilla.gnome.org/show_bug.cgi?id=685215 + Signed-off-by: Sreerenj Balachandran + Signed-off-by: Gwenole Beauchesne + +2013-03-08 18:17:16 +0200 Sreerenj Balachandran + + * gst-libs/gst/codecparsers/gsth264parser.c: + * gst-libs/gst/codecparsers/gsth264parser.h: + * gst/videoparsers/gsth264parse.c: + codecparsers: h264: add support for Stereo Video Information SEI message. + Add the necessary payload parsing support for stereo_video_info. + https://bugzilla.gnome.org/show_bug.cgi?id=685215 + Signed-off-by: Sreerenj Balachandran + +2012-10-01 13:36:45 +0200 Gwenole Beauchesne + + * gst-libs/gst/codecparsers/gsth264parser.c: + * gst-libs/gst/codecparsers/gsth264parser.h: + codecparsers: h264: parse seq_parameter_set_mvc_extension(). + https://bugzilla.gnome.org/show_bug.cgi?id=685215 + Signed-off-by: Gwenole Beauchesne + +2012-09-26 18:46:36 +0200 Gwenole Beauchesne + + * gst-libs/gst/codecparsers/gsth264parser.c: + * gst-libs/gst/codecparsers/gsth264parser.h: + codecparsers: h264: parse MVC syntax elements. + https://bugzilla.gnome.org/show_bug.cgi?id=685215 + Signed-off-by: Gwenole Beauchesne + +2014-10-29 22:58:37 +1100 Jan Schmidt + + * gst/mpegtsdemux/mpegtspacketizer.c: + * gst/mpegtsdemux/mpegtspacketizer.h: + * gst/mpegtsdemux/mpegtsparse.c: + tsparse: Handle backward and discont timestamps better. + Assume that small backward PCR jumps are just from upstream packet + mis-ordering and don't reset timestamp tracking state - assuming that + things will be OK again shortly. + Make the threshold for detecting discont between sequential buffers + configurable and match the smoothing-latency setting on tsparse + to better cope with data bursts. + +2014-10-29 22:58:37 +1100 Jan Schmidt + + * gst/mpegtsdemux/mpegtsbase.c: + * gst/mpegtsdemux/mpegtsbase.h: + * gst/mpegtsdemux/mpegtsparse.c: + * gst/mpegtsdemux/mpegtsparse.h: + tsparse: Implement timestamp/retimestamping of output buffers + When the set-timestamps property is set, use PCRs on the provided + (or autodetected) pcr-pid to apply (or replace) timestamps on the + output buffers, using piece-wise linear interpolation. + This allows tsparse to be used to stream an arbitrary mpeg-ts file, + or to smooth jittery reception timestamps from a network stream. + The reported latency is increased to match the smoothing latency if + necessary. + +2014-10-29 10:09:35 +0100 Vincent Abriou + + * configure.ac: + configure.ac: auto decision to include GL library fails + The part of the configure.ac that consist to check if we + can include both GL and GLES2 at the same time is failing. + Indeed, in the case NEED_GLES2=yes and NEED_OPENGL=auto, + HAVE_OPENGL variable is updated whereas it should be HAVE_GL + variable that has to be updated (HAVE_OPENGL variable is not + used in the rest of the configure.ac). + https://bugzilla.gnome.org/show_bug.cgi?id=739348 + Signed-off-by: Vincent Abriou + Reviewed-by: Benjamin GAIGNARD + +2014-10-29 10:37:38 +0000 Luis de Bethencourt + + * gst-libs/gst/codecparsers/gstmpeg4parser.c: + codecparsers: remove ignored increment of return + 'return val++;' returns the value before it is incremented because the post + increment happens after the statement. Removing the unused increment. + https://bugzilla.gnome.org/show_bug.cgi?id=739345 + +2014-10-29 08:27:57 +0800 Wang Xin-yu (王昕宇) + + * ext/gl/gstglmixer.c: + glmixer:fix incorrect parameter passed to handle_set_context + +2014-10-28 21:42:31 +0000 Tim-Philipp Müller + + * ext/webp/gstwebpdec.h: + * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h: + * gst/camerabin2/gstwrappercamerabinsrc.h: + * sys/uvch264/gstuvch264_src.h: + Add some missing G_END_DECLS + +2014-10-28 17:44:47 +0000 Tim-Philipp Müller + + * ext/faad/gstfaad.c: + faad: fix wrong unrefs in set_format error code path + +2014-10-28 18:27:11 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: get the config from the correct pool + +2014-10-28 18:01:27 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: avoid uninitialized variable size when chaining multiple glfilters + https://bugzilla.gnome.org/show_bug.cgi?id=739277 + +2014-10-28 18:01:01 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: gst-indent file + +2014-10-28 17:31:37 +1100 Matthew Waters + + * docs/libs/gst-plugins-bad-libs-sections.txt: + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h: + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + * gst-libs/gst/gl/eagl/gstglcontext_eagl.h: + * gst-libs/gst/gl/eagl/gstglcontext_eagl.m: + * 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/win32/gstglcontext_wgl.c: + * gst-libs/gst/gl/win32/gstglcontext_wgl.h: + * gst-libs/gst/gl/x11/gstglcontext_glx.c: + * gst-libs/gst/gl/x11/gstglcontext_glx.h: + * tests/check/libs/gstglcontext.c: + glcontext: add api for retreiving the current context and api + that is current in the calling thread. + +2014-10-21 19:03:08 +1100 Matthew Waters + + * gst-libs/gst/gl/glprototypes/Makefile.am: + * gst-libs/gst/gl/glprototypes/all_functions.h: + * gst-libs/gst/gl/glprototypes/vao.h: + glprototypes: add vertex attribute array definitions + +2014-10-27 17:57:46 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From 84d06cd to 7bb2bce + +2014-10-27 15:34:58 +0100 Sebastian Dröge + + * gst/inter/gstinteraudiosrc.c: + * gst/inter/gstintervideosrc.c: + inter: Use 64-bit safe scaling functions + +2014-10-27 12:43:53 +0000 Tim-Philipp Müller + + * sys/dvb/gstdvbsrc.c: + dvbsrc: reflow switch case statement a bit + Make it clear there's no 'break' missing at the end + of the case SYS_DVBT, and pacify coverity (CID 1249689). + +2014-06-12 16:59:46 +0200 L. Sorin + + * ext/curl/gstcurlsshsink.c: + * ext/curl/gstcurlsshsink.h: + curlsshsink: use the locally defined types + Just a matter of coding style, makes the code a bit tidier... + https://bugzilla.gnome.org/show_bug.cgi?id=731581 + +2014-10-26 15:45:20 +0000 Tim-Philipp Müller + + * Makefile.am: + Parallelise 'make check-valgrind' + +2014-10-26 15:44:05 +0000 Tim-Philipp Müller + + * configure.ac: + configure: check for more openh264 API that we need + +2014-10-25 18:50:42 +0100 Tim-Philipp Müller + + * tests/check/Makefile.am: + * tests/check/elements/audiomixer.c: + tests: fix audiomixer test on big endian systems + +2014-10-24 21:42:58 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: correctly capitalize DiSEqC + +2014-10-24 20:12:23 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: rework _output_frontend_stats() + Retry stat reporting ioctls on EINTR + +2014-10-24 19:30:25 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add checks on allowed DVB-T bandwidths + +2014-10-24 19:12:33 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add fixme note on DTV_LNA setting + Rephrase another comment while at it + +2014-10-24 18:57:40 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add missing logic for additional bandwidths + New 1.712, 5 and 10 MHz bandwidths were been ignored + at set/get prop. + +2014-10-24 15:53:59 +0200 Edward Hervey + + * configure.ac: + configure.ac: Use libsrtp.pc if present + +2014-10-23 17:42:27 +0300 Vootele Vesterblom + + * gst/rawparse/gstrawparse.c: + rawparse: fix handling of segment event in sink event handler + +2014-10-24 00:35:22 +1100 Matthew Waters + + * ext/gl/gstglmixer.c: + glmixer: override the caps query in order to 'convert' capsfeatures + Otherwise, it is only possible for the sink pads and the src pads to + have the exact same caps features. We can convert from any feature + to another feature so support that. + +2014-10-23 23:55:48 +1100 Matthew Waters + + * ext/gl/gstglmixer.c: + glmixer: override the accept caps query in order to 'convert' capsfeatures + Otherwise, it is only possible for the sink pads and the src pads to + have the exact same caps features. We can convert from any feature + to another feature so support that. + +2014-08-14 23:29:00 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglmixer.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglutils.c: + * gst-libs/gst/gl/gstglutils.h: + gl: propogate other-context using GstContext + +2014-10-20 03:07:08 -0600 Brendan Long + + * ext/dash/README: + dash: Remove obsolete README. + https://bugzilla.gnome.org/show_bug.cgi?id=738848 + +2014-10-22 19:34:17 +0200 Sebastian Dröge + + * gst/inter/gstinteraudiosink.c: + * gst/inter/gstinteraudiosrc.c: + interaudio: Add support for arbitrary raw audio formats + +2014-10-22 19:31:31 +0200 Sebastian Dröge + + * gst/inter/gstintervideosink.c: + * gst/inter/gstintervideosrc.c: + * gst/inter/gstintervideosrc.h: + intervideo: Add support for arbitrary video formats + +2014-10-22 19:28:48 +0200 Sebastian Dröge + + * gst/inter/gstinteraudiosrc.c: + * gst/inter/gstintervideosrc.c: + inter: Truncate the caps as part of the fixating + +2014-10-22 19:08:39 +0200 Sebastian Dröge + + * gst/inter/gstinteraudiosink.c: + * gst/inter/gstinteraudiosrc.c: + interaudio: Fix timestamp, latency and period handling + +2014-10-22 18:41:55 +0200 Sebastian Dröge + + * gst/inter/gstinteraudiosink.c: + * gst/inter/gstinteraudiosrc.c: + interaudio: Use GST_DEBUG_OBJECT() instead of GST_DEBUG() + +2014-10-22 18:40:01 +0200 Sebastian Dröge + + * gst/inter/gstinteraudiosink.c: + * gst/inter/gstinteraudiosink.h: + * gst/inter/gstinteraudiosrc.c: + * gst/inter/gstinteraudiosrc.h: + * gst/inter/gstintersurface.h: + interaudio: Properly pass through caps from the sink to the source + Otherwise a magic capsfilter after the source is required with + exactly the same caps as the input. + +2014-10-22 18:13:36 +0200 Sebastian Dröge + + * gst/inter/gstintersurface.c: + * gst/inter/gstintersurface.h: + inter: Clean up surfaces after the last user is gone + +2014-10-22 18:07:00 +0200 Sebastian Dröge + + * gst/inter/gstinteraudiosink.c: + * gst/inter/gstinteraudiosrc.c: + * gst/inter/gstintersubsink.c: + * gst/inter/gstintersubsrc.c: + * gst/inter/gstintersurface.c: + * gst/inter/gstintervideosink.c: + * gst/inter/gstintervideosrc.c: + inter: Whitespace cleanup + +2014-10-22 18:03:13 +0200 Sebastian Dröge + + * gst/inter/gstintersurface.h: + * gst/inter/gstintervideosink.c: + * gst/inter/gstintervideosink.h: + * gst/inter/gstintervideosrc.c: + * gst/inter/gstintervideosrc.h: + intervideo: Properly pass through caps from the sink to the source + Otherwise a magic capsfilter after the source is required with + exactly the same caps as the input. + This would've failed before with invalid buffer sizes: + gst-launch-1.0 videotestsrc ! intervideosink intervideosrc ! "video/x-raw,width=640,height=480" ! xvimagesink + +2014-10-22 15:07:04 +0200 Sebastian Dröge + + * gst/rawparse/gstrawparse.c: + rawparse: Check for 0-size after adjusting the size for the frame size + If we don't have a complete raw audio frame we would otherwise still + ask for a 0 sized buffer from the adapter. + +2014-10-22 14:43:50 +0200 Sebastian Dröge + + * gst/rawparse/gstrawparse.c: + rawparse: Don't try to retrieve 0 byte buffers from the adapter in multi-frame mode + +2014-10-22 13:03:30 +0100 Tim-Philipp Müller + + * configure.ac: + configure: improve openh264 check + The openh264 API is still unstable, so check for + structure member that we need to prevent building + against an older incompatible version. + +2014-10-22 12:36:36 +0100 Tim-Philipp Müller + + * configure.ac: + configure: simplify openh264 check + Of course PTHREADS_CFLAGS is not used anywhere now + for the check, but that was the case before as well. + +2014-10-21 16:21:08 +0200 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: Fix compiler warning + gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]': + gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape' + gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature + gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept + gstglwindow_cocoa.m:555: warning: '...' as arguments.) + +2014-10-21 15:42:32 +0200 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Fix locking + The object lock only protects the session, as we modify + the session from other threads when the bitrate property + is changed. Don't hold it much longer than for session + related things. + And we need to release the video decoder stream lock before + enqueueing a frames. It might wait for our callback to dequeue + a frame from another thread, which will then take the stream + lock too and deadlock. + +2014-10-21 13:01:45 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From a8c8939 to 84d06cd + +2014-10-21 13:28:50 +0200 Stefan Sauer + + * configure.ac: + configure: use a macro to check for pthread + Replace the hardcoded -lpthread in most of the places with $PTHREAD_LIBS. For + openh264 also add $PTHREAD_LIBS to OPENH264_LIBS until upstream ships a .pc + file. + +2014-10-21 12:58:39 +0200 Stefan Sauer + + * README: + * common: + Automatic update of common submodule + From 36388a1 to a8c8939 + +2014-10-21 12:39:14 +0200 Matthieu Bouron + + * ext/hls/gsthlsdemux.c: + hlsdemux: reset end_of_playlist attribute when we receive a seek + https://bugzilla.gnome.org/show_bug.cgi?id=738696 + +2014-10-20 18:25:08 +0530 Vineeth T M + + * gst-libs/gst/base/gstaggregator.c: + * gst/audiomixer/gstaudiomixer.c: + audiomixer: critical error for blocksize, timeout min/max values + Audiomixer blocksize, cant be 0, hence adjusting the minimum value to 1 + timeout value of aggregator is defined with MAX of MAXINT64, + but it cannot cross G_MAXLONG * GST_SECOND - 1 + Hence changed the max value of the same + https://bugzilla.gnome.org/show_bug.cgi?id=738845 + +2014-10-21 06:04:10 +1100 Matthew Waters + + * ext/gl/gstglmixer.c: + glmixer: fixup eglimage include path + +2014-10-21 02:52:05 +1100 Matthew Waters + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: fixate the parts of the caps we don't know how to deal with + fixes glvideomixer with video/x-raw,width=foo i.e. no format field. + +2014-10-18 10:03:43 +0200 Matthew Waters + + * ext/gl/gstglmixer.c: + * ext/gl/gstgltestsrc.c: + * gst-libs/gst/gl/gstglbufferpool.c: + * gst-libs/gst/gl/gstglfilter.c: + glbufferpool: add the GstVideoGLTextureUploadMeta buffer pool option + +2014-10-20 10:34:27 +1100 Matthew Waters + + * ext/gl/gstglmixer.c: + * ext/gl/gstglmixer.h: + * ext/gl/gstglvideomixer.c: + * gst-libs/gst/video/gstvideoaggregator.c: + * gst-libs/gst/video/gstvideoaggregator.h: + * gst/compositor/compositor.c: + videoaggregator: operate on caps rather than video info + Otherwise the CapsFeatures will be lost along with the possibility + of multiple output types and formats. + https://bugzilla.gnome.org/show_bug.cgi?id=738129 + +2014-09-19 11:37:56 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: introduce a helper to make sequence-layer + It will be useful to implement stream-format conversion. + https://bugzilla.gnome.org/show_bug.cgi?id=738526 + +2014-10-20 02:27:15 -0600 Brendan Long + + * configure.ac: + gl: Check for GLU before trying to use it in configure.ac + https://bugzilla.gnome.org/show_bug.cgi?id=738816 + +2014-10-20 15:02:28 +0800 Wang Xin-yu (王昕宇) + + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglcolorconvert.h: + * gst-libs/gst/gl/gstglmemory.c: + glcolorconvert: support RGB16/BGR16 video format upload + https://bugzilla.gnome.org/show_bug.cgi?id=738842 + +2014-10-09 15:12:01 +0200 Aurélien Zanelli + + * tests/check/libs/vc1parser.c: + vc1parser: fix expected level in sequence-layer parsing unit test + Sequence-layer used for unit test have a level set to 2 which should + match the medium level, not the high. + https://bugzilla.gnome.org/show_bug.cgi?id=738230 + +2014-10-09 15:05:55 +0200 Aurélien Zanelli + + * gst-libs/gst/codecparsers/gstvc1parser.h: + vc1parser: fix level values for simple/main profile + In simple profile, level set to 0 or 2 indicate low and medium level + respectively. In main profile, level set to 0, 2 or 4 indicate low, + medium and high level respectively. + Level values are defined in Annex J.1.2 of the SMPTE 421M. + https://bugzilla.gnome.org/show_bug.cgi?id=738230 + +2014-08-02 11:29:37 +0100 Tim-Philipp Müller + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: send initial GAP event on sparse streams for faster startup with playbin + Signal sparse streams properly in stream-start event and force sending + of pending sticky events which have been stored on the pad already and + which otherwise would only be sent on the first buffer or serialized + event (which means very late in case of subtitle streams). Playsink in + playbin waits for stream-start or another serialized event, and if we + don't do this it will wait for the multiqueue to run full before + starting playback, which might take a couple of seconds. + https://bugzilla.gnome.org/show_bug.cgi?id=734040 + +2014-10-20 12:30:50 +0200 Edward Hervey + + * gst/mpegtsdemux/mpegtspacketizer.c: + * gst/mpegtsdemux/mpegtspacketizer.h: + * gst/mpegtsdemux/tsdemux.c: + tsdemux: GAP detection + All pads of a stream are now added at the beginning. In order to cope with + streams that don't get any data (forever or for a long time) we detect gaps + and push out GAP events when needed. + Cleanups and commenting by Jan Schmidt + https://bugzilla.gnome.org/show_bug.cgi?id=734040 + +2014-10-01 16:17:46 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + * gst/videoparsers/gstvc1parse.h: + vc1parse: select caps according to wmv format at negotiation + Some VC1 decoder can have different caps according to wmv format, ie + WMV3 or WVC1. + So instead of keeping the first available caps, we interserct with + current WMV format. + https://bugzilla.gnome.org/show_bug.cgi?id=738532 + +2014-10-20 11:22:54 +0200 Stefan Sauer + + * configure.ac: + configure: add pthread to the configure check for openh264 + +2014-10-20 09:47:27 +0200 Sebastian Dröge + + * ext/rtmp/gstrtmpsink.c: + rtmpsink: Declare sink variable that was forgotten in last commit + +2014-10-19 20:35:41 +0200 Havard Graff + + * ext/rtmp/gstrtmpsink.c: + rtmpsink: Free URI string in finalize() + https://bugzilla.gnome.org/show_bug.cgi?id=738674 + +2014-10-17 21:26:52 -0700 Brion Vibber + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: Fix for building on Mac OS X 10.10 + Using NSApp directly seems to confuse something, as the compiler + was expecting an id. Switched to using + [NSApplication sharedApplication], and specified the delegate + protocol on the window class as well. + https://bugzilla.gnome.org/show_bug.cgi?id=738740 + +2014-10-19 14:57:43 +0200 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Use kVTProfileLevel_H264_Baseline_AutoLevel only on iOS + It is not required on OSX apparently and was only added in 10.9.6 there. + Calculating the correct level from the configuration is not trivial, so let's + just not set a level at all here. + +2014-10-19 14:51:40 +0200 Sebastian Dröge + + * configure.ac: + * sys/applemedia/vtenc.c: + vtenc: VTCompressionSessionPrepareToEncodeFrames only exists since 10.9.6 + Check with configure for it instead of using one of the availability macros + as those wouldn't work as expected with minor versions. + +2014-10-19 14:32:31 +0200 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Remove unused #define + +2014-10-19 13:44:38 +0200 Sebastian Dröge + + * gst/rtp/Makefile.am: + rtpbad: Fix make dist by removing non-existing file from EXTRA_DIST + It's used by the rtp plugin in gst-plugins-good for VP8 but not needed + or used here. + +2014-10-17 16:51:27 +0200 Thijs Vermeir + + * gst/rtp/Makefile.am: + rtpbad: include plugins base cflags (fix build on jenkins) + +2014-10-16 10:34:01 +0200 Thijs Vermeir + + * 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: add h265 RTP payloader + depayloader + +2014-10-15 15:25:55 +0200 Stefan Sauer + + * ext/curl/gstcurlbasesink.c: + curlbasesink: strip newlines from curl debug messages + The messages we receive in the custom log handler might end with a newline and + are not \0 terminated. Copy the messages, trim and terminate them. + +2014-10-15 15:24:12 +0200 Stefan Sauer + + * ext/curl/gstcurlbasesink.c: + curlbasesink: small code cleanup + Use a local var and save a local var. + +2014-10-15 16:52:09 +0200 Thijs Vermeir + + * tests/check/Makefile.am: + * tests/check/elements/x265enc.c: + tests/x265enc: add simple unit test + +2014-03-05 16:39:30 +0100 Thijs Vermeir + + * configure.ac: + * ext/Makefile.am: + * ext/x265/Makefile.am: + * ext/x265/gstx265enc.c: + * ext/x265/gstx265enc.h: + x265enc: add x265 encoder element + +2014-10-14 14:00:11 +0200 Matthew Waters + + * ext/gl/gstgldeinterlace.c: + gldeinterlace: ref the uploaded buffer + Instead of the possibly non-GL input buffer. + +2014-10-14 16:41:51 +0200 Matthew Waters + + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + glfilter: add uploaded_buffer field + +2014-09-22 09:44:14 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: parse frame header when stream format is ASF/raw for simple/main profile + When stream-format is ASF or sequence-layer-raw-frame, we basically have + a raw frame so we can parse it to extract some information such the + keyframe flag. The only requirement is to have a valid sequence-header. + This commit parse the frame header and set the DELTA_UNIT buffer flag in + case the frame is not a keyframe. + https://bugzilla.gnome.org/show_bug.cgi?id=738519 + +2014-10-14 10:51:22 +0200 Sebastian Dröge + + * ext/libde265/libde265-dec.c: + libde265: Change rank to SECONDARY, gst-libav has PRIMARY rank + +2014-09-17 10:38:44 +0200 Joachim Bauch + + * configure.ac: + * ext/Makefile.am: + * ext/libde265/Makefile.am: + * ext/libde265/gstlibde265.c: + * ext/libde265/libde265-dec.c: + * ext/libde265/libde265-dec.h: + * gst-plugins-bad.spec.in: + Integrate libde265 into gst-plugins-bad. + +2014-10-13 14:05:24 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: just assume none header-format when no codec_data is present + https://bugzilla.gnome.org/show_bug.cgi?id=738449 + +2014-10-14 09:19:59 +0200 Sebastian Dröge + + * sys/applemedia/vtdec.c: + vtdec: Set reorder length to 0 if we can't calculate it + Instead of leaving it at whatever value it had before. + +2014-10-13 13:28:57 +0200 Sebastian Dröge + + * ext/gl/gstglimagesink.c: + glimagesink: Only finalize the other context in finalize() + Otherwise we change a value of a property when going to READY state, + which is unexpected behaviour. + +2014-10-13 13:27:55 +0200 Sebastian Dröge + + * ext/gl/gstglmixer.c: + glmixer: Call the pad's parent class finalize method + +2014-10-13 13:27:11 +0200 Sebastian Dröge + + * ext/gl/gstglmixer.c: + glmixer: Only finalize the other context in finalize() + Otherwise we change a value of a property when going to READY state, + which is unexpected behaviour. + +2014-10-13 13:25:42 +0200 Sebastian Dröge + + * ext/gl/gstgltestsrc.c: + * ext/gl/gstgltestsrc.h: + gltestsrc: Add other-context property + +2014-10-13 11:56:03 +0200 Sebastian Dröge + + * ext/gl/gstglimagesink.c: + glimagesink: Don't leak other-context + +2014-10-13 11:53:47 +0200 Sebastian Dröge + + * ext/gl/gstglmixer.c: + * ext/gl/gstglmixer.h: + glmixer: Add other-context property + +2014-10-12 21:25:16 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/dvbbasebin.c: + * sys/dvb/gstdvbsrc.c: + * sys/dvb/gstdvbsrc.h: + dvb: make interleaving a prop and proxy on dvbbasebin + DTV_INTERLEAVING is currently used only for DTBM. This is + congruent with the v4l dvb API where the different interleaving + modes where added for v5.7 + +2014-10-12 18:30:38 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add transmission mode checks for DVB-T/T2 + These and every sanity check leading to a warning + (we have a few in place) should come handy when + debuging failed tunning scenarios. + +2014-10-12 13:34:09 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: docs, drop v5 API change history comments < .5 + We only support from minor 5 and up now. Also add a + note about the recently added preliminar DTMB support. + +2014-10-12 13:08:13 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add missing DVB-T2 bandwidth types + DVB-T2 supports 5, 10 and 1.712 MHz + Order of the enum values (new values after _AUTO) + has been kept congruent with the one in the v4l + API for consistency + +2014-10-07 10:37:33 +0200 Benjamin Gaignard + + * ext/wayland/gstwaylandsink.c: + waylandsink: do not render twice the same buffer + Do not try to render a buffer that is already being rendered. + This happens typically during the initial rendering stage as the first + buffer is rendered twice: first by preroll(), then by render(). + This commit avoids this assertion failure: + CRITICAL: gst_wayland_compositor_acquire_buffer: assertion + 'meta->used_by_compositor == FALSE' failed + https://bugzilla.gnome.org/show_bug.cgi?id=738069 + Signed-off-by: Fabien Dessenne + Signed-off-by: Benjamin Gaignard + +2014-07-24 16:53:53 +0200 Tifaine Inguere + + * ext/wayland/wlwindow.c: + waylandsink : Allow surface to catch input events + If waylandsink is the owner of the display then it is in charge + of catching input events on the surface. + https://bugzilla.gnome.org/show_bug.cgi?id=733682 + Signed-off-by: Tifaine Inguere + Reviewed-by: Benjamin Gaignard + +2014-07-02 13:29:55 +0300 George Kiagiadakis + + * ext/wayland/wlbuffer.c: + * ext/wayland/wldisplay.c: + * ext/wayland/wldisplay.h: + waylandsink: take into account the case where a pool may be destroyed together with GstWlDisplay + There are two cases covered here: + 1) The GstWlDisplay forces the release of the last buffer and the pool + gets destroyed in this context, which means it unregisters all the + other buffers from the GstWlDisplay as well and the display->buffers + hash table gets corrupted because it is iterating. + 2) The pool and its buffers get destroyed concurrently from another + thread while GstWlDisplay is finalizing and many things get corrupted. + +2014-07-01 11:43:20 +0300 George Kiagiadakis + + * ext/wayland/gstwaylandsink.c: + * ext/wayland/wlbuffer.c: + * ext/wayland/wlbuffer.h: + * ext/wayland/wlvideoformat.h: + * ext/wayland/wlwindow.c: + * ext/wayland/wlwindow.h: + waylandsink: stack the video subsurface into another subsurface that covers the whole render rectangle + The main reason behind this is that when the video caps change and the video + subsurface needs to resize and change position, the wl_subsurface.set_position + call needs a commit in its parent in order to take effect. Previously, + the parent was the application's surface, over which there is no control. + Now, the parent is inside the sink, so we can commit it and change size smoothly. + As a side effect, this also allows the sink to draw its black borders on + its own, without the need for the application to do that. And another side + effect is that this can now allow resizing the sink when it is in top-level + mode and have it respect the aspect ratio. + +2014-06-20 16:24:36 +0300 George Kiagiadakis + + * ext/wayland/gstwaylandsink.c: + * ext/wayland/wlshmallocator.c: + * ext/wayland/wlvideoformat.c: + * ext/wayland/wlvideoformat.h: + waylandsink: rename video format conversion functions to indicate they are about wl_shm + Needed to add linux_dmabuf format conversion functions later + +2014-06-23 17:27:01 +0300 George Kiagiadakis + + * ext/wayland/gstwaylandsink.c: + * ext/wayland/wlbuffer.c: + * ext/wayland/wldisplay.c: + * ext/wayland/wldisplay.h: + waylandsink: remove the ugly gst_wl_display_stop() now that this mechanism is not needed anymore + Because we no longer have a custom buffer pool that holds a reference + to the display, there is no way for a cyclic reference to happen like + before, so we no longer need to explicitly call a function from the + display to release the wl_buffers. + However, the general mechanism of registering buffers to the display + and forcibly releasing them when the display is destroyed is still + needed to avoid potential memory leaks. The comment in wlbuffer.c + is updated to reflect the current situation. + +2014-06-23 16:40:02 +0300 George Kiagiadakis + + * ext/wayland/Makefile.am: + * ext/wayland/gstwaylandsink.c: + * ext/wayland/waylandpool.c: + * ext/wayland/waylandpool.h: + * ext/wayland/wlshmallocator.c: + * ext/wayland/wlshmallocator.h: + waylandsink: replace the custom buffer pool with an allocator + This reduces the complexity of having a custom buffer pool, as + we don't really need it. We only need the custom allocation part. + And since the wl_buffer is no longer saved in a GstMeta, we can + create it and add it on the buffers in the sink's render() + function, which removes the reference cycle caused by the pool + holding a reference to the display and also allows more generic + scenarios (the allocator being used in another pool, or buffers + being allocated without a pool [if anything stupid does that]). + This commit also simplifies the propose_allocation() function, + which doesn't really need to do all these complicated checks, + since there is always a correct buffer pool available, created + in set_caps(). + The other side effect of this commit is that a new wl_shm_pool + is now created for every GstMemory, which means that we use + as much shm memory as we actually need and no more. Previously, + the created wl_shm_pool would allocate space for 15 buffers, no + matter if they were being used or not. + +2014-06-20 14:47:57 +0300 George Kiagiadakis + + * ext/wayland/Makefile.am: + * ext/wayland/gstwaylandsink.c: + * ext/wayland/waylandpool.c: + * ext/wayland/waylandpool.h: + * ext/wayland/wlbuffer.c: + * ext/wayland/wlbuffer.h: + * ext/wayland/wldisplay.c: + * ext/wayland/wldisplay.h: + waylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer::release + This also removes the GstWlMeta and adds a wrapper class for wl_buffer + which is saved in the GstBuffer qdata instead of being a GstMeta. + The motivation behind this is mainly to allow attaching wl_buffers on + GstBuffers that have not been allocated inside the GstWaylandBufferPool, + so that if for example an upstream element is sending us a buffer + from a different pool, which however does not need to be copied + to a buffer from our pool because it may be a hardware buffer + (hello dmabuf!), we can create a wl_buffer directly from it and first, + attach it on it so that we don't have to re-create a wl_buffer every + time the same GstBuffer arrives and second, force the whole mechanism + for keeping the buffer out of the pool until there is a wl_buffer::release + on that foreign GstBuffer. + +2014-10-09 08:20:15 +0530 Vineeth T M + + * ext/schroedinger/gstschrodec.c: + schrodec: optimize parse logic + Header will be read each and everytime parse function will be called + which is not necessary since until we have complete data, + we need not parse the header again. + https://bugzilla.gnome.org/show_bug.cgi?id=737984 + +2014-10-10 13:05:49 +0100 Tim-Philipp Müller + + * ext/fluidsynth/gstfluiddec.c: + fluiddec: don't leak incoming caps event + https://bugzilla.gnome.org/show_bug.cgi?id=738291 + +2014-10-09 18:18:02 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: fix framesize when input is frame-layer + frame-layer header is represented as a sequence of 32 bit unsigned + integer serialized in little-endian byte order, so framesize is on the + first 3 bytes. + SMPTE 421M Annex L. + https://bugzilla.gnome.org/show_bug.cgi?id=738243 + +2014-10-07 17:05:04 +0200 Antonio Ospite + + * gst/midi/midiparse.c: + midiparse: mention fluiddec instead of fluidsynth + The element name is actually fluiddec even if it uses fluidsynth. + https://bugzilla.gnome.org/show_bug.cgi?id=738223 + +2014-10-09 11:51:16 +0200 Antonio Ospite + + * ext/fluidsynth/gstfluiddec.c: + fluiddec: fix some memory leaks + https://bugzilla.gnome.org/show_bug.cgi?id=738223 + +2014-10-09 04:11:00 -0400 David Woodhouse + + * gst/pcapparse/gstpcapparse.c: + * gst/pcapparse/gstpcapparse.h: + pcapparse: Add support for LINKTYPE_RAW + Also, strictly speaking, these numbers aren't DLT_*; they are LINKTYPE_* because + libpcap translates from internal OS-specific DLT_ numbering to the portable + LINKTYPE_ number space when writing files. + https://bugzilla.gnome.org/show_bug.cgi?id=738206 + +2014-10-09 14:51:56 +0200 Aurélien Zanelli + + * tests/check/elements/audiomixer.c: + test: use G_GSIZE_FORMAT in audiomixer test + https://bugzilla.gnome.org/show_bug.cgi?id=738227 + +2014-10-07 16:57:27 +1100 Matthew Waters + + * tests/check/libs/aggregator.c: + tests/aggregator: add timeout handling test for the timeout parameter + +2014-10-06 21:46:24 +1100 Matthew Waters + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/video/gstvideoaggregator.c: + * gst/audiomixer/gstaudiomixer.c: + aggregator: add latency query handling + +2014-10-06 18:33:52 +1100 Matthew Waters + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: support unresponsive pads + Render unresponsive pads with the last video frame received. + +2014-10-06 18:23:03 +1100 Matthew Waters + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/base/gstaggregator.h: + aggregator: add a timeout property determining buffer wait time + Determines the amount of time that a pad will wait for a buffer before + being marked unresponsive. + Network sources may fail to produce buffers for an extended period of time, + currently causing the pipeline to stall possibly indefinitely, waiting for + these buffers to appear. + Subclasses should render unresponsive pads with either silence (audio), the + last (video) frame or what makes the most sense in the given context. + +2014-10-06 18:10:38 +1100 Matthew Waters + + * gst-libs/gst/video/gstvideoaggregator.c: + * gst-libs/gst/video/gstvideoaggregatorpad.h: + videoaggregator: remove the use of the queued buffer on sink pads + That data is now held by the aggregator class + +2014-10-09 11:46:23 +0300 Sebastian Dröge + + * gst/videoparsers/gsth265parse.c: + h265parse: expose parsed profile, tier and level to downstream + https://bugzilla.gnome.org/show_bug.cgi?id=732239 + +2014-10-09 01:18:16 +0300 Sreerenj Balachandran + + * gst/videoparsers/gsth264parse.c: + h264parse: expose parsed profile and level to downstream + Set parsed profile and level in src caps. + https://bugzilla.gnome.org/show_bug.cgi?id=732239 + +2014-10-09 10:54:35 +0300 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: Add support for HiDPI displays + Without this our GL surface would be upscaled after rendering + by Cocoa, which would reduce image quality. + +2014-10-09 12:28:11 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: output why we cannot convert a buffer + +2014-10-09 12:25:55 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: fix planar YUV download + - sample the u and v planes properly + - output the correctly scaled u and v planes for different chroma block sizes + +2014-10-08 21:51:12 +0300 Vivia Nikolaidou + + * ext/gl/gstgloverlay.c: + gloverlay: And fix another unused variable compiler warning + +2014-10-08 21:49:25 +0300 Vivia Nikolaidou + + * ext/gl/gstgloverlay.c: + gloverlay: Fix unused variable compiler warning when compiling without desktop GL + +2014-09-26 13:55:20 +0530 Anuj Jaiswal + + * ext/zbar/gstzbar.c: + zbar: Add YVU9 and YUV9 to ZBAR_YUV_CAPS + https://bugzilla.gnome.org/show_bug.cgi?id=737407 + +2014-09-28 10:51:09 +0800 Wang Xin-yu (王昕宇) + + * ext/gl/gltestsrc.c: + * ext/gl/gstgltestsrc.c: + gltestsrc: implement checkers pattern with GLSL + https://bugzilla.gnome.org/show_bug.cgi?id=737505 + +2014-10-07 15:24:10 +0300 Sebastian Dröge + + * tests/check/elements/hlsdemux_m3u8.c: + hlsdemux: Fix M3U8 parsing unit test after API changes + +2014-10-02 10:37:57 -0600 Thomas Bluemel + + * ext/hls/gsthlsdemux.c: + * ext/hls/gsthlsdemux.h: + * ext/hls/m3u8.c: + * ext/hls/m3u8.h: + hlsdemux: Fix accessing invalidated memory + In gst_hls_demux_get_next_fragment() the next fragment URI gets + stored in next_fragment_uri, but the gst_hls_demux_updates_loop() + can at any time update the playlist, rendering this string invalid. + Therefore, any data (like key, iv, URIs) that is taken from a + GstM3U8Client needs to be copied. In addition, accessing the + internals of a GstM3U8Client requires locking. + https://bugzilla.gnome.org/show_bug.cgi?id=737793 + +2014-10-07 12:12:04 +0200 Felix Schwarz + + * gst-libs/gst/mpegts/gst-dvb-section.c: + * gst-libs/gst/mpegts/gstmpegts-private.h: + * gst-libs/gst/mpegts/gstmpegtssection.c: + * gst-libs/gst/mpegts/mpegts.h: + mpegts: fix typos in comments + https://bugzilla.gnome.org/show_bug.cgi?id=738072 + +2014-10-07 23:04:30 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: fix UYVY download green screen + +2014-10-07 22:50:22 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolrconvert: fix YUY2 download + - The shader was outputing the wrong values compared with raw + videotestsrc. + - deal with the texture edge properly. + - properly sample the 2x1 rectangle for the u and v values + - don't double sample the y value + +2014-10-06 21:25:30 +0300 Vivia Nikolaidou + + * ext/curl/gstcurlsmtpsink.c: + curlsmtpsink: Set CURLOPT_UPLOAD to 1 to not use VRFY and other unneeded commands + Fixes the sink with SMTP servers that disable VRFY for spam protection. + http://sourceforge.net/p/curl/bugs/1389/ + +2014-09-17 16:48:02 +0200 Jan Alexander Steffens (heftig) + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Replace GMainContext with GAsyncQueue (v2) + The previous implementation kept accumulating GSources, + slowing down the iteration and leaking memory. + Instead of trying to fix the main context flushing, replace + it with a GAsyncQueue which is simple to flush and has + less overhead. + https://bugzilla.gnome.org/show_bug.cgi?id=736782 + +2014-10-06 13:09:00 +0200 Thibault Saunier + + * gst/audiomixer/gstaudiomixer.c: + audiomixer: Handle seek event in READY state + +2014-07-21 11:07:19 +0200 Thibault Saunier + + * gst/audiomixer/gstaudiomixer.c: + * gst/audiomixer/gstaudiomixer.h: + audiomixer: Set the sinkpad segments basetime after seeking + Otherwise stream offset and running time comparison will not be + correct, leading to segfaults after seeks + +2014-05-28 16:29:37 +0200 Thibault Saunier + + * gst/audiomixer/Makefile.am: + * gst/audiomixer/gstaudiomixer.c: + * gst/audiomixer/gstaudiomixer.h: + * tests/check/elements/audiomixer.c: + audiomixer: Port to GstAggregator + https://bugzilla.gnome.org/show_bug.cgi?id=737183 + Co-Authored by: Mathieu Duponchelle + +2014-09-23 15:59:10 +0200 Thibault Saunier + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Do not wrongly set the aggregator.segment + The aggregator.segment is not to be initialized by the subclasses but + by the aggregator itself. Moreover, initializing it on start would make + us loose the information coming from the initial seek. + +2014-07-30 11:57:46 +0200 Thibault Saunier + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Make sure not to unref a NULL pointer + +2014-08-05 15:36:30 +0200 Mathieu Duponchelle + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Set seqnum only when segments are received. + +2014-08-02 18:25:01 +0200 Thibault Saunier + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Add a streaming lock so to secure flush start action + Without a lock that is taken in FLUSH_START we had a rare race where we + end up aggregating a buffer that was before the whole FLUSH_START/STOP + dance. That could lead to very wrong behaviour in subclasses. + +2014-07-18 13:58:55 +0200 Thibault Saunier + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Query seeking when a seek failed to see if it was expected + And do not worry if seeking failed on a stream that is not seekable + +2014-07-18 01:41:26 +0200 Mathieu Duponchelle + + * gst-libs/gst/base/gstaggregator.c: + aggregator: set future seqnum before propagating the seek event. + So the seqnum is properly set for the following events. + +2014-07-08 16:16:55 +0200 Thibault Saunier + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Store segment when seeked in READY for later use + +2014-10-06 16:44:51 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264plugin.c: + openh264: Use a MARGINAL rank for the encoder and decoder + They work but for now we prefer others until these are extensively tested. + +2014-10-01 10:57:26 +0200 Lihua Liu + + * ext/curl/gstcurlsmtpsink.c: + curlsmtpsink: Email with multipart content-type should end with a final boundary + Add final boundary for each of the sending out emails from smtpsink. + https://bugzilla.gnome.org/show_bug.cgi?id=736134 + +2014-10-06 11:44:12 +0100 Vineeth T M + + * gst/videoparsers/gstmpegvideoparse.c: + * gst/videoparsers/gstvc1parse.h: + videoparser: comment unused GST_BASE_PARSE_FRAME_FLAG_PARSING + GST_BASE_PARSE_FRAME_FLAG_PARSING value is wrong, and the same flag is + not being used presently. Hence changing the value and commenting it out. + This needs to be included in baseparse.h later on + https://bugzilla.gnome.org/show_bug.cgi?id=737411 + +2014-10-04 20:55:08 +0200 Nicola Murino + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: make denoise work + https://bugzilla.gnome.org/show_bug.cgi?id=737894 + +2014-10-06 10:11:47 +0300 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Unmap and free GstVideoFrames as needed after conversion and errors + +2014-10-06 10:11:23 +0300 Sebastian Dröge + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Unref the taglist in GstAggregator::stop() + +2014-10-03 20:42:58 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add preliminary support for DTMB + Previously known as DMB-T/H, this is the + terrestial DTV broadcast standard currently + used by the People's Republic of China, + Hong Kong, Laos and Macau (officially), + and by Malaysia, Iraq, Jordan, Syria and + Lebanon (experimentally). + +2014-10-03 20:20:30 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add missing standard transmission modes + These apply to ISDB-T, DVB-T2 and DTMB + Order of the enum values (new rates after _AUTO) + has been kept congruent with the one in the v4l + API for consistency. + +2014-10-03 20:03:27 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add missing DTMB guard intervals + +2014-10-03 19:55:02 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add missing DVB-T2 guard intervals + According to the v4l-dvb API docs, these are only + used for DVB-T2 at the moment. + Order of the enum values (new rates after _AUTO) + has been kept congruent with the one in the v4l + API for consistency. + +2014-10-03 19:20:03 -0300 Reynaldo H. Verdejo Pinochet + + * gst-libs/gst/mpegts/gst-dvb-descriptor.h: + mpegts: fix typo in GstMpegtsExtendedEventDescriptor doc + +2014-10-03 19:06:21 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add _MUTABLE_PLAYING to tuning props + The element can (re)tune while playing so basically + every property used at set_fe_params() can be set + in state <= PLAYING. + +2014-10-03 17:22:23 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: The codec can only do baseline so simplify the code a bit + and declare this also on the srcpad caps. + With baseline profile there are no B-frames or frame reordering. + +2014-10-03 17:20:28 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: On ::finish() stop trying if the decoder returned that no output is available + +2014-10-03 13:54:22 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + * ext/openh264/gstopenh264enc.cpp: + * ext/openh264/gstopenh264plugin.c: + openh264: Run gst-indent over everything + +2014-10-03 13:52:32 +0300 Sebastian Dröge + + * ext/openh264/Makefile.am: + openh264: Remove unused codecparsers lib + +2014-10-02 16:46:25 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + * ext/openh264/gstopenh264enc.cpp: + openh264: Add FIXME comment about missing API in openh264 + +2014-10-02 16:33:30 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: Try to handle frame reordering + As openh264 has no way to attach any IDs to input frames that we then get on + the output frames, we have to assume that the input has valid PTS. We just + take the frame with the oldest PTS, and if there is no PTS information we take + the one with the oldest DTS. + +2014-10-02 16:23:37 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: Don't drop videocodec frames if we can't decode them *yet* + Fixes jittery playback of streams with B frames. + +2014-10-02 16:21:37 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: GstVideoDecoder works on frames, not sub-frames (e.g. NALs) + And we can just pass complete AUs to the decoder without problems. + +2014-10-02 16:19:46 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: As we require NAL alignment from upstream we don't need to parse anything + +2014-10-02 15:48:51 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: Properly drain codec on ::finish() + +2014-10-02 15:22:14 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: Properly drain the encoder on ::finish() + +2014-10-02 14:36:45 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: We always get a single frame as output, not a NAL + No need to accumulate NALs. + +2014-10-02 14:20:21 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: Fix up caps and stride handling + +2014-10-02 14:15:49 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: Add support for GstVideoMeta + This will allow upstream elements to work more efficiently. + +2014-10-02 14:12:11 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: Add support for GstVideoMeta + This will make operation with various sinks faster for free. + +2014-10-02 14:08:49 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: Optimize frame copying a bit + +2014-10-02 14:06:58 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: Don't forget to unref the input state + +2014-10-02 14:03:43 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: Fix various crashes on ::stop() + +2014-10-02 14:00:06 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: Remove invalid sprops-parameter-set handling + This only exists on RTP caps, not H264 caps. + +2014-10-02 13:53:01 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: Don't set caps manually + This will break the order of events in GStreamer. + +2014-10-02 13:49:14 +0300 Sebastian Dröge + + * ext/openh264/gstopenh264dec.cpp: + openh264dec: Fix input state handling and propagation of upstream caps fields + +2014-10-03 13:45:26 +0300 Sebastian Dröge + + * configure.ac: + * ext/Makefile.am: + * ext/openh264/Makefile.am: + * ext/openh264/gstopenh264dec.cpp: + * ext/openh264/gstopenh264dec.h: + * ext/openh264/gstopenh264enc.cpp: + * ext/openh264/gstopenh264enc.h: + * ext/openh264/gstopenh264plugin.c: + openh264: Add OpenH264 based encoder/decoder elements + These are the openh264 elements released under the BSD-2 license + by Ericsson as part of the OpenWebRTC project. + https://github.com/EricssonResearch/openwebrtc-gst-plugins + https://bugzilla.gnome.org/show_bug.cgi?id=737788 + +2014-09-18 17:14:22 +0200 Thibault Saunier + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Do not to release VIDEO_AGGREGATOR_LOCK while setting format info + We should be able to always keep the VIDEO_AGGREGATOR_LOCK while + negotiating caps, this patch introduce that change. + That also implies that we do not need the SETCAPS_LOCK anymore because + now VIDEO_AGGREGATOR_LOCK guarantees that setcaps is not called from + several threads and the gst_aggregator_set_caps method is now + protected. + https://bugzilla.gnome.org/show_bug.cgi?id=735042 + +2014-10-03 12:34:15 +0200 Thibault Saunier + + * gst-libs/gst/base/gstaggregator.c: + aggregator: Take lock to ensure set_caps is not called concurently + Avoiding to be in an inconsistent state where we do not have + actual negotiate caps set as srccaps and leading to point where we + try to unref ->srccaps when they have already been set to NULL. + https://bugzilla.gnome.org/show_bug.cgi?id=735042 + +2014-09-29 10:15:39 +0530 Vineeth T M + + * gst/aiff/aiffparse.c: + * gst/camerabin2/gstwrappercamerabinsrc.c: + * gst/coloreffects/gstchromahold.c: + * gst/dvdspu/gstdvdspu.c: + * gst/mpegtsmux/mpegtsmux.c: + * gst/mxf/mxfdemux.c: + * gst/rawparse/gstrawparse.c: + * gst/sdp/gstsdpdemux.c: + gst: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS + There are unnecessary definitions for disabling deprecation warnings. + Since GLIB_DISABLE_DEPRECATION_WARNINGS is not needed anymore in these files, + removing the same. + https://bugzilla.gnome.org/show_bug.cgi?id=737559 + +2014-10-01 16:19:02 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: unref caps when it is empty in renegotiate() + https://bugzilla.gnome.org/show_bug.cgi?id=737724 + +2014-10-02 10:26:43 +0300 Sebastian Dröge + + * sys/androidmedia/gstamc.c: + androidmedia: Fix calculation of the frame size for COLOR_FormatYUV420Planar + https://bugzilla.gnome.org/show_bug.cgi?id=734156 + +2014-10-01 17:22:59 +0300 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Also copy over the chroma siting and colorimetry when deciding on a conversion + +2014-10-01 17:18:05 +0300 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Revert the last commit and handle resolutions differences properly + This is about converting the format, not about converting any widths and + heights. Subclasses are expected to handler different resolutions themselves, + like the videomixers already do properly. + +2014-10-01 17:11:16 +0300 Sebastian Dröge + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: GstVideoConverter currently can't rescale and will assert + Leads to ugly assertions instead of properly erroring out: + CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed + +2014-10-01 16:04:36 +0300 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: Always update our viewport if Cocoa tells us something has changed + The visible rect and bounds might be the same as before, but Cocoa + might've changed our viewport without us nothing. This happens if + you hide the view and show it again. + +2014-10-01 11:55:13 +0300 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: Handle NSView::renewGState() properly + Don't update the screen until we redraw, this prevents flickering during + scrolling, clipping, resizing, etc + +2014-10-01 00:53:59 +0100 Tim-Philipp Müller + + * ext/fluidsynth/gstfluiddec.c: + fluiddec: don't crash on 0-sized input buffers + https://bugzilla.gnome.org/show_bug.cgi?id=737658 + +2014-09-30 14:58:06 +0200 Lubosz Sarnecki + + * configure.ac: + gltransformation: requires graphene 1.0.0 + +2014-09-25 17:01:31 +0200 Lubosz Sarnecki + + * ext/gl/gstgltransformation.c: + gltransformation: graphene multiplication order has changed + https://bugzilla.gnome.org/show_bug.cgi?id=733510 + +2014-09-30 20:39:36 +1000 Matthew Waters + + * ext/gl/gstglvideomixer.c: + glvideomixer: update element documentation + +2014-09-30 18:26:34 +1000 Matthew Waters + + * tests/check/Makefile.am: + * tests/check/libs/.gitignore: + * tests/check/libs/gstglcolorconvert.c: + tests/glcolorconvert: do reorder checking for rgba formats + +2014-09-30 14:46:14 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglcolorconvert.c: + glcolorconvert: convert xRGB into ARGB properly + The alpha channel might not be the last component so check which one + it is in and clobber that one instead. + +2014-09-30 01:45:20 +1000 Matthew Waters + + * tests/check/libs/gstglmemory.c: + tests/glmemory: add simple transfer test + tests transferring to/from the GL with a 1x1 RGBA pixel. + +2014-09-30 01:38:05 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: unset the opposite corresponding transfer flags when mapped with write + fixes consistency with consecutive gst_memory_map()'s with + flags & GST_MAP_WRITE + +2014-09-29 09:33:42 +0300 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: Update viewport according to the current clipping + We have to update the GL viewport if the NSView is only partially + visible. Otherwise the content of the frame will be visibly offset. + +2014-09-29 10:01:27 +0200 Jesper Larsen + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: do not discard on discont if PES start + If a discontinuity in the stream is detected, data is discarded until + a new PES starts. If the first packet after the discontinuity is also + the start of a PES, there is no reason to discard the packets. + https://bugzilla.gnome.org/show_bug.cgi?id=737569 + +2014-07-31 22:57:40 +0100 David Waring + + * ext/dash/gstdashdemux.c: + * ext/dash/gstmpdparser.c: + dash: Use GstUri to join URIs + +2014-09-29 10:49:46 +0300 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + gl/cocoa: Improve the NSApplication initialization + This is only for non-Cocoa apps but previously caused a 2 second + waiting during startup for Cocoa apps. This is unacceptable. + Instead we now check a bit more extensive if something actually + runs on the GLib default main context, and if not don't even + bother waiting for something to happen from there. + +2014-09-29 09:24:49 +0300 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: NSView::drawRect() should call into reshape too + We a) need to render again because part of the window was + obscured and b) might need to reshape because of clipping + changes. + +2014-09-26 14:21:46 +0300 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: Call UI related API from the application main thread + +2014-09-26 13:05:27 +0300 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: + gl/cocoa: Switch to a plain NSView subclass instead of NSOpenGLView + We don't and can't use NSOpenGLView as it's supposed to be used and + it gets into our way by being to clever in various situations. + +2014-09-29 08:54:29 +0200 Edward Hervey + + * gst-libs/gst/gl/gstglcontext.c: + glcontext: Initialize variable + Avoids the following warning: + gstglcontext.c:647:58: error: 'prev' may be used uninitialized in + this function [-Werror=maybe-uninitialized] + +2014-09-28 18:03:09 +0200 Josep Torra + + * gst-libs/gst/video/Makefile.am: + video: fix build in gst-uninstalled setup + Include the base video lib appropriately and resort all of them as + thaytan suggested. + +2014-09-29 00:23:57 +1000 Jan Schmidt + + * tests/examples/gl/qt/qglwtextureshare/README: + * tests/examples/gl/qt/qglwtextureshare/gstthread.cpp: + * tests/examples/gl/qt/qglwtextureshare/gstthread.h: + * tests/examples/gl/qt/qglwtextureshare/pipeline.cpp: + * tests/examples/gl/qt/qglwtextureshare/pipeline.h: + * tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp: + * tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro: + examples: Fix Qt/GL qglwtextureshare example for X11 + We need to pass the X11 display to GstGL or else it will + use its own X11 Display pointer, and the GL Context won't get shared + correctly on newer X servers + +2014-09-28 20:21:50 +1000 Jan Schmidt + + * tests/examples/gl/qt/.gitignore: + * tests/examples/gl/qt/README: + * tests/examples/gl/qt/mousevideooverlay/main.cpp: + * tests/examples/gl/qt/mousevideooverlay/mousevideooverlay.pro: + * tests/examples/gl/qt/mousevideooverlay/pipeline.cpp: + * tests/examples/gl/qt/mousevideooverlay/pipeline.h: + * tests/examples/gl/qt/mousevideooverlay/qrenderer.cpp: + * tests/examples/gl/qt/mousevideooverlay/qrenderer.h: + * tests/examples/gl/qt/qglwidgetvideooverlay/main.cpp: + * tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp: + * tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.h: + * tests/examples/gl/qt/qglwidgetvideooverlay/qglwidgetvideooverlay.pro: + * tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp: + * tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro: + * tests/examples/gl/qt/videooverlay/Debug/videooverlay: + * tests/examples/gl/qt/videooverlay/videooverlay.pro: + * tests/examples/gl/qt/videooverlay/videovideooverlay.pro: + examples: port GL/Qt examples to Qt5 + Update the GL Qt integration examples for Qt5 changes and for GstGL + signal signature changes. + +2014-09-29 00:32:05 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglcontext.c: + glcontext: fixup error in sharegroup comment + +2014-09-29 00:27:30 +1000 Matthew Waters + + * ext/gl/gltestsrc.c: + * ext/gl/gstgltestsrc.c: + Revert accidental push: "gltestsrc: implement checkers pattern with GLSL" + This reverts commit eae09179f0b4eb584c8fc7b6560d8fc8e86eed4c. + +2014-09-29 00:24:28 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglcontext.c: + glcontext: detect the sharegroup case where the context are in different chains + In the end they will lead to the same root context in the tree so check that + for equality. + +2014-09-28 10:51:09 +0800 Wang Xin-yu (王昕宇) + + * ext/gl/gltestsrc.c: + * ext/gl/gstgltestsrc.c: + gltestsrc: implement checkers pattern with GLSL + +2014-09-28 21:18:32 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: silence a warning with empty input caps + discovered with the doublecube example + gst_caps_get_features: assertion 'index < GST_CAPS_LEN (caps)' failed + +2014-09-28 20:37:04 +1000 Matthew Waters + + * tests/examples/gl/generic/cube/main.cpp: + * tests/examples/gl/generic/cubeyuv/main.cpp: + * tests/examples/gl/generic/doublecube/main.cpp: + * tests/examples/gl/generic/recordgraphic/main.cpp: + examples/gl: update for signal signature change + +2014-09-28 16:58:42 +1000 Matthew Waters + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: don't create converters when the subclass doesn't want them + fixes a critical with glvideomixer after + 35bd1969f912cecda0fb5df9595a005e6ddf4e7a + CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed + +2014-09-26 22:29:56 +1000 Matthew Waters + + * ext/gl/gstgloverlay.c: + gloverlay: fix zero output frames with YUY2/UYVY + also, be nice and disable blending for other elements + +2014-09-26 22:22:06 +1000 Matthew Waters + + * ext/gl/gstgloverlay.c: + gloverlay: protect desktop gl specific tokens with #if + +2014-09-26 12:28:10 +1000 Matthew Waters + + * ext/gl/gstgloverlay.c: + gloverlay: free the image memory every time the location changes + fixes a memory leak + +2014-09-25 20:48:59 +0300 Sebastian Dröge + + * ext/gl/Makefile.am: + gloverlay: Include into the build with GLES2 only too + +2014-09-26 01:45:22 +1000 Matthew Waters + + * ext/gl/gstgltestsrc.c: + gltestsrc: free the shader on stop + +2014-09-26 01:34:54 +1000 Matthew Waters + + * ext/gl/gstglvideomixer.c: + glvideomixer: fix blending with low-alpha sources + We also need to apply the blend paramaters to the alpha channel otherwise + the output of the blend will appear black at low alpha values (< 0.2). + +2014-09-26 01:14:35 +1000 Matthew Waters + + * ext/gl/gstgloverlay.c: + * ext/gl/gstgloverlay.h: + * ext/gl/gstopengl.c: + gloverlay: reimplement everything + - update for shaders + - add alpha property + - image placement properties shamelessly borrowed from gdkpixbufoverlay + - image placement properties are GstController able + - use GstGLMemory for the overlay image data + - add support for gles2 + +2014-09-25 16:04:33 +0100 Luis de Bethencourt + + * gst/dvdspu/gstdvdspu.c: + * gst/jp2kdecimator/jp2kcodestream.c: + * gst/jpegformat/gstjifmux.c: + * gst/nuvdemux/gstnuvdemux.c: + * gst/videoparsers/gsth265parse.c: + * gst/videoparsers/gstmpeg4videoparse.c: + style: remove unnecessary break statements + Code flow never arrives to these break statements due to the gotos preceding + them. So the breaks are unnecessary, as discussed in bug 736942. + https://bugzilla.gnome.org/show_bug.cgi?id=737370 + +2014-09-25 15:45:57 +0100 Luis de Bethencourt + + * ext/mpeg2enc/gstmpeg2enc.cc: + mpeg2enc: break statement unnecessary + Code flow never arrives to the break statements due to the goto's. So the + breaks are unnecessary. + https://bugzilla.gnome.org/show_bug.cgi?id=736942 + +2014-09-25 16:13:19 +0300 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h: + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/cocoa: Switch from our custom main loop to a GMainLoop + Simplifies code a lot and makes it more similar to the other backends. + +2014-09-25 16:12:24 +0300 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + gl/cocoa: Clear the current GL context when it should happen + +2014-09-24 12:42:23 +0200 Lihua Liu + + * ext/curl/gstcurlsmtpsink.c: + curlsmtpsink: Email with multipart content-type should end with a final boundary + Add final boundary for each of the sending out emails from smtpsink. + https://bugzilla.gnome.org/show_bug.cgi?id=736134 + +2014-09-25 10:14:41 +0200 Stefan Sauer + + * ext/curl/gstcurlbasesink.c: + * ext/curl/gstcurlhttpsink.c: + curl*sink: add more logging + +2014-09-25 08:05:50 +0200 Stefan Sauer + + * ext/curl/gstcurlbasesink.c: + curlbasesink: add a debug function + If gstreamer is build with logging enabled, add a debug function and output + verbose messages to the log instead of stderr. + +2014-09-24 22:24:49 +0200 Stefan Sauer + + * ext/curl/gstcurlhttpsink.c: + curlhttpsink: only add content-disposition header if a filename is set + The header is optional and therefore we better omit it if we don't have a filename. + +2014-09-24 22:06:21 +0200 Stefan Sauer + + * ext/curl/gstcurlbasesink.c: + curlbasesink: don't replace specific error messages with a generic one + Only set an error if we haven't set one already. + +2014-09-24 21:07:20 +0200 Stefan Sauer + + * ext/curl/gstcurltlssink.c: + curltlssink: swap check + Lets check for NULL first, as that is the default anyway. + +2014-07-29 16:12:26 +0200 Thibault Saunier + + * gst/videoparsers/gsth264parse.c: + h264parse: Return flushing if we get chained while being set to READY + Or not negotiated in the case we would be actually not negotiated + Currently we are getting assertions from + gst_pb_utils_add_codec_description_to_tag_list because of NULL + caps. + https://bugzilla.gnome.org/show_bug.cgi?id=737186 + +2014-09-09 13:12:31 +0200 Matthieu Bouron + + * ext/dash/gstdashdemux.c: + * ext/dash/gstdashdemux.h: + dashdemux: mark first buffer as discont after restarting a download task + Mark first buffer as discont after restarting a download task, so + downstream can reset its state to properly handle the new fragment. + Related issue: https://bugzilla.gnome.org/show_bug.cgi?id=736318 + https://bugzilla.gnome.org/show_bug.cgi?id=736319 + +2014-09-19 22:32:39 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + dashdemux: push a time segment when restarting streaming + This should inform demuxers/decoders downstream that the stream is + about to start from a new position and they should flush accordingly + https://bugzilla.gnome.org/show_bug.cgi?id=736319 + +2014-09-24 16:55:49 +0200 Wim Taymans + + * gst-libs/gst/video/Makefile.am: + * gst-libs/gst/video/bad-video-orc-dist.c: + * gst-libs/gst/video/bad-video-orc-dist.h: + * gst-libs/gst/video/bad-video-orc.orc: + * gst-libs/gst/video/gstcms.c: + * gst-libs/gst/video/gstcms.h: + * gst-libs/gst/video/gstvideoaggregator.c: + * gst-libs/gst/video/videoconvert.c: + * gst-libs/gst/video/videoconvert.h: + video: use video lib conversion code instead of copy + +2014-09-18 17:26:37 +0530 Anuj Jaiswal + + * ext/mplex/gstmplex.cc: + mplex: break statement unnecessary + One more code flow issue where it never arrives to the break statement due to + the goto. So the break is unnecessary. + Plus two coding style fixes. + https://bugzilla.gnome.org/show_bug.cgi?id=736895 + +2014-09-24 22:42:58 +1000 Jan Schmidt + + * gst/debugutils/gstchopmydata.c: + chopmydata: Transfer timestamps to output buffers + Allows using chopmydata as a simple repacketizer + +2014-09-19 09:51:48 +0530 Anuj Jaiswal + + * sys/androidmedia/gstamcaudiodec.c: + androidmedia: break statements unnecessary + Code flow never arrives to the break statements due to the goto's. So the + breaks are unecessary. Second part to commit a3958ae65b + https://bugzilla.gnome.org/show_bug.cgi?id=736940 + +2014-09-19 09:59:41 +0530 Anuj Jaiswal + + * sys/androidmedia/gstamcvideodec.c: + androidmedia: break statement unnecessary + Code flow never arrives to the break statements due to the goto's. So the + breaks are unecessary. + https://bugzilla.gnome.org/show_bug.cgi?id=736942 + +2014-09-18 16:13:58 -0400 Joshua M. Doe + + * sys/dshowsrcwrapper/gstdshow.cpp: + * sys/dshowsrcwrapper/gstdshow.h: + * sys/dshowsrcwrapper/gstdshowaudiosrc.cpp: + * sys/dshowsrcwrapper/gstdshowvideosrc.cpp: + dshowsrcwrapper: avoid error when set_caps called twice + If set_caps is called in a running state, return immediately if the caps + haven't changed. If the pins are already connected, disconnect them. + https://bugzilla.gnome.org/show_bug.cgi?id=736926 + +2014-09-24 14:29:37 +1000 Matthew Waters + + * ext/gl/gstglvideomixer.c: + glvideomixer: skip input frames with an alpha of 0 + +2014-09-24 13:13:19 +1000 Matthew Waters + + * ext/gl/gstglmixer.c: + * ext/gl/gstglmixer.h: + * ext/gl/gstgltestsrc.c: + * ext/gl/gstgltestsrc.h: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglfilter.h: + gl: download whenever we have sysmem capsfeatures + Otherwise we could pass on a RGBA formatted buffer and downstream would + misinterpret that as some other video format. + Fixes pipelines of the form + gleffects ! tee ! xvimagesink + +2014-09-19 01:22:14 +0200 Sebastian Rasmussen + + * ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in: + gsettings: Fix typo in description + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=736933 + +2014-09-23 17:32:59 +0100 Luis de Bethencourt + + * gst/mpegpsmux/psmuxstream.c: + mpegpsmux: refactor duplicate else branches + Unknown case should assert if reached instead of just assuming the max buffer + size. + https://bugzilla.gnome.org/show_bug.cgi?id=736460 + +2014-09-19 09:54:11 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: initialize sent_codec_tag before using it + https://bugzilla.gnome.org/show_bug.cgi?id=736951 + +2014-09-22 17:14:29 +0530 Sanjay NM + + * gst/videofilters/gstzebrastripe.c: + videofilters: Add support for more YUV formats + https://bugzilla.gnome.org/show_bug.cgi?id=737111 + +2014-08-21 02:14:40 +0200 Lubosz Sarnecki + + * ext/gl/gstgltestsrc.c: + * ext/gl/gstgltestsrc.h: + gltestsrc: add Mandelbrot fractal pattern. + https://bugzilla.gnome.org/show_bug.cgi?id=735131 + +2014-08-21 02:13:58 +0200 Lubosz Sarnecki + + * ext/gl/gltestsrc.c: + * ext/gl/gltestsrc.h: + * ext/gl/gstgltestsrc.c: + * ext/gl/gstgltestsrc.h: + gltestsrc: implement snow pattern with GLSL. + https://bugzilla.gnome.org/show_bug.cgi?id=735131 + +2014-09-23 12:02:18 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglupload.c: + glupload: fallback to upload if contexts cannot share GL resources + Fixes pipelines of the form + gleffects ! tee ! glimagesink + as tee does not pass on the allocation query. + +2014-09-23 12:01:04 +1000 Matthew Waters + + * docs/libs/gst-plugins-bad-libs-sections.txt: + * gst-libs/gst/gl/gstglcontext.c: + * gst-libs/gst/gl/gstglcontext.h: + glcontext: add gst_gl_context_can_share + Which determines whether two GstGLContext's can share sharable + OpenGL resources. + +2014-09-22 20:01:27 +1000 Matthew Waters + + * tests/check/libs/gstglupload.c: + gl/tests: update for upload API changes + +2014-09-22 10:08:17 +0300 Sebastian Dröge + + * gst-libs/gst/gl/gstglcontext.c: + gl: Let gst_gl_context_get_thread() return a new reference to the GThread + Otherwise it might go away in the meantime and the caller has some random pointer. + +2014-09-22 11:10:42 +0530 Anuj Jaiswal + + * gst-libs/gst/gl/gstglfilter.c: + gl: consecutive return, break statement + Signed-off-by: Anuj Jaiswal + https://bugzilla.gnome.org/show_bug.cgi?id=736939 + +2014-09-22 12:21:22 +1000 Matthew Waters + + * gst-libs/gst/gl/glprototypes/debug.h: + gl/debug: desktop GL does not have the KHR suffixes + +2014-09-22 11:59:30 +1000 Matthew Waters + + * tests/examples/gl/gtk/fxtest/fxtest.c: + * tests/examples/gl/gtk/gtkvideooverlay/main.cpp: + examples/gl/gtk: use the sync bus callback to set the window handle + And output error messages. + +2014-09-19 18:59:01 -0300 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add missing FEC rates + Order of the enum values (new rates after _AUTO) + has been kept congruent with the one in the v4l + API for consistency. + +2014-09-21 13:32:29 +0100 Tim-Philipp Müller + + * gst-libs/gst/gl/gstglcontext.c: + gl: add since markers for new API + +2014-09-21 21:42:41 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: add debug line for freeing textures + +2014-09-21 21:36:49 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + * ext/gl/gstglmixer.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglupload.c: + * gst-libs/gst/gl/gstglupload.h: + glupload: provide the output buffer that is rendered into + Allows callers to properly reference count the buffers used for + rendering. + Fixes a redraw race in glimagesink where the previous buffer + (the one used for redraw operations) is freed as soon as the next + buffer is uploaded. + 1. glimagesink uploads in _prepare() to texture n + 1.1 glupload holds buffer n + 2. glimagesink _render()s texture n + 3. glimagesink uploads texture n+1 + 3.1 glupload free previous buffer which deletes texture n + 3.2 glupload holds buffer n+1 + 4. glwindow resize/expose + 5. glimagesink redraws with texture n + The race is that the buffer n (the one used for redrawing) is freed as soon as + the buffer n+1 arrives. There could be any amount of time and number of + redraws between this event and when buffer n+1 is actually rendered and thus + replaces buffer n as the redraw source. + https://bugzilla.gnome.org/show_bug.cgi?id=736740 + +2014-09-21 21:30:58 +1000 Matthew Waters + + * docs/libs/gst-plugins-bad-libs-sections.txt: + * gst-libs/gst/gl/gstglcontext.c: + * gst-libs/gst/gl/gstglcontext.h: + glcontext: add API to retreive the thread that context is active in + +2014-09-19 15:32:33 +0530 Sanjay NM + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglmixer.c: + gl: Removed unreachable break, unused variable + https://bugzilla.gnome.org/show_bug.cgi?id=736957 + +2014-09-19 14:36:39 +0300 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Fix encoder to work on iOS + iOS has special stride requirements that we don't know yet, so copy + input buffers into buffers allocated by iOS for now. + Later we should check the stride and probably provide a buffer pool for these + buffers so upstream can directly write in there. + +2014-09-19 14:32:46 +0300 Sebastian Dröge + + * sys/applemedia/coremediabuffer.c: + * sys/applemedia/corevideobuffer.c: + applemedia: We need to map the coremedia buffers in non-readonly mode + Our buffers claim to be writable so other elements expect to be able + to write there without losing their changes. + +2014-09-18 18:16:59 +0200 Philippe Normand + + * ext/hls/gsthlsdemux.c: + hlsdemux: lock client mutex before entering the retry_failover block + This is consistent with the case where the block execution is + triggered by the goto invoked after the current_variant update. + https://bugzilla.gnome.org/show_bug.cgi?id=736919 + +2014-09-12 02:36:47 -0300 George Kiagiadakis + + * ext/smoothstreaming/gstmssdemux.c: + * ext/smoothstreaming/gstmssdemux.h: + mssdemux: synchronize with the download loop thread to signal it to continue + If EOS or ERROR happens before the download loop thread has reached its + g_cond_wait() call, then the g_cond_signal doesn't have any effect and + the download loop thread stucks later. + https://bugzilla.gnome.org/show_bug.cgi?id=735663 + +2014-09-12 02:35:44 -0300 George Kiagiadakis + + * ext/hls/gsthlsdemux.c: + * ext/hls/gsthlsdemux.h: + hlsdemux: synchronize with the download loop thread to signal it to continue + If EOS or ERROR happens before the download loop thread has reached its + g_cond_wait() call, then the g_cond_signal doesn't have any effect and + the download loop thread stucks later. + https://bugzilla.gnome.org/show_bug.cgi?id=735663 + +2014-08-29 12:38:12 +0200 George Kiagiadakis + + * ext/dash/gstdashdemux.c: + * ext/dash/gstdashdemux.h: + dashdemux: synchronize with the download loop thread to signal it to continue + If EOS or ERROR happens before the download loop thread has reached its + g_cond_wait() call, then the g_cond_signal doesn't have any effect and + the download loop thread stucks later. + https://bugzilla.gnome.org/show_bug.cgi?id=735663 + +2014-09-17 17:27:53 -0300 Thiago Santos + + * ext/smoothstreaming/gstmssdemux.c: + mssdemux: fix clearing of eos state in pads + The internal pad still keeps its EOS flag and event as it can be assigned + after the flush-start/stop pair is sent. The EOS is assigned from the streaming + thread so this is racy. + To be sure to clear it, it has to be done after setting the source to READY to + be sure that its streaming thread isn't running. + https://bugzilla.gnome.org/show_bug.cgi?id=736012 + +2014-09-17 17:27:25 -0300 Thiago Santos + + * ext/hls/gsthlsdemux.c: + hlsdemux: fix clearing of eos state in pads + The internal pad still keeps its EOS flag and event as it can be assigned + after the flush-start/stop pair is sent. The EOS is assigned from the streaming + thread so this is racy. + To be sure to clear it, it has to be done after setting the source to READY to + be sure that its streaming thread isn't running. + https://bugzilla.gnome.org/show_bug.cgi?id=736012 + +2014-09-17 14:51:53 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + dashdemux: fix clearing of eos state in pads + The internal pad still keeps its EOS flag and event as it can be assigned + after the flush-start/stop pair is sent. The EOS is assigned from the streaming + thread so this is racy. + To be sure to clear it, it has to be done after setting the source to READY to + be sure that its streaming thread isn't running. + https://bugzilla.gnome.org/show_bug.cgi?id=736012 + +2014-09-18 17:49:46 +0300 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Let the encoder automatically choose a h264 level + We should negotiate these things via caps... + +2014-09-18 13:45:33 +0300 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Use 0 instead of G_MAXDOUBLE as the max keyframe interval + 0 means no limit, which was meant here with G_MAXDOUBLE probably. + +2014-09-18 13:42:24 +0300 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Expected duration is supposed to be the duration of the stream, not a frame + Just don't set it for now, it isn't really needed. + +2014-09-18 11:39:53 +0200 Aurélien Zanelli + + * tests/check/libs/vc1parser.c: + vc1parser: add unit test for sequence-layer parsing + Check that a sequence-layer header is successfully parsed. + https://bugzilla.gnome.org/show_bug.cgi?id=736871 + +2014-09-18 11:49:13 +0200 Aurélien Zanelli + + * gst-libs/gst/codecparsers/gstvc1parser.c: + vc1parser: take care of endianness when parsing sequence-layer + sequence-layer is serialized in little-endian byte order except for + STRUCT_C which is serialized in big-endian byte order. + But since STRUCT_A and STRUCT_B fields are defined as unsigned int msb + first, we have to pass them as big-endian to their parsing function. So + we basically use temporary buffers to convert them in big-endian. + See SMPTE 421M Annex J and L. + https://bugzilla.gnome.org/show_bug.cgi?id=736871 + +2014-09-18 13:11:05 +0300 Sebastian Dröge + + * sys/applemedia/vtenc.c: + * sys/applemedia/vtenc.h: + vtenc: Properly handle keyframes + Especially set the SYNC_POINT flag on keyframes. + +2014-09-18 14:24:13 +0530 Sanjay NM + + * gst/mpegdemux/gstmpegdemux.c: + mpegdemux: removed an unwanted initialization and a variable + https://bugzilla.gnome.org/show_bug.cgi?id=736863 + +2014-09-17 12:24:39 +0200 Jerome Laheurte + + * sys/dshowsrcwrapper/BUILD.txt: + * sys/dshowsrcwrapper/CMakeLists.txt: + * sys/dshowsrcwrapper/gstdshow.cpp: + * sys/dshowsrcwrapper/gstdshowaudiosrc.cpp: + * sys/dshowsrcwrapper/gstdshowaudiosrc.h: + * sys/dshowsrcwrapper/gstdshowfakesink.cpp: + * sys/dshowsrcwrapper/gstdshowvideosrc.cpp: + * sys/dshowsrcwrapper/gstdshowvideosrc.h: + dshowsrcwrapper: Port to 1.0 + https://bugzilla.gnome.org/show_bug.cgi?id=732283 + +2014-09-18 12:53:11 +0530 Sanjay NM + + * gst/camerabin2/gstwrappercamerabinsrc.c: + camerabin2: removed redundant initialization + https://bugzilla.gnome.org/show_bug.cgi?id=736853 + +2014-09-17 15:50:23 +0530 Anuj Jaiswal + + * ext/faad/gstfaad.c: + faad: logical disjunction consecutive return, break unnecessary + https://bugzilla.gnome.org/show_bug.cgi?id=736790 + +2014-09-17 11:49:22 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: enable header-format conversion + In fact we support header-format conversion which is done in + update_caps() method. + https://bugzilla.gnome.org/show_bug.cgi?id=736786 + +2014-09-18 10:30:04 +0300 Sebastian Dröge + + * sys/applemedia/vtdec.c: + vtdec: Fix compilation + +2014-09-18 09:47:06 +0300 Sebastian Dröge + + * sys/applemedia/vtdec.c: + vtdec: Handle 0/1 framerates correctly by not calculating their frame duration + +2014-09-17 17:37:12 +0300 Sebastian Dröge + + * sys/applemedia/atdec.c: + atdec: Fix some compiler warnings with newer clang + +2014-09-17 17:10:58 +0300 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Prepare encoder after setup + This will allow encoding to happen faster on the first frame. + +2014-09-17 17:08:57 +0300 Sebastian Dröge + + * sys/applemedia/vtenc.c: + * sys/applemedia/vtenc.h: + vtenc: Only drain the encoder in ::finish(), not on every frame + Otherwise quality and bitrate will be bad. + +2014-09-17 15:39:26 +0300 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Error out if encoding returned an error + Otherwise we will just continue consuming frames until all memory is filled + up and the app crashes. + +2014-09-17 14:56:05 +0300 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Check for errors from VTCompressionSessionCompleteFrames() + +2014-09-17 14:55:24 +0300 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Properly scale timestamps for the API and set invalid values + +2014-09-17 14:54:39 +0300 Sebastian Dröge + + * sys/applemedia/vtdec.c: + vtdec: Properly scale timestamps for the API and set invalid values + +2014-09-17 13:19:04 +0300 Sebastian Dröge + + * sys/applemedia/Makefile.am: + * sys/applemedia/plugin.m: + * sys/applemedia/vth264decbin.c: + * sys/applemedia/vth264decbin.h: + * sys/applemedia/vth264encbin.c: + * sys/applemedia/vth264encbin.h: + applemedia: Remove old code that is of no use anymore + +2014-09-16 17:38:53 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: forge sequence-layer from seq_hdr instead of seq_layer + If we don't have a seq_layer_buffer, we also don't have a valid + seq_layer because there are set together in + gst_vc1_parse_handle_seq_layer(). + So when output header format is sequence-layer and when we don't have a + seq_layer_buffer, we forge one from seq_hdr. + https://bugzilla.gnome.org/show_bug.cgi?id=736781 + +2014-09-17 10:39:26 +0300 Sebastian Dröge + + * configure.ac: + applemedia: Unconditionally use VideoToolbox on iOS if available + Because we do weak linking now we can always compile it in and check at + runtime if it is actually available or not. + +2014-09-17 10:38:20 +0300 Sebastian Dröge + + * sys/applemedia/Makefile.am: + * sys/applemedia/plugin.m: + applemedia: Do weak linking with the VideoToolbox framework + It does not exist on older OSX and iOS but we still want to + be able to use it when it's available. + +2014-09-16 12:06:35 +0200 Ognyan Tonchev + + * ext/wayland/gstwaylandsink.c: + waylandsink: do not leak buffer pool in error case + https://bugzilla.gnome.org/show_bug.cgi?id=736735 + +2014-09-16 15:59:58 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: fix sequence-layer/frame-layer endianness + Sequence-layer and frame-layer are serialized in little-endian byte + order except for STRUCT_C and framedata fields as described in SMPTE 421M Annex + L. + https://bugzilla.gnome.org/show_bug.cgi?id=736750 + +2014-09-16 16:51:28 +0300 Sebastian Dröge + + * sys/applemedia/vtenc.c: + * sys/applemedia/vtenc.h: + vtenc: Port to GstVideoEncoder base class + +2014-09-16 16:13:16 +0300 Sebastian Dröge + + * sys/applemedia/vtenc.c: + vtenc: Use correct instance struct size + +2014-09-16 15:48:11 +0300 Sebastian Dröge + + * sys/applemedia/vtdec.c: + vtdec: Fix compiler warnings + values of type 'OSStatus' should not be used as format arguments; add an explicit cast to 'int' instead [-Wformat] + +2014-09-16 15:02:46 +0300 Sebastian Dröge + + * sys/applemedia/Makefile.am: + * sys/applemedia/coremediactx.c: + * sys/applemedia/coremediactx.h: + * sys/applemedia/dynapi-internal.h: + * sys/applemedia/dynapi.c: + * sys/applemedia/dynapi.h: + * sys/applemedia/mtapi.c: + * sys/applemedia/mtapi.h: + * sys/applemedia/vtapi.c: + * sys/applemedia/vtapi.h: + * sys/applemedia/vtenc.c: + * sys/applemedia/vtenc.h: + vtenc: Port to the real VideoToolbox API instead of using our dlopen() wrapper + It's a public framework since a long time. + +2014-09-16 11:42:34 +0200 Ognyan Tonchev + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: do not leak pool in error cases + https://bugzilla.gnome.org/show_bug.cgi?id=736732 + +2014-09-16 11:43:02 +0200 Ognyan Tonchev + + * sys/vdpau/gstvdpdecoder.c: + vdpdecoder: do not leak pool + https://bugzilla.gnome.org/show_bug.cgi?id=736733 + +2014-09-16 11:41:43 +0200 Ognyan Tonchev + + * ext/gl/gstgltestsrc.c: + gltestsrc: do not leak pool in error cases + https://bugzilla.gnome.org/show_bug.cgi?id=736730 + +2014-09-16 11:42:13 +0200 Ognyan Tonchev + + * ext/openni2/gstopenni2src.cpp: + openni2src: do not leak pool + https://bugzilla.gnome.org/show_bug.cgi?id=736731 + +2014-09-16 11:41:16 +0200 Ognyan Tonchev + + * ext/gl/gstglmixer.c: + glmixer: do not leak pool in error cases + https://bugzilla.gnome.org/show_bug.cgi?id=736729 + +2014-09-16 13:21:22 +0530 Vineeth T M + + * gst/vmnc/vmncdec.c: + vmncdec: modify wrong packetized mode logic + packetized mode is being set when framerate is being set + which is not correct. Changing the same by checking the + input segement format. If input segment is in TIME it is + Packetized, and if it is in BYTES it is not. + https://bugzilla.gnome.org/show_bug.cgi?id=736252 + +2014-09-16 11:24:37 +0300 Sebastian Dröge + + * ext/webp/gstwebpdec.c: + webpdec: Remove unused variable + +2014-09-16 13:19:25 +0530 Vineeth T M + + * ext/webp/gstwebpdec.c: + webpdec: modify wrong packetized mode logic + packetized mode is being set when framerate is being set + which is not correct. Changing the same by checking the + input segement format. If input segment is in TIME it is + Packetized, and if it is in BYTES it is not. + https://bugzilla.gnome.org/show_bug.cgi?id=736252 + +2014-09-16 01:15:31 +0300 Sebastian Dröge + + * tests/check/elements/templatematch.c: + templatematch: Compare the correct loop variables + +2014-09-15 15:42:41 +0300 Sebastian Dröge + + * sys/applemedia/vtdec.c: + vtdec: No need to set kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder on iOS + +2014-09-15 15:36:44 +0300 Sebastian Dröge + + * configure.ac: + configure: And make the preprocessor check work properly + +2014-09-15 15:25:46 +0300 Sebastian Dröge + + * configure.ac: + configure: Do the AM_CONDITIONAL() after finally setting the variable + +2014-09-15 15:12:31 +0300 Sebastian Dröge + + * configure.ac: + * sys/applemedia/vtdec.c: + applemedia: Don't include VideoToolbox on iOS < 8.0 + It's private API and does not work without a jailbroken device. + +2014-09-15 13:33:45 +0300 Sebastian Dröge + + * ext/hls/gsthlsdemux.c: + hlsdemux: Also refetch the playlist after the first fragment failure + Previously we only refetched the playlist if downloading a fragment + has failed once. We should also do that if it failed a second or third time, + chances are that the playlist was updated now and contains new URIs. + +2014-09-15 11:59:32 +0300 Sebastian Dröge + + * ext/dash/gstdashdemux.c: + dash: Actually retry 3 times as advertised instead of 2 + +2014-09-15 11:59:19 +0300 Sebastian Dröge + + * ext/hls/gsthlsdemux.c: + hls: Actually retry 3 times as advertised instead of 2 + +2014-09-13 20:49:16 +0300 Sebastian Dröge + + * sys/applemedia/vtdec.c: + vtdec: Fix compilation on iOS 8.0 + +2014-09-11 14:36:31 +0200 Aurélien Zanelli + + * gst/videoparsers/gstvc1parse.c: + vc1parse: fix malformed sequence layer header and STRUCT_C + This commit fix several issues with sequence layer header forging on + update_caps(): + - 0x00000004 unsigned integer is before STRUCT_C. + - Set reserved bits of STRUCT_C to their values for simple/main + profiles in sequence layer header format and ASF header format. + - Sequence layer shall be represented as a sequence of 32 bits unsigned + integers and shall be serialized in little-endian byte order except + for STRUCT_C which shall be serialized in big-endian byte-order. + See SMPTE 421M Annex L for more details about sequence layer format. + https://bugzilla.gnome.org/show_bug.cgi?id=736474 + +2014-09-12 14:49:44 +0200 Edward Hervey + + * sys/dvb/gstdvbsrc.c: + dvbsrc: Use proper variable for delivery system + We want to check the delivery system is ISDBT (and not the modulation + which we check later in that case). + CID #1238439 + +2014-09-12 09:30:04 +0200 Aurélien Zanelli + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: fix trivial coding style issue + https://bugzilla.gnome.org/show_bug.cgi?id=736531 + +2014-09-11 18:33:20 +0200 Aurélien Zanelli + + * gst/mpegtsdemux/pesparse.h: + tsdemux: fix overflow of packet_length field of PESHeader + packet_length is defined as a guint16 in the PESHeader structure. This + definition match the specification. But since we add 6 bytes to the + packet_length value (length of start_code + stream_id + packet_length), + we can overflow the guint16 when the value in the PES header is greater + than 65529. + So use a guint32 instead of a guint16 to avoid overflow. + https://bugzilla.gnome.org/show_bug.cgi?id=736490 + +2014-09-10 15:39:44 -0300 Matthieu Bouron + + * ext/smoothstreaming/gstmssdemux.c: + mssdemux: improve position detection when a download restart + Query other src pads before falling back to the position of the last + known pushed segment (which can be far ahead in time). + https://bugzilla.gnome.org/show_bug.cgi?id=736421 + +2014-09-10 15:43:05 +0200 Matthieu Bouron + + * ext/dash/gstdashdemux.c: + dashdemux: improve position detection when a download restart + Query other src pads before falling back to the position of the last + known pushed segment (which can be far ahead in time). + https://bugzilla.gnome.org/show_bug.cgi?id=736421 + +2014-09-11 16:21:30 +0400 Belozorov Semen + + * gst/mpegpsmux/mpegpsmux_h264.c: + mpegpsmux: fix memory leak when converting H.264 avc to byte-stream format + Fix memory leak for input stream with caps "video/x-h264,stream-format=avc". + https://bugzilla.gnome.org/show_bug.cgi?id=736426 + +2014-09-10 19:27:27 +0100 Tim-Philipp Müller + + * gst/aiff/aiffmux.c: + aiffmux: allocate byte writer on stack + +2014-09-10 19:19:32 +0100 Tim-Philipp Müller + + * gst/asfmux/gstasfobjects.c: + * gst/asfmux/gstasfparse.c: + asfmux: allocate byte readers on the stack + +2014-09-10 10:58:03 +0200 Jesper Larsen + + * gst/mpegtsdemux/mpegtspacketizer.c: + tsdemux: clear mutex resources in dispose + https://bugzilla.gnome.org/show_bug.cgi?id=736390 + +2014-09-10 17:24:39 +0100 Tim-Philipp Müller + + * ext/mpg123/gstmpg123audiodec.c: + * ext/opus/gstopusdec.c: + * gst/adpcmenc/adpcmenc.c: + * sys/opensles/openslessrc.c: + * sys/uvch264/gstuvch264_src.c: + Fix up one-element lists in template caps + +2014-09-10 16:38:52 +0100 Tim-Philipp Müller + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: fix bogus BGRA caps + Remove 0.10-style endianness/*_mask/bpp/depth fields. + +2014-09-10 19:16:53 +1000 Matthew Waters + + * configure.ac: + build: don't AC_SUBST intermediate values + +2014-09-09 12:01:47 +0200 Vasilis Liaskovitis + + * gst-libs/gst/gl/gstglwindow.c: + * gst-libs/gst/gl/gstglwindow.h: + * gst-libs/gst/gl/x11/gstglwindow_x11.c: + * gst-libs/gst/gl/x11/gstglwindow_x11.h: + GstGLWindow: Introduce navigation thread + This thread dispatches navigation events. It is needed to avoid deadlocks + between window backend threads that emit navigation events (e.g. X11/GMainLoop + thread) and consumers of navigation events such as glimagesink, see + https://bugzilla.gnome.org/show_bug.cgi?id=733661 + GstGlWindow_x11 thread is changed to invoke the navigation thread for navigation + dispatching, instead of emiting the event itself. Othe backends beside X11 do + not dispatch navigation events yet, but should use this thread when dispatching + these events in the future. + The navigation thread is currently part of GstGLWindow and not implemented in + separate subclasses / backends. This will be needed in the future. + gst_gl_window_x11_get_surface_dimensions is also changed to use a cached value + of the window's width, height. These values are now retrieved in the X11 + thread, function gst_gl_window_x11_handle_event. This change is needed because + otherwise the XGetWindowAttributes gets called from the navigation thread, + leading to xlib aborting due to multithreaded access (if XInitThreads is not + called before, as is the case for gst-launch) + +2014-09-05 13:58:19 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: retry opening the frontend on EINTR + +2014-09-05 13:32:09 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: assorted doc & spelling fixes + +2014-09-07 01:30:16 -0300 Thiago Santos + + * gst/dataurisrc/gstdataurisrc.c: + Revert "dataurisrc: Remove unnecessary else if condition" + This reverts commit 3024ae9c38490817a76c83feab3c8472989cafad. + The *buf can be NULL or not depending if the caller of gst_pad_get_range + function provided or not a buffer. + +2014-09-05 16:11:08 -0300 Thiago Santos + + * tests/check/elements/hlsdemux_m3u8.c: + tests: hlsdemux: fix compilation + In file included from /home/thiagoss/gst/head/gstreamer/gst/gst.h:54:0, + from /home/thiagoss/gst/head/gstreamer/libs/gst/check/gstcheck.h:34, + from elements/hlsdemux_m3u8.c:27: + ../../ext/hls/gstfragmented.h:8:28: error: redundant redeclaration of ‘fragmented_debug’ [-Werror=redundant-decls] + GST_DEBUG_CATEGORY_EXTERN (fragmented_debug); + Move the definition of the category to after the declaration. + +2014-09-05 12:56:13 +0300 Sebastian Dröge + + * tests/check/Makefile.am: + hlsdemux: And fix Makefile yet again + +2014-09-05 12:25:01 +0300 Sebastian Dröge + + * tests/check/Makefile.am: + * tests/check/elements/hlsdemux_m3u8.c: + hlsdemux: Include the m3u8.c file directly in the test because of an automake bug + $(top_srcdir) doesn't seem to work with _SOURCES because that would be too + obvious. + http://lists.gnu.org/archive/html/automake/2013-09/msg00005.html + +2014-09-05 09:53:15 +0530 Vineeth T M + + * gst/aiff/aiffparse.c: + aiffparse: Fix handling of 64 bit floating point data + In gst_aiff_parse_create_caps if and else-if conditions + are duplicated. + https://bugzilla.gnome.org/show_bug.cgi?id=736090 + +2014-09-05 08:51:30 +0200 Nicola Murino + + * ext/opencv/gstfacedetect.c: + * ext/opencv/gstfacedetect.h: + facedetect: Add new property min-stddev + face detection will be performed only if image standard deviation is + greater that min-stddev. Default min-stddev is 0 for backward + compatibility. This property will avoid to perform face detection on + images with little changes improving cpu usage and reducing false + positives + https://bugzilla.gnome.org/show_bug.cgi?id=730510 + +2014-07-07 10:52:57 +0200 Lubosz Sarnecki + + * ext/gl/gstgltransformation.c: + * ext/gl/gstgltransformation.h: + gltransformation: fix issues and expose mvp matrix + * aspect should not be 0 on init + * rename fovy to fov + * add mvp to properties as boxed graphene type + * fix transformation order. scale first + * clear color with 1.0 alpha + https://bugzilla.gnome.org/show_bug.cgi?id=734223 + +2014-09-04 21:41:54 +0300 Sebastian Dröge + + * tests/check/Makefile.am: + hlsdemux: Also get the m3u8.c source file from the $(top_srcdir) for the test + Should fix make distcheck for real now. + +2014-09-04 19:01:45 +0300 Sebastian Dröge + + * tests/check/Makefile.am: + hlsdemux: Use $(top_srcdir) instead of $(top_builddir) for the include path + +2014-09-04 18:21:38 +0300 Sebastian Dröge + + * ext/smoothstreaming/gstmssdemux.c: + mssdemux: Don't send flush events to deactivated pads + https://bugzilla.gnome.org/show_bug.cgi?id=736012 + +2014-09-04 18:21:25 +0300 Sebastian Dröge + + * ext/dash/gstdashdemux.c: + dashdemux: Don't send flush events to deactivated pads + https://bugzilla.gnome.org/show_bug.cgi?id=736012 + +2014-09-04 18:20:58 +0300 Sebastian Dröge + + * ext/hls/gsthlsdemux.c: + hlsdemux: Don't send flush events to deactivated pads + https://bugzilla.gnome.org/show_bug.cgi?id=736012 + +2014-09-04 17:52:35 +0300 Sebastian Dröge + + * tests/check/Makefile.am: + hlsdemux: Compile the m3u8.c directly instead of re-using the .o file + +2014-09-04 17:50:16 +0300 Sebastian Dröge + + * tests/check/Makefile.am: + * tests/check/elements/.gitignore: + * tests/check/elements/hlsdemux_m3u8.c: + hlsdemux: Add unit test for parsing of M3U8 playlists + Ported from https://github.com/ylatuya/gst-plugins-bad + This still has some unit tests for alternative renditions and + seeking, which are commented out for the time being until we + support them properly. + +2014-09-04 17:49:23 +0300 Sebastian Dröge + + * ext/hls/m3u8.c: + hlsdemux: Properly assign offsets to the files if we accumulate them instead of reading from the playlist + +2014-09-04 13:38:21 +0530 Vineeth T M + + * gst/dataurisrc/gstdataurisrc.c: + dataurisrc: Remove unnecessary else if condition + In gst_data_uri_src_create(), buf cannot be NULL, hence + else if (*buf != NULL) will be invalid so removing the + else if condition and adding a check to unreference buf + in else condition, just in case + https://bugzilla.gnome.org/show_bug.cgi?id=735861 + +2014-09-02 18:06:53 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: simplify ISDB-T launch line example + +2014-09-02 12:13:01 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: delay locking till actually needed + Get rid of unneeded locking at prop setting by doing + it only when tuning the frontend at _tune_fe() + +2014-09-02 12:11:44 +0530 Vineeth T M + + * gst/dataurisrc/gstdataurisrc.c: + dataurisrc: Make get_uri() threadsafe + https://bugzilla.gnome.org/show_bug.cgi?id=735861 + +2014-09-01 17:41:50 +0300 Sebastian Dröge + + * sys/androidmedia/gstamcaudiodec.c: + * sys/androidmedia/gstamcaudiodec.h: + amcaudiodec: Remove hack for Google MP3 decoder + The first buffer does not contain more garbage than any other MP3 decoder + outputs and we don't really know how much we have to drop or not. + After this change the output has the same duration as with mad. + +2014-09-01 08:24:57 +0530 Vineeth T M + + * gst/videofilters/gstzebrastripe.c: + zebrastripe: Refactor to remove duplicate code + gst_zebra_stripe_transform_frame_ip_planarY + gst_zebra_stripe_transform_frame_ip_YUY2 + gst_zebra_stripe_transform_frame_ip_AYUV + all above 3 functions do the same functionality except for offset and pixel stride. + Hence moving the functionality to a single funtion. + https://bugzilla.gnome.org/show_bug.cgi?id=735032 + +2014-08-29 18:55:32 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: fix description for modulation prop + +2014-08-29 17:16:09 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add basic checks on ISDB-T parameters + Also add a routine for checking wrong delsys/modulation + combinations right before tuning (only implemented for + ISDB-T for now). + +2014-08-29 18:09:07 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: add support for additional modulation types + +2014-08-29 13:26:12 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: drop FIXME on _ISDBT_LAYER_ENABLED prop + Valid values range from 1 to 7 as stated. + DTV_ISDBT_LAYER_ENABLED bitmask is built from + OR-ing 0x1 0x2 0x4. If all bits are set + (0x00000111 = 7) it means all layers should be + demodulated. + +2014-08-29 19:26:40 +0100 Tim-Philipp Müller + + * ext/assrender/gstassrender.c: + assrender: remove code that can't be reached + If this code could ever be reached, it would leak + memory (CID 1231979), but gst_caps_get_features() + never returns NULL, so that can't happen. + +2014-08-29 19:24:52 +0100 Tim-Philipp Müller + + * gst/dvbsuboverlay/gstdvbsuboverlay.c: + dvbsuboverlay: remove code that can't be reached + If this code could ever be reached, it would leak + memory (CID 1231977), but gst_caps_get_features() + never returns NULL, so that can't happen. + +2014-08-28 20:12:07 +0100 Tim-Philipp Müller + + * gst/videoparsers/gsth264parse.c: + h264parse: fix up handling of input caps corner cases + Do more elaborate validation of the input caps: what fields + are required and/or not allowed. Don't assume AVC3 format + input without codec_data field is byte-stream format. Fix + up some now-unreachable code (CID 1232800). + +2014-08-28 16:42:30 +0300 Sebastian Dröge + + * ext/gl/gstglimagesink.c: + glimagesink: Add missing break to switch + CID 1232801 + +2014-08-28 11:37:56 +0300 Sebastian Dröge + + * gst/rawparse/gstrawparse.c: + rawparse: Reset negotiation state when going back to READY + After going back to READY we can accept new format settings again. + +2014-08-22 15:18:59 -0600 Thomas Bluemel + + * configure.ac: + * ext/hls/Makefile.am: + * ext/hls/gsthlsdemux.c: + * ext/hls/gsthlsdemux.h: + hlsdemux: Support OpenSSL for AES decryption of HLS fragments + https://bugzilla.gnome.org//show_bug.cgi?id=735248 + +2014-08-26 16:21:42 +0800 Wang Xin-yu (王昕宇) + + * tests/examples/gl/qt/qglwtextureshare/glcontextid.h: + * tests/examples/gl/qt/qglwtextureshare/gstthread.h: + * tests/examples/gl/qt/qglwtextureshare/main.cpp: + * tests/examples/gl/qt/qglwtextureshare/pipeline.cpp: + * tests/examples/gl/qt/qglwtextureshare/pipeline.h: + * tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp: + * tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro: + gl: qglwtextureshare demo fixes and cleanup + 1. glcontextid function is replaced by gstreamer gst_gl_context_new_wrapped . + 2. call gst_init before gst_gl_display_new , seems gst_gl_display_new depends + on gst_allocator_register , which only worked after gst_init called + 3. flush gstreamer OpenGL context before using shared texture, fix + flicker problem. + https://bugzilla.gnome.org/show_bug.cgi?id=735566 + +2014-08-27 13:40:42 +0800 Wang Xin-yu (王昕宇) + + * gst-libs/gst/gl/gstglcontext.c: + gl: Add GSTGLAPI macro to the debug callback function + Fixes the Windows build. + https://bugzilla.gnome.org/show_bug.cgi?id=735565 + +2014-08-28 09:53:17 +0300 Blake Tregre + + * gst/librfb/rfbdecoder.c: + rfbsrc: Clamp out of bounds resolutions to prevent segfaults + https://bugzilla.gnome.org/show_bug.cgi?id=726801 + +2014-08-27 14:47:25 +0200 Carlos Rafael Giani + + * configure.ac: + gl: do not check for GL/GLU/EGL/GLES2 libs if disabled in configuration + https://bugzilla.gnome.org/show_bug.cgi?id=735522 + +2014-08-26 12:38:52 +1000 Jan Schmidt + + * gst-libs/gst/gl/egl/gstglcontext_egl.c: + egl: Wrap KHR_create_context flags in an ifdef + EGL_CONTEXT_FLAGS_KHR and EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR + don't exist in the Android NDK. Wrap their usage in an #ifdef + EGL_KHR_create_context to fix the build there. + +2014-08-21 12:32:10 -0300 Thiago Santos + + * gst/videoparsers/gsth264parse.c: + h264parse: don't consider unknown stream-format as avc + It should try to use bytestream in these cases that the format + is set to _FORMAT_NONE as it seems that is what the 'else' clause + for bytestream can handle (by defaulting to _FORMAT_BYTESTREAM). + +2014-08-25 13:33:15 -0300 Thiago Santos + + * tests/check/elements/h264parse.c: + h264parse: tests: fix caps for avc format + If it has a codec_data field, it should also use the stream-format=avc as + codec_data doesn't make sense otherwise and the default should + be bytestream + +2014-08-25 15:21:39 +0100 Tim-Philipp Müller + + * docs/plugins/gst-plugins-bad-plugins-docs.sgml: + * docs/plugins/gst-plugins-bad-plugins-sections.txt: + * docs/plugins/inspect/plugin-mpegpsmux.xml: + docs: add mpegpsmux and mpegtsmux + +2014-08-25 15:20:59 +0100 Tim-Philipp Müller + + * docs/plugins/gst-plugins-bad-plugins-docs.sgml: + * docs/plugins/gst-plugins-bad-plugins-sections.txt: + * docs/plugins/inspect/plugin-audiomixer.xml: + docs: add audiomixer to docs + +2014-08-25 15:20:16 +0100 Tim-Philipp Müller + + * docs/plugins/gst-plugins-bad-plugins-docs.sgml: + * docs/plugins/inspect/plugin-aiff.xml: + docs: add aiff elements to docs + +2014-08-25 14:56:15 +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/gst-plugins-bad-plugins.prerequisites: + * docs/plugins/gst-plugins-bad-plugins.signals: + docs: plugins: misc updates + +2014-08-25 14:43:49 +0100 Tim-Philipp Müller + + * docs/libs/gst-plugins-bad-libs-docs.sgml: + * docs/libs/gst-plugins-bad-libs-sections.txt: + * 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.types: + docs: move GstPhotography interface docs into the library docs + Now that we have docs for the libs. + +2014-08-25 12:21:36 +0100 Tim-Philipp Müller + + * ext/sndfile/gstsf.c: + sndfile: don't decode formats that are better handled by other elements + In particular: flac, ogg, pcm, au, aiff, wav. + https://bugzilla.gnome.org/show_bug.cgi?id=722316 + +2014-08-22 16:49:10 +1000 Matthew Waters + + * gst-libs/gst/gl/egl/gstglcontext_egl.c: + egl: fallback to a non-debug context if a debug one fails + The text for EGL_KHR_create_context added the possiblity for ES + contexts to ask for a debug context however that has not been + fully realized by all implementations. Fallback to a non-debug + context when the implementation errors. + +2014-08-05 14:06:07 -0400 Youness Alaoui + + * ext/srtp/gstsrtpdec.c: + srtpdec: Add support for RTP/RTCP mixing if data arrives on RTCP pad + https://bugzilla.gnome.org/show_bug.cgi?id=734321 + +2014-08-21 16:24:06 +0100 Tim-Philipp Müller + + * ext/dash/gstdashdemux.c: + dashdemux: fix abort in error code path with newer glib + Don't forget to unlock mpd client again when erroring out. + Fixes abort when g_mutex_clear() is called on a locked mutex. + +2014-07-02 12:49:44 +0200 Lubosz Sarnecki + + * gst-libs/gst/gl/Makefile.am: + gstopengl: add introspection support + https://bugzilla.gnome.org/show_bug.cgi?id=734482 + +2014-08-05 12:07:08 +0200 Lubosz Sarnecki + + * tests/examples/gl/gtk/switchvideooverlay/main.cpp: + examples: fix gtk+ 3.14 deprecation error + https://developer.gnome.org/gtk3/3.13/GtkWidget.html#gtk-widget-set-double-buffered + https://bugzilla.gnome.org/show_bug.cgi?id=734482 + +2014-07-07 10:52:06 +0200 Lubosz Sarnecki + + * ext/gl/gstglimagesink.c: + glimagesink: expose context + * expose context in draw / reshape callbacks + * add context property + https://bugzilla.gnome.org/show_bug.cgi?id=734482 + +2014-07-07 10:51:28 +0200 Lubosz Sarnecki + + * gst-libs/gst/gl/gstglshader.c: + * gst-libs/gst/gl/gstglshader.h: + glshader: expose opengl handle in getter + https://bugzilla.gnome.org/show_bug.cgi?id=734482 + +2014-08-20 09:37:01 +0800 Wang Xin-yu (王昕宇) + + * gst-libs/gst/gl/gstglutils.c: + gl: check null before unref GstGLDisplay + +2014-08-21 10:03:07 +1000 Matthew Waters + + * gst-libs/gst/gl/glprototypes/debug.h: + gl: add prototype definition for KHR_debug + +2014-08-20 23:24:12 +1000 Matthew Waters + + * gst-libs/gst/gl/egl/gstglcontext_egl.c: + * gst-libs/gst/gl/gstglcontext.c: + * gst-libs/gst/gl/x11/gstglcontext_glx.c: + glcontext: implement the debug callback + For both GL_KHR_debug and ARB_debug_output. This allows us to + receive errors and other hints from the GL instead of querying after + every GL operation. + +2014-08-20 23:23:06 +1000 Matthew Waters + + * gst-libs/gst/gl/glprototypes/Makefile.am: + * gst-libs/gst/gl/glprototypes/all_functions.h: + * gst-libs/gst/gl/glprototypes/gstgl_compat.h: + * gst-libs/gst/gl/gstglapi.h: + gl: add prototypes for KHR_debug/ARB_debug_output + +2014-08-19 17:17:33 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + dashdemux: unref pad reference when removing internal source in error + Avoids leaking the pad in error situations + +2014-08-19 16:01:58 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + dashdemux: read language from ContentComponent node as a fallback + If the language is not specified in the AdaptationSet, use the ContentComponent + node to get it. We only get it if there is only a single ContentComponent as + it doesn't seem clear on what to do if there are multiple entries + https://bugzilla.gnome.org/show_bug.cgi?id=732237 + +2014-06-25 15:55:32 +0200 Matthieu Bouron + + * ext/dash/Makefile.am: + * ext/dash/gstdashdemux.c: + * ext/dash/gstdashdemux.h: + dashdemux: push language code tag + Language code tag is retrieved from the AdaptationSet language + property. + https://bugzilla.gnome.org/show_bug.cgi?id=732237 + +2014-08-19 20:14:22 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglutils.c: + gl: don't take an extra ref on the display on set_context + gst_context_get_gl_display() returns a ref. Don't take another in + gst_object_replace(). + +2014-08-19 17:01:36 +1000 Matthew Waters + + * ext/gl/gstglmixer.c: + glmixer: unref the GstGLUpload in the pad if freed while running + Dynamic pipelines that get and release the sink pads will finalize + the pad without going through gst_gl_mixer_stop() which is where the + upload object is usually freed. Don't leak objects in such case. + +2014-08-14 23:51:21 -0400 Wang Xin-yu (王昕宇) + + * ext/gl/gstglmixer.c: + glvideomixer: avoid gl resource race condition between different thread + https://bugzilla.gnome.org/show_bug.cgi?id=734830 + +2014-08-19 14:44:29 +1000 Matthew Waters + + * ext/gl/gstglvideomixer.c: + glvideomixer: don't clobber unnecessary GstVideoInfo fields + otherwise we might clobber other important fields such as the frame rate. + +2014-08-19 14:43:42 +1000 Matthew Waters + + * ext/gl/gstglvideomixer.c: + glvideomixer: get the attribute from the correct shader + +2014-08-19 14:23:21 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: unref the window on navigation event + plugs a memory leak + +2014-08-19 00:01:28 -0300 Thiago Santos + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: remove pads when resetting the element + Otherwise the pads will be there if it is restarted and the stream + can be a completely different one. + https://bugzilla.gnome.org/show_bug.cgi?id=734394 + +2014-08-17 01:42:05 +0300 Sreerenj Balachandran + + * gst-libs/gst/codecparsers/gsth264parser.c: + * gst-libs/gst/codecparsers/gsth264parser.h: + codecparser: h264: Use proper bit_reader api while parsing buffering_period SEI + https://bugzilla.gnome.org/show_bug.cgi?id=734970 + +2014-08-14 10:19:13 +0530 Vineeth T M + + * gst/videofilters/gstscenechange.c: + scenechange: fix crash on startup + gst_video_frame_map() was using the oldinfo GstVideoInfo + before it's been populated, resulting in a crash right + at the start. + https://bugzilla.gnome.org/show_bug.cgi?id=734763 + +2014-08-14 15:26:53 +0300 Sebastian Dröge + + * sys/androidmedia/gstamcaudiodec.c: + * sys/androidmedia/gstamcvideodec.c: + * sys/androidmedia/gstamcvideoenc.c: + androidmedia: Make sure to unblock any thread waiting on the drain condition variable when errors happen + +2014-08-14 15:24:21 +0300 Sebastian Dröge + + * sys/androidmedia/gstamcaudiodec.c: + * sys/androidmedia/gstamcaudiodec.h: + * sys/androidmedia/gstamcvideodec.c: + * sys/androidmedia/gstamcvideodec.h: + * sys/androidmedia/gstamcvideoenc.c: + * sys/androidmedia/gstamcvideoenc.h: + androidmedia: Fix draining logic to let the base class handle EOS events + https://bugzilla.gnome.org//show_bug.cgi?id=734775 + +2014-08-11 21:25:41 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/parsechannels.c: + dvbbasebin: fix parsing of freqs in some ZAP files + Change avoids attempting to convert to kHz if unneeded. + There are quite some ZAP format variants out there. Among + their subtle little differences, some store transponder + frequencies in Mhz and others in kHz. The latter been the + most common variant. + +2014-08-07 19:37:01 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: get rid of remaining trailing whitespace + +2014-08-07 19:19:36 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: wrap around known-interruptible ioctls + Also get rid of the asumption that some requests like + FE_SET_TONE or FE_SET_VOLTAGE only error out with -1 + +2014-08-07 14:00:40 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: drop gst_dvbsrc_retry_ioctl for retry macro + LOOP_WHILE_EINTR macro makes it easier to handle + assorted ioctl argp types. Functionality is otherwise + equivalent. + +2014-08-12 12:35:00 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/dvbbasebin.c: + * sys/dvb/dvbbasebin.h: + * sys/dvb/gstdvbsrc.c: + * sys/dvb/gstdvbsrc.h: + dvbsrc: dvbbasebin: add 'tune' signal + It works the same as the 'tune' property that is used only to signal + the element that it should tune, but it is more natural to be used + as a signal rather than a property. + It is also proxied at the dvbbasebin element + +2014-08-07 15:25:32 +0200 Thibault Saunier + + * ext/hls/gsthlsdemux.c: + hlsdemux: Do not switch playlist on trick modes + Instead always use the low bandwith playlist making things go smoother + as the current heuristic is rather set for normal playback, and + currently it does not behave properly. + https://bugzilla.gnome.org/show_bug.cgi?id=734445 + +2014-07-21 14:42:47 +0200 Thibault Saunier + + * ext/hls/gsthlsdemux.c: + hlsdemux: No need to have a I-Frame list to do trick modes + It just works cleanly without any index and there is no real reason for + that limitation. Also, there are very few stream with that feature. + https://bugzilla.gnome.org/show_bug.cgi?id=734445 + +2014-08-05 17:13:13 +0200 Thibault Saunier + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: Do not tweak segments on reverse playback + We can't compare the first buffer start and the segment start in that + case... playback is going backward! + https://bugzilla.gnome.org/show_bug.cgi?id=734445 + +2014-08-13 16:57:15 +0200 Valentin PONS + + * ext/opencv/gstfacedetect.c: + facedetect: Use NULL to disable eyes/nose/mouth + Without printing a warning about it + https://bugzilla.gnome.org/show_bug.cgi?id=734623 + +2014-08-10 22:58:22 +0100 Tim-Philipp Müller + + * gst-libs/gst/gl/gstglbufferpool.c: + glbufferpool: fix allocator leak in some cases + Spotted by Sebastian Rasmussen. + https://bugzilla.gnome.org/show_bug.cgi?id=734523 + +2014-08-11 12:32:04 -0300 Thiago Santos + + * ext/assrender/gstassrender.c: + assrender: save a few ref/unref pairs + The event/query functions already have a reference to the element, avoid + ref/unref in the functions handling caps queries and events. + +2014-08-11 12:31:17 -0300 Thiago Santos + + * ext/assrender/gstassrender.c: + assrender: remove obsolete fixme + +2014-08-11 12:22:44 -0300 Thiago Santos + + * ext/assrender/gstassrender.c: + assrender: improve negotiation + Check if downstream supports overlay meta, if possible use it and + if not fallback to no-overlay caps + https://bugzilla.gnome.org/show_bug.cgi?id=733916 + +2014-08-11 12:21:28 -0300 Thiago Santos + + * ext/assrender/gstassrender.c: + assrender: always intersect with the filter caps + Avoids returning values that peers can't use + https://bugzilla.gnome.org/show_bug.cgi?id=733916 + +2014-08-11 11:35:01 -0300 Thiago Santos + + * gst/dvbsuboverlay/gstdvbsuboverlay.c: + dvbsuboverlay: improve negotiation + Check if downstream supports overlay meta, if possible use it and + if not fallback to no-overlay caps + https://bugzilla.gnome.org/show_bug.cgi?id=733916 + +2014-08-11 11:33:28 -0300 Thiago Santos + + * gst/dvbsuboverlay/gstdvbsuboverlay.c: + dvbsuboverlay: always intersect with the filter in getcaps + Avoids returning unsupported caps to peers + https://bugzilla.gnome.org/show_bug.cgi?id=733916 + +2014-08-11 23:38:40 +1000 Matthew Waters + + * gst-libs/gst/base/gstaggregator.c: + aggregator: fix up doc comment for set_src_caps + It does not occur 'later' anymore + https://bugzilla.gnome.org/show_bug.cgi?id=732662 + +2014-08-07 19:54:36 +1000 Matthew Waters + + * gst-libs/gst/base/gstaggregator.c: + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: push the caps event as soon as we receive it + Along with the required mandatory dependent events. + Some elements need to perform an allocation query inside + ::negotiated_caps(). Without the caps event being sent prior, + downstream elements will be unable to answer and will return + an error. + https://bugzilla.gnome.org/show_bug.cgi?id=732662 + +2014-08-11 16:01:32 +0300 Sreerenj Balachandran + + * ext/webp/Makefile.am: + * ext/webp/gstwebp.c: + * ext/webp/gstwebpenc.c: + * ext/webp/gstwebpenc.h: + webenc: Add WebP image encoder + https://bugzilla.gnome.org/show_bug.cgi?id=733087 + +2014-08-09 01:29:30 +0200 Sebastian Rasmussen + + * ext/sbc/gstsbcenc.c: + sbcenc: Unref output caps in error cases + gst_caps_intersect() returns a reference to a caps object which in + the normal case is consumed, but in error cases must be unreferenced. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734521 + +2014-08-08 14:08:19 +0200 Sebastian Rasmussen + + * ext/opus/gstopusenc.c: + opusenc: Unref pad template caps after usage + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734517 + +2014-08-09 11:41:17 +0200 Sebastian Rasmussen + + * gst/inter/gstintertest.c: + inter: Unref bus after usage + gst_pipeline_get_bus() returns a reference to a bus that needs to + be unreferenced after usage. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734525 + +2014-08-09 11:45:41 +0200 Sebastian Rasmussen + + * tests/examples/gl/clutter/clutteractor.c: + * tests/examples/gl/clutter/clutteractortee.c: + * tests/examples/gl/gtk/fxtest/fxtest.c: + examples/gl: unref bus and element after usage + gst_pipeline_get_bus() and gst_bin_get_by_interface() both + return references that need to be unreferenced after usage. + https://bugzilla.gnome.org/show_bug.cgi?id=734527 + +2014-08-10 19:12:01 +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-asfmux.xml: + * docs/plugins/inspect/plugin-assrender.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-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-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: + * docs/plugins/inspect/plugin-zbar.xml: + docs: update for git master + +2014-08-10 19:05:43 +0100 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-rtpvp8.xml: + docs: remove rtpvp8 plugin docs, the elements are now in -good + +2014-08-10 18:07:28 +0100 Tim-Philipp Müller + + * ext/gl/gstglcolorscale.c: + * ext/gl/gstglfiltercube.c: + * ext/gl/gstglfilterglass.c: + * ext/gl/gstglimagesink.c: + * ext/gl/gstglmosaic.c: + * ext/gl/gstgloverlay.c: + * ext/gl/gstglvideomixer.c: + opengl: update element docs for 1.x + +2014-08-10 17:48:50 +0100 Tim-Philipp Müller + + * docs/plugins/gst-plugins-bad-plugins-docs.sgml: + * docs/plugins/gst-plugins-bad-plugins-sections.txt: + * docs/plugins/inspect/plugin-eglglessink.xml: + docs: remove eglglessink from docs as it no longer exists + +2014-08-09 11:36:38 +0200 Sebastian Rasmussen + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: Unref elements after usage + gst_bin_get_by_name() and gst_bin_get_by_interface() both return + references to elements that need to be unreferenced after usage. + https://bugzilla.gnome.org/show_bug.cgi?id=734524 + +2014-08-09 01:27:53 +0200 Sebastian Rasmussen + + * ext/openal/gstopenalsink.c: + * ext/openal/gstopenalsrc.c: + openal: Unref pad template caps after usage + https://bugzilla.gnome.org/show_bug.cgi?id=734520 + +2014-08-10 12:29:04 +0100 Tim-Philipp Müller + + * ext/ladspa/gstladspafilter.c: + ladspa: fix up broken patch merge + Sorry, should've been commit --amend + +2014-08-09 13:24:00 +0200 Sebastian Rasmussen + + * sys/pvr2d/gstpvrvideosink.c: + pvrvideosink: Avoid leaking bufferpool configuration + gst_buffer_pool_get_config() returns a copy to the bufferpool's + configuration, which must be passed to gst_structure_free() after + use if not given away to gst_buffer_pool_set_config(). + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734537 + +2014-08-09 13:22:42 +0200 Sebastian Rasmussen + + * sys/directsound/gstdirectsoundsrc.c: + directsoundsrc: Avoid leaking copy of caps object + gst_pad_get_pad_template_caps() returns a reference which is unreferenced, + so creating a copy using gst_caps_copy() results in a reference leak. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734536 + +2014-08-09 13:20:41 +0200 Sebastian Rasmussen + + * sys/applemedia/vtenc.c: + vtenc: Avoid leaking caps object and its copy + gst_pad_get_pad_template_caps() returns a reference which is unreferenced, + so creating a copy using gst_caps_copy() results in a reference leak. Also + the caps are pushed as an event downstream, but this doesn't consume the + caps so it must still be unreferenced. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734534 + +2014-08-09 13:17:17 +0200 Sebastian Rasmussen + + * sys/androidmedia/gstamcvideoenc.c: + amcvideoenc: Avoid leaking copy of caps object + gst_pad_get_pad_template_caps() returns a reference which is unreferenced, + so creating a copy using gst_caps_copy() results in a reference leak. + Also remove the incorrect comment to avoid confusion in the future. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734533 + +2014-08-09 13:12:14 +0200 Sebastian Rasmussen + + * gst/interlace/gstinterlace.c: + interlace: fix caps refcounting + tcaps was unrefed when it shouldn't have been unrefed + in some cases. + https://bugzilla.gnome.org/show_bug.cgi?id=734531 + +2014-08-09 13:09:52 +0200 Sebastian Rasmussen + + * gst/dvbsuboverlay/gstdvbsuboverlay.c: + dvbsuboverlay: Avoid leaking copy of caps object + gst_pad_get_pad_template_caps() returns a reference which is unreferenced, + so creating a copy using gst_caps_copy() results in a reference leak. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734528 + +2014-08-09 11:17:44 +0200 Sebastian Rasmussen + + * gst-libs/gst/video/gstvideoaggregator.c: + videoaggregator: Unref allowed caps after usage + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734522 + +2014-08-09 01:25:21 +0200 Sebastian Rasmussen + + * ext/ladspa/gstladspafilter.c: + ladspa: Unref pad template caps after usage + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734519 + +2014-08-09 01:25:21 +0200 Sebastian Rasmussen + + * ext/ladspa/gstladspafilter.c: + ladspa: Unref pad template caps after usage + https://bugzilla.gnome.org/show_bug.cgi?id=734519 + +2014-08-09 01:23:50 +0200 Sebastian Rasmussen + + * ext/directfb/dfbvideosink.c: + dfbvideosink: Unref pad template caps after usage + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734518 + +2014-08-10 11:35:41 +0100 Tim-Philipp Müller + + * tests/check/Makefile.am: + * tests/check/pipelines/.gitignore: + * tests/check/pipelines/colorspace.c: + tests: remove defunct test code for old colorspace element + https://bugzilla.gnome.org/show_bug.cgi?id=734538 + +2014-08-09 13:27:00 +0200 Sebastian Rasmussen + + * tools/element-templates/srcpad: + element-maker: Avoid leaking copy of caps object + gst_pad_get_pad_template_caps() returns a reference which is unreferenced, + so creating a copy using gst_caps_copy() results in a reference leak. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734539 + +2014-08-09 14:27:34 +0200 Sebastian Rasmussen + + * ext/gsm/gstgsmenc.c: + gstgsmenc: Unref caps object after usage + gst_audio_encoder_set_output_format() does not consume caps, so + unreference that object instead. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734544 + +2014-08-09 14:24:59 +0200 Sebastian Rasmussen + + * ext/opus/gstopusheader.c: + opus: Improve annotation of internal function + https://bugzilla.gnome.org/show_bug.cgi?id=734543 + +2014-08-06 18:11:20 +0300 George Kiagiadakis + + * ext/dash/gstdashdemux.c: + * ext/dash/gstmpdparser.c: + * ext/dash/gstmpdparser.h: + dashdemux: support downloading segments in reverse order + When a seek with a negative rate is requested, find the target + segment where gstsegment.stop belongs in and then download from + this segment backwards until the first segment. + This allows proper reverse playback. + +2014-08-07 19:18:49 +1000 Matthew Waters + + * ext/gl/gstglvideomixer.c: + * ext/gl/gstglvideomixer.h: + glvideomixer: add a background property + That's compatible with the compositor/videomixer property + https://bugzilla.gnome.org/show_bug.cgi?id=731954 + +2014-08-06 13:27:04 +0200 Thibault Saunier + + * ext/faad/gstfaad.c: + ext:faad: Set rank to SECONDARY as the libav decoder is concidered better + https://bugzilla.gnome.org/show_bug.cgi?id=676131 + +2014-08-06 16:48:03 +0300 Vasilis Liaskovitis + + * ext/gl/gstglimagesink.c: + * gst-libs/gst/gl/gstglwindow.c: + * gst-libs/gst/gl/gstglwindow.h: + * gst-libs/gst/gl/x11/gstglwindow_x11.c: + GstGLWindow, GstGLImagesink, x11: Scale navigation events on resized windows + If window is resized, GstStructure pointer values have to be rescaled to + original geometry. A get_surface_dimensions GLWindow class method is added for + this purpose and used in the navigation send_event function. + https://bugzilla.gnome.org/show_bug.cgi?id=703486 + +2014-08-06 08:15:38 -0400 Wang Xin-yu (王昕宇) + + * gst-libs/gst/gl/gstglupload.c: + glupload: don't determine if frame needs upload by pointer compare + https://bugzilla.gnome.org/show_bug.cgi?id=734269 + +2014-08-05 11:45:55 +0200 Sebastian Dröge + + * gst/mpegtsdemux/mpegtspacketizer.c: + * gst/mpegtsdemux/mpegtspacketizer.h: + mpegtspacketizer: Store PCR time/byte offsets in 64 bit integers + 32 bit integers are going to overflow, especially the PCR offset to + the first PCR will overflow after about 159 seconds. This makes playback + of streams stop at 159 seconds as suddenly the timestamps are starting + again from 0. Now we have a few more years time until it happens again + and 64 bits are too small. + +2014-08-05 10:42:28 +0200 Sebastian Dröge + + * gst/mpegtsdemux/mpegtspacketizer.c: + Revert "mpegtspacketizer: Convert PCR times to GStreamer times before comparing them against 500 * GST_MSECOND" + This reverts commit 9f186c6ab32c1e949916d385186b2d400190add6. + That commit was actually completely wrong, nevermind. + +2014-08-05 10:36:17 +0200 Sebastian Dröge + + * gst/mpegtsdemux/mpegtspacketizer.c: + mpegtspacketizer: Convert PCR times to GStreamer times before comparing them against 500 * GST_MSECOND + Otherwise it will believe to detect PCR gaps already when there's a very small + gap of a few milliseconds, breaking playback of some files. + +2014-07-31 17:40:30 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.h: + dvbsrc: remove srcpad leftover + The element is inheriting its srcpad from basesrc + +2014-08-01 18:02:10 +0200 Sebastian Dröge + + * sys/decklink/gstdecklinksink.cpp: + decklinksink: Initialize pixel format to bmdFormat8BitYUV + https://bugzilla.gnome.org/show_bug.cgi?id=725871 + +2014-08-01 16:40:49 +0200 Aurélien Zanelli + + * gst-libs/gst/codecparsers/gsth264parser.c: + codecparsers_h264: initialize some fields of pic_timing structure + Otherwise pic timing structure can have invalid cpb_removal_delay, + dpb_output_delay or pic_struct_present_flag which are blindly retrieved + in h264parse. + https://bugzilla.gnome.org/show_bug.cgi?id=734124 + +2014-08-01 16:58:23 +0200 Sebastian Dröge + + * sys/decklink/gstdecklinksink.cpp: + decklinksink: Catch errors during data flow and error out properly + Otherwise we will just deadlock the thread if e.g. scheduling a video + frame fails for whatever reason. + +2014-07-31 20:52:39 -0300 Thiago Santos + + * ext/dash/gstdashdemux.c: + dashdemux: return the error to the source immediately to stop faster + When flushing, this will prevent dashdemux from trying to download more + fragments or more chunks of the same fragment before stopping. + Also improves the error handling to not transform everything non-ok into + an error. + https://bugzilla.gnome.org/show_bug.cgi?id=734014 + +2014-07-29 02:11:54 -0300 Thiago Santos + + * gst/mpegtsdemux/mpegtspacketizer.c: + mpegtspacketizer: avoid timestamp overflows + Cause timing to break in the pipeline that can lead to a stall + https://bugzilla.gnome.org/show_bug.cgi?id=733837 + +2014-08-01 13:14:03 +0200 Edward Hervey + + * po/POTFILES.in: + po: Remove files no longer present + They were removed when sndfile was ported to 1.x + +2014-08-01 12:38:44 +0200 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + decklink: 59.94fps is 60000/1001, not 30000/1001 + And also change 30/1 to 60/1 for one 60fps mode. + +2014-08-01 17:51:08 +1000 Matthew Waters + + * gst-libs/gst/gl/gstgldisplay.c: + gl/docs: remove superflous 'the' + +2014-08-01 16:41:13 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + * gst-libs/gst/gl/gstgldisplay.c: + gl: document GST_GL_* environment variables + https://bugzilla.gnome.org/show_bug.cgi?id=733245 + +2014-08-01 10:01:18 +1000 Matthew Waters + + * tests/check/libs/gstglmemory.c: + * tests/check/libs/gstglupload.c: + gl/tests: update for API changes + +2014-07-31 18:55:33 +0200 Edward Hervey + + * Makefile.am: + * common: + Makefile: Add usage of build-checks step + Allows building checks without running them + +2014-07-31 18:46:33 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglcontext.c: + * gst-libs/gst/gl/gstglcontext.h: + glcontext: add a destroy function + that just calls the subclass + +2014-07-31 18:36:58 +1000 Matthew Waters + + * gst-libs/gst/gl/x11/gstglwindow_x11.c: + gl/x11: silence runtime warning + g_main_loop_quit: assertion 'loop != NULL' failed + +2014-07-31 15:18:04 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: use the plane offsets to compute the size of the data pointer + Certain elements expect that there be a certain number of lines + that they can write into. e.g. for odd heights, I420, YV12, NV12, + NV21 (and others) Y lines are expected to have exactly twice the + number of U/UV lines. + https://bugzilla.gnome.org/show_bug.cgi?id=733717 + +2014-07-31 14:07:29 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstgldownload.c: + * gst-libs/gst/gl/gstglmemory.c: + * gst-libs/gst/gl/gstglmemory.h: + * gst-libs/gst/gl/gstglupload.c: + * gst-libs/gst/gl/gstgluploadmeta.c: + glmemory: use GstVideoInfo everywhere + Simplifies a lot of the calling code + https://bugzilla.gnome.org/show_bug.cgi?id=733717 + +2014-07-30 16:32:01 -0300 Robert Jobbagy + + * ext/opencv/gstfaceblur.c: + * ext/opencv/gstfaceblur.h: + * ext/opencv/gstfacedetect.c: + * ext/opencv/gstfacedetect.h: + faceblur: facedetect: add properties to faceblur + Makes faceblur have the same properties as facedetect. Also improves + the standard defaults and makes them the same in the 2 elements + +2014-07-30 16:30:39 -0300 Robert Jobbagy + + * ext/opencv/gstfaceblur.c: + * ext/opencv/gstfaceblur.h: + faceblur: post message when profile loading fails + +2014-07-30 16:07:17 -0300 Robert Jobbagy + + * ext/opencv/gstfaceblur.c: + * ext/opencv/gstfacedetect.c: + facedetect: faceblur: update launch line examples + Reflect 1.0 and more useful examples + +2014-07-29 13:25:22 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: keep the uploaded buffer around on successful redisplay + We might need it later to perform a redisplay. GstGLUpload will take + of releasing the previous buffer when it receives a new buffer. + https://bugzilla.gnome.org/show_bug.cgi?id=733726 + +2014-07-29 11:47:55 +1000 Matthew Waters + + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglmemory.c: + glmemory: reenable the texture_rg support for !eagl + The GST_GL_HAVE_PLATFORM_EAGL is always defined we need to compare + against the value instead. + +2014-07-28 19:11:41 -0300 Thiago Santos + + * tests/check/elements/.gitignore: + * tests/check/libs/.gitignore: + tests: gitignore: update with new tests + +2014-07-28 16:55:15 -0300 Thiago Santos + + * tests/files/blue-square.png: + tests: files: adds missing file from previous commit + This is required for the templatematch test to work + +2014-07-28 15:45:09 -0300 Thiago Santos + + * tests/check/Makefile.am: + * tests/check/elements/templatematch.c: + * tests/files/Makefile.am: + tests: templatematch: add test to check that we use the correct rgb format + templatematch should use the same RGB format that opencv uses (BGR), make sure + we keep it that way with this test. + https://bugzilla.gnome.org/show_bug.cgi?id=678485 + +2012-06-15 13:19:06 +0100 David Rothlisberger + + * ext/opencv/gsttemplatematch.c: + opencv templatematch: Set caps to BGR order + templatematch operates on BGR data. In fact, OpenCV's IplImage always + stores color image data in BGR order -- this isn't documented at all in + the OpenCV source code, but there are hints around the web (see for + example + http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html#SECTION00041000000000000000 + and http://www.comp.leeds.ac.uk/vision/opencv/iplimage.html ). + gst_templatematch_load_template loads the template (the image to find) + from disk using OpenCV's cvLoadImage, so it is stored in an IplImage in + BGR order. But in gst_templatematch_chain, no OpenCV conversion + functions are used: the imageData pointer of the IplImage for the video + frame (the image to search in) is just set to point to the raw buffer + data. Without this fix, that raw data is in RGB order, so the call to + cvMatchTemplate ends up comparing the template's Blue channel against + the frame's Red channel, producing very poor results. + +2014-07-28 13:10:35 -0300 Thiago Santos + + * ext/opencv/gsttemplatematch.c: + templatematch: mark pads as proxy caps + Allows negotiation to happen properly + +2012-06-25 20:37:01 +0100 William Manley + + * ext/opencv/gsttemplatematch.c: + templatematch: Produce a warning message if we can't load a template image + +2012-06-20 15:22:52 +0100 William Manley + + * ext/opencv/gsttemplatematch.c: + templatematch: Match rectangle grows redder with increased match certainty + This is useful for debugging your matches as it indicates how certain the + match was in addition to its position. + +2012-06-20 15:05:40 +0100 William Manley + + templatematch: Allow changing template property on the fly + Previously changing the template property resulted in an exception + thrown from cvMatchTemplate, because "dist_image" (the intermediate + match-certainty-distribution) was the wrong size (because the + template image size had changed). + Locking has also been added to allow changing the properties (e.g. the + pattern to match) while the pipeline is playing. + * gst_element_post_message is moved outside of the lock, because it will + call into arbitrary user code (otherwise, if that user code calls into + gst_templatematch_set_property on this same thread it would deadlock). + * gst_template_match_load_template: If we fail to load the new template + we still unload the previous template, so this element becomes a no-op + in the pipeline. The alternative would be to keep the previous template; + I believe unloading the previous template is a better choice, because it + is consistent with the state this element would be in if it fails to + load the very first template at start-up. + Thanks to Will Manley for the bulk of this work; any errors are probably + mine. + +2012-06-01 16:07:34 +0100 David Rothlisberger + + * ext/opencv/gsttemplatematch.c: + templatematch: Pass video through when nothing to match against + The early return was bypassing the call to gst_pad_push. With no + filter->template (and thus no filter->cvTemplateImage) the rest of this + function is essentially a no-op (except for the call to gst_pad_push). + This (plus the previous commit) allows templatematch to be + enabled/disabled without removing it entirely from the pipeline, by + setting/unsetting the template property. + +2012-06-20 15:05:06 +0100 William Manley + + * ext/opencv/gsttemplatematch.c: + templatematch: Remove no-op call to gst_templatematch_load_template + We have just set filter->template to NULL, so + gst_templatematch_load_template did nothing. + +2014-07-08 19:18:48 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/gstdvbsrc.c: + dvbsrc: clarify units for freq and symbol-rate + +2014-07-07 18:52:20 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/dvbbasebin.c: + * sys/dvb/gstdvbsrc.c: + * sys/dvb/gstdvbsrc.h: + dvbsrc: add preliminary support for ISDB-T/Tb + ISDB-T and ISDB-Tb (the Brazilian variant) are the + terrestial DTV standards used by Japan, Philippines, + Maldives, Thailand, most South American countries + and Botswana. Changeset adds the set of previously + missing (and required) ISDB-T parameters, adapter + and frontend setup logic and proxies the new + properties on dvbbasebin. + Tested to work with the live aerial broadcast by + Tv Paraíba HD in Campina Grande (Brazil). + https://bugzilla.gnome.org/show_bug.cgi?id=732875 + +2014-07-05 03:08:00 -0400 Reynaldo H. Verdejo Pinochet + + * sys/dvb/dvbbasebin.c: + * sys/dvb/gstdvbsrc.c: + * sys/dvb/gstdvbsrc.h: + dvbsrc: make slof/lof1/lof2 settable properties + Allows proper tuning around high/low band boundaries when using + non "standard" LNBs. + Not all LNBs (Low noise block down converters) are made equal. + This is particularly true for universal LNBFs, where, even though + there are seemingly standard values for the local oscillator + frequencies, these can vary from manufacturer to manufacturer + and LNB model. Change also proxies the new LNB properties in + dvbbasebin. + https://bugzilla.gnome.org/show_bug.cgi?id=732818 + +2014-07-27 13:26:00 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: silence gsignal warning + instance '0xblah' has no handler with id '13' + +2014-07-26 13:27:51 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: do not give references to probes + They are kept until the probes are removed but they will never be + removed as the refcount of the element won't get to 0 because the + probes own references (cyclic refs). As the probes should only be + running as long as the element is running there is no need to + secure a ref for them. + Removes 3 leaked refs of wrappercamerabinsrc + +2014-07-26 12:46:01 -0300 Thiago Santos + + * gst/camerabin2/gstcamerabin2.c: + camerabin: use gst_object_ref to make it easier to track refs + Helps debugging + +2014-07-26 12:38:42 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: unref request pads + Do not forget to unref output-selector requested pads + +2014-04-21 23:05:48 -0300 Thiago Santos + + * gst/jpegformat/gstjpegparse.c: + * gst/jpegformat/gstjpegparse.h: + jpegparse: port to baseparse + https://bugzilla.gnome.org/show_bug.cgi?id=728356 + +2014-07-24 12:25:36 +0300 Vasilis Liaskovitis + + * gst-libs/gst/gl/x11/gstglwindow_x11.c: + glwindow/11: Emit signals for mouse and key navigation events + https://bugzilla.gnome.org/show_bug.cgi?id=703486 + +2014-07-24 12:23:03 +0200 Sebastian Dröge + + * gst-libs/gst/gl/gstglwindow.c: + * gst-libs/gst/gl/gstglwindow.h: + glwindow: Constify string parameters to the send_*_event() functions + +2014-07-24 13:05:00 +1000 Matthew Waters + + * ext/gl/gstglimagesink.c: + glimagesink: remove extra argument from debug call + +2014-07-07 00:20:01 +0300 Vasilis Liaskovitis + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + glimagesink: Add navigation interface and callbacks for GstGLWindow mouse/key signals + https://bugzilla.gnome.org/show_bug.cgi?id=703486 + +2014-07-06 23:39:47 +0300 Vasilis Liaskovitis + + * gst-libs/gst/gl/gstglwindow.c: + * gst-libs/gst/gl/gstglwindow.h: + GstGLWindow : Add mouse-event and key-event signals for navigation + https://bugzilla.gnome.org/show_bug.cgi?id=703486 + +2014-07-23 10:25:31 +0800 Wang Xin-yu (王昕宇) + + * ext/gl/gstgleffects.c: + * ext/gl/gstglmixer.c: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglfilter.c: + * gst-libs/gst/gl/gstglframebuffer.c: + gl: fix multi gl object leaks + 1. fix FBO leaks in decide_allocation + 2. fix texture leaks in decide_allocation and reset + 3. fix texture leaks in FBO incomplete error path + +2014-07-23 13:55:06 -0300 Thiago Santos + + * gst/camerabin2/gstwrappercamerabinsrc.c: + wrappercamerabinsrc: only flush buffers if renegotiation is needed + This avoid extra overhead when taking sequential pictures that woudln't + need renegotiation + +2014-07-23 13:37:05 -0300 Thiago Santos + + * gst/camerabin2/gstcamerabin2.c: + * gst/camerabin2/gstwrappercamerabinsrc.c: + camerabin: handle EOS on the pipeline + Make camerabin handle EOS to the pipeline to allow standard pipeline + close where an EOS is sent to the whole pipeline before setting it to NULL. + +2014-07-21 18:22:18 +0200 Mathieu Duponchelle + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: Do not scan for keyframe when in push mode. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733490 + +2014-07-21 18:21:41 +0200 Mathieu Duponchelle + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: Do not scan for a keyframe in non-accurate mode. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733490 + +2014-07-01 10:24:44 -0300 Thiago Santos + + * gst/gdp/gstgdppay.c: + gdppay: remove obsolete code + Buffers have no caps in 1.0 + +2014-07-01 10:07:40 -0300 Thiago Santos + + * gst/gdp/gstgdppay.c: + * gst/gdp/gstgdppay.h: + * tests/check/elements/gdppay.c: + gdppay: put all sticky events in streamheader + Use the sticky events to compose the streamheader as they are the + ones that are persisted to config new pads linked. Instead of storing + them ourselves rely on the pad storage that already orders it for us + https://bugzilla.gnome.org/show_bug.cgi?id=732596 + +2014-07-21 21:03:26 +0200 Nicola Murino + + * ext/opencv/gstfacedetect.c: + facedetect: improve enum GstFaceDetectUpdates descriptions + https://bugzilla.gnome.org/show_bug.cgi?id=730509 + +2014-05-21 12:59:57 +0200 Nicola Murino + + * ext/opencv/gstfacedetect.c: + facedetect: make updates on_change works as expected + https://bugzilla.gnome.org/show_bug.cgi?id=730509 + +2014-07-22 12:42:36 +0530 Sanjay NM + + * gst/pnm/gstpnmenc.c: + * gst/pnm/gstpnmenc.h: + pnmenc: Port PNM Encoder to use GstVideoEncoder Class + https://bugzilla.gnome.org/show_bug.cgi?id=731943 + +2014-06-18 11:44:54 +0530 Sanjay NM + + * gst/pnm/gstpnmdec.c: + * gst/pnm/gstpnmutils.c: + pnmdec: Patch to handle max value + Convert the image values from 0-maxvalue to 0-255 when + 'decoding' the pnm image + https://bugzilla.gnome.org/show_bug.cgi?id=731773 + +2014-07-15 16:42:57 -0300 Thiago Santos + + * ext/kate/gstkatedec.c: + * ext/kate/gstkateutil.c: + katedec: handle segment event earlier + Delaying the segment event to when caps are decided can cause issues as + the first thing katedec does on its chain function it doing a segment clip. + It will lead to an assertion if the segment format is undefined + https://bugzilla.gnome.org/show_bug.cgi?id=733226 + +2014-07-15 16:41:51 -0300 Thiago Santos + + * ext/kate/gstkatedec.c: + katedec: handle streamheaders in caps + Properly handle the caps event by configuring the kate decoding lib using the + available streamheaders. This makes it possible to decode kate subtitles when + the stream is seeked before katedec gets the initial buffers that are usually + the streamheaders. + https://bugzilla.gnome.org/show_bug.cgi?id=733226 + +2014-07-21 17:34:52 +0200 Sebastian Dröge + + * configure.ac: + openjpeg: Don't remember -lopenjp2 as libs when falling back to openjpeg1 + +2014-07-21 11:07:28 +0000 Руслан Ижбулатов + + * tests/examples/gl/sdl/Makefile.am: + gl: Reorder CFLAGS to include in-source dirs first in examples + https://bugzilla.gnome.org/show_bug.cgi?id=733426 + +2014-05-06 09:28:14 +0000 Руслан Ижбулатов + + * configure.ac: + openjpeg: Win32-compatible OpenJPEG-2.0 detection + OpenJPEG 2.0 API uses stdcall on W32 by default. This prevents normal + autoconf library macros from finding its functions. + A more compatible check is to acutally link a program that includes a + real header. + https://bugzilla.gnome.org/show_bug.cgi?id=733487 + +2014-07-21 10:14:17 +0200 Sebastian Dröge + + * ext/openni2/gstopenni2src.cpp: + openni2src: Fix unitialized variable compiler warning + gstopenni2src.cpp:721:14: error: variable 'oni_ts' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized] + } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) { + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + gstopenni2src.cpp:752:26: note: uninitialized use occurs here + GST_BUFFER_PTS (buf) = oni_ts - src->oni_start_ts; + ^~~~~~ + gstopenni2src.cpp:721:10: note: remove the 'if' if its condition is always true + } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) { + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + gstopenni2src.cpp:721:14: error: variable 'oni_ts' is used uninitialized whenever '&&' condition is false [-Werror,-Wsometimes-uninitialized] + } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) { + ^~~~~~~~~~~~~~~~~~~~~~ + gstopenni2src.cpp:752:26: note: uninitialized use occurs here + GST_BUFFER_PTS (buf) = oni_ts - src->oni_start_ts; + ^~~~~~ + gstopenni2src.cpp:721:14: note: remove the '&&' if its condition is always true + } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) { + ^~~~~~~~~~~~~~~~~~~~~~~~~ + gstopenni2src.cpp:642:18: note: initialize the variable 'oni_ts' to silence this warning + uint64_t oni_ts; + ^ + = 0 + +2014-07-17 16:25:54 +0200 Fabrice Bellet + + * gst-libs/gst/codecparsers/gstmpeg4parser.c: + parser: mpeg4: fix vlc table used for sprite trajectory + The vlc table members cbits, cword and values were assigned in the wrong + order, causing the mpeg4 parser to fail when handling sprite + trajectories. + https://bugzilla.gnome.org/show_bug.cgi?id=733322 + +2014-07-18 15:09:54 +0200 Sebastian Dröge + + * ext/hls/gsthlsdemux.c: + hlsdemux: Make statistics message more generic for other adaptive streaming demuxers to reuse + https://bugzilla.gnome.org/show_bug.cgi?id=725828 + +2014-02-25 11:58:57 +0100 Alexander Zallesov + + * ext/hls/gsthlsdemux.c: + hlsdemux: Provide statistics about time to download playlists and fragments + https://bugzilla.gnome.org/show_bug.cgi?id=725828 + +2014-07-19 18:04:42 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.4.0 === + +2014-07-19 17:27:11 +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-asfmux.xml: + * docs/plugins/inspect/plugin-assrender.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-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-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-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.4.0 + +2014-07-19 16:45:25 +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 2014-07-19 12:47:43 +0200 Sebastian Dröge @@ -100740,6 +116776,8 @@ every file but apart from that no changes compared to the latest SVN versions happened. +=== release 0.10.21 === + 2008-09-01 16:05:45 +0000 Edward Hervey tests/check/elements/audioresample.c: Now that GstBaseTransform is 'fixed' ... remove cruft from tests. @@ -104244,6 +120282,8 @@ (deinterleave_suite): Add some more deinterleave unit test bits I had locally. +=== release 0.10.20 === + 2008-05-14 13:57:41 +0000 Tim-Philipp Müller gst/audioresample/gstaudioresample.c: Revert previous change which made basetransform handle buffer_alloc and which b... @@ -105800,6 +121840,8 @@ Use AG_GST_CHECK_PLUGIN and AG_GST_DISABLE_PLUGIN to simplify which plug-ins are included/excluded. (#498222) +=== release 0.10.19 === + 2008-03-03 06:04:02 +0000 Sebastian Dröge Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static... @@ -109989,6 +126031,8 @@ (gst_speex_resample_update_state): Only post the latency message if we have a resampler state already. +=== release 0.10.17 === + 2007-11-23 10:21:11 +0000 Sebastian Dröge gst/audioresample/gstaudioresample.c: Implement latency query. @@ -114956,6 +131000,8 @@ work with earlier versions due to GstChildProxy brokeness). Also up requirements to last released core/base. +=== release 0.10.15 === + 2007-04-27 15:33:46 +0000 Julien Moutte ext/theora/theoradec.c: Calculate buffer duration correctly to generate a perfect stream (#433888). @@ -117285,6 +133331,8 @@ Original commit message from CVS: move amrwb code +=== release 0.10.12 === + 2007-01-04 12:49:47 +0000 Thomas Vander Stichele configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetwe... diff --git a/NEWS b/NEWS index 0edcf3491c..242a1f6a43 100644 --- a/NEWS +++ b/NEWS @@ -1,145 +1,2 @@ -This is GStreamer Bad Plugins 1.4.0 +This is GStreamer Bad Plugins 1.5.1 -Changes since 1.2: - -New API: - • GstMessageType has GST_MESSAGE_EXTENDED added. All types before - that can be used together as a flags type as before, but from - that message onwards the types are just counted incrementally. - This was necessary to be able to add more message types. - In 2.0 GstMessageType will just become an enum and not a flags - type anymore. - • GstDeviceMonitor for device probing, e.g. to list all available - audio or video capture devices. This is the replacement for - GstPropertyProbe from 0.10. - • Events accumulate the running-time offset now when travelling - through pads, as set by the gst_pad_set_offset() function. This - allows to compensate for this in the QOS event for example. - • GstBuffer has a new flag "tag-memory" that is set automatically - when memory is added or removed to a buffer. This allows buffer - pools to detect if they can recycle a buffer or need to reset - it first. - • GstToc has new API to mark GstTocEntries as loops. - • A not-authorized resource error has been defined to notify - applications that accessing the resource has failed because - of missing authorization and to distinguish this case from others. - This change is actually already in 1.2.4. - • GstPad has a new flag "accept-intersect", that will let the default - ACCEPT_CAPS query handler do an intersection instead of subset check. - This is interesting for parser elements that can handle incomplete - caps. - • GstCollectPads has support for flushing and a default handler for - SEEK events now. - • New GstFlowAggregator helper object that simplifies handling of - flow returns in elements with multiple source pads. Additionally - GstPad now always stores the last flow return and provides an - API to retrieve it. - • GstSegment has new API to offset the running time by a specific - value and this is used in GstPad to allow positive and negative - offsets in gst_pad_set_offset() in all situations. - • Support for h265/HEVC and VP8 has been added to the codec utils and codec - parsers library, and was integrated into various elements. - • API for adjusting the TLS validation of RTSP connection has been added. - • The RTSP and SDP library has MIKEY (RFC 3830) support now, and - there is API to distinguish between the different RTSP profiles. - • API to access RTP time information and statistics. - • Support for auxiliary streams was added to rtpbin. - • Support for tiled, raw video formats has been added. - • GstVideoDecoder and GstAudioDecoder have API to help aggregating tag - events and merge custom tags into them consistently. - • GstBufferPool has support for flushing now. - • playbin/playsink has support for application provided audio and video - filters. - • GstDiscoverer has new and simplified API to get details about missing - plugins and information to pass to the plugin installer. - • The GL library was merged from gst-plugins-gl to gst-plugins-bad, - providing a generic infrastructure for handling GL inside GStreamer - pipelines and a plugin with some elements using these, especially - a video sink. Supported platforms currently are Android, Cocoa (OS X), - DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11, - Wayland and EGL platforms. - This replaces eglglessink and also is supposed to replace osxvideosink. - • New GstAggregator base class in gst-plugins-bad. This is supposed to - replace GstCollectPads in the future and fix long-known shortcomings - in its API. Together with the base class some elements are provided - already, like a videomixer (compositor). - - -Major changes: - • New plugins and elements: - ∘ v4l2videodec element for accessing hardware codecs on - platforms that make them accessible via V4L2, e.g. - Samsung Exynos. This comes together with major refactoring - of the existing V4L2 elements and the corresponding - infrastructure. - The v4l2videodec element replaces the mfcdec element. - ∘ New downloadbuffer element that replaces the download - buffering feature of queue2. Compared to queue2's code - it is much simpler and only for this single use case. - A noteworthy new feature is that it's downloading gaps - in the already downloaded stream parts when nothing else - is to be downloaded. - This is now used by playbin when download buffering is - enabled. - ∘ rtpstreampay and rtpstreamdepay elements for transmitting - RTP packets over a stream API (e.g. TCP) according to - RFC 4571. - ∘ rtprtx elements for standard compliant implementation of - retransmissions, integrated into the rtpmanager plugin. - ∘ audiomixer element that mixes multiple audio streams together - into a single one while keeping synchronization. This is - planned to become the replacement of the adder element. - ∘ OpenNI2 plugin for 3D cameras like the Kinect camera. - ∘ OpenEXR plugin for decoding high-dynamic-range EXR images. - ∘ curlsshsink and curlsftpsink to write files via SSH/SFTP. - ∘ videosignal, ivfparse and sndfile plugins ported from 0.10. - ∘ avfvideosrc, vtdec and other elements were ported from 0.10 and - are available on OS X and iOS now. - - • Other changes: - ∘ gst-libav now uses libav 10.2, and gained support for H265/HEVC. - ∘ Support for hardware codecs and special memory types has been - improved with bugfixes and feature additions in various plugins - and base classes. - ∘ Various bugfixes and improvements to buffering in queue2 and - multiqueue elements. - ∘ dvbsrc supports more delivery mechanisms and other features - now, including DVB S2 and T2 support. - ∘ The MPEGTS library has support for many more descriptors. - ∘ Major improvements to tsdemux and tsparse, especially time and - seeking related. - ∘ souphttpsrc now has support for keep-alive connections, - compression, configurable number of retries and configuration - for SSL certificate validation. - ∘ hlsdemux has undergone major refactoring and works more - reliable now and supports more HLS features like trick modes. - Also fragments are pushed downstream while they're downloaded - now instead of waiting for each fragment to finish. - ∘ dashdemux and mssdemux are now also pushing fragments downstream - while they're downloaded instead of waiting for each fragment to - finish. - ∘ videoflip can automatically flip based on the orientation tag. - ∘ openjpeg supports the OpenJPEG2 API. - ∘ waylandsink was refactored and should be more useful now. It also - includes a small library which most likely is going to be removed - in the future and will result in extensions to the GstVideoOverlay - interface. - ∘ gst-rtsp-server supports SRTP and MIKEY now. - ∘ gst-libav encoders are now negotiating any profile/level settings - with downstream via caps. - ∘ Lots of fixes for coverity warnings all over the place. - ∘ Negotiation related performance improvements. - ∘ 800+ fixed bug reports, and many other bug fixes and other - improvements everywhere that had no bug report. - -Things to look out for: - • The eglglessink element was removed and replaced by the glimagesink - element. - • The mfcdec element was removed and replaced by v4l2videodec. - • osxvideosink is only available in OS X 10.6 or newer. - • On Android the namespace of the automatically generated Java class - for initialization of GStreamer has changed from com.gstreamer to - org.freedesktop.gstreamer to prevent namespace pollution. - • On iOS you have to update your gst_ios_init.h and gst_ios_init.m in - your projects from the one included in the binaries if you used the - GnuTLS GIO module before. The loading mechanism has slightly changed. diff --git a/RELEASE b/RELEASE index 4893735d6e..53e5755085 100644 --- a/RELEASE +++ b/RELEASE @@ -1,23 +1,17 @@ -Release notes for GStreamer Bad Plugins 1.4.0 +Release notes for GStreamer Bad Plugins 1.5.1 -The GStreamer team is pleased to announce the first release of -the stable 1.4 release series. The 1.4 release series is adding new -features on top of the 1.0 and 1.2 series and is part of the API and -ABI-stable 1.x release series of the GStreamer multimedia framework. +The GStreamer team is pleased to announce the first release of the unstable +1.5 release series. The 1.5 release series is adding new features on top of +the 1.0, 1.2 and 1.4 series and is part of the API and ABI-stable 1.x release +series of the GStreamer multimedia framework. The unstable 1.5 release series +will lead to the stable 1.6 release series in the next weeks, and newly added +API can still change until that point. - -Binaries for Android, iOS, Mac OS X and Windows are provided together -with this release. - - - -The stable 1.4 release series is API and ABI compatible with 1.0.x, -1.2.x and any other 1.x release series in the future. Compared to 1.2.x -it contains some new features and more intrusive changes that were -considered too risky as a bugfix. +Binaries for Android, iOS, Mac OS X and Windows will be provided separately +during the unstable 1.5 release series. @@ -69,12 +63,336 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg) Bugs fixed in this release - * 726555 : POTFILES.in is out of date - * 733052 : Include windsock header for Windows targets - * 733063 : examples: gl fxtest example fails to build on win32 with gtk+ 3.0 - * 733072 : camerabin: Taking a picture in cheese leads to all sort of race - * 733123 : mxfmux: Avoid taking unnecessary ref - * 733248 : gl: GLintptr/GLsizeiptr/etc typechecks ignore GL_CFLAGS, potentially causing typedef redefinition errors from gst-libs/gst/gl/glprototypes/gstgl_compat.h at buildtime + * 739345 : codecparsers: remove ignored increment of return + * 750185 : gl: Not showing any video on Android (skip glDrawElements) + * 743974 : gl: rethink glfilter, glmixer, glupload, glcolorconvert, gldownload + * 746617 : opusenc: headers are never sent + * 749601 : win32: glimagesink always popup a new window + * 745881 : Apply gst-indent for code convention + * 748497 : spandsp: Fails to build, uses a private field missing_samples + * 739992 : h264parse: expose compatible profiles to downstream + * 740236 : New audiointerleave based on GstAggregator and create GstAudioAggregator from audiomixer + * 611689 : [NEW PLUGIN] crossfeed plugin + * 643252 : Improve opencv facedetect performance + * 672610 : camerabin2: check negotiated caps avoid reseting of the pipe + * 675134 : shmsrc: add an shm-area-name property + * 677223 : dshowdecwrapper: Remove dependency to ATL + * 678990 : camerabin2: Not showing anything + * 685215 : codecparsers: h264: Add initial MVC parser + * 696032 : mpegtsmux: Downstream force-key-unit events are being assigned the wrong " count " + * 699364 : dshowvideosink: port to 1.0 + * 706872 : mpegtsmux does not flag key frames properly for tcpserversink + * 708532 : tsdemux: skips too much when scanning for last PCR + * 709532 : testsuite has failures + * 722129 : mpegtsmux: alignment property does not work as expected for UDP streaming + * 724868 : Setting Image Size in camerabin causes pipeline to fail with Not Negotiated + * 725047 : tsdemux offsetting timestamp + * 725145 : libde265 based HEVC/H.265 decoder plugin + * 725163 : opencv extension is using the deprecated cv.h header + * 725298 : dashdemux: fails after MPD refresh + * 725435 : hlsdemux: enable seek for live streams + * 725828 : hlsdemux: reporting playlist and fragment download time stat + * 726376 : x265enc: Add x265 encoder element + * 726801 : rfbsrc: specifying out-of-bounds resolution leads to segfault + * 727402 : aiffmux: write padding byte at end of SSND chunk if needed + * 727731 : tsdemux: add support for chinese AVS video codec + * 727742 : hlsdemux: selects incorrect starting position for live streams + * 727946 : decklinksrc: failure to switch states: PLAYING < - > NULL + * 728646 : siren: fix sample list rate + * 730225 : hlsdemux switch to higher quality don't connect all pads right + * 730510 : facedetect: improve performance + * 731263 : rtph265pay, rtph265depay: add rtp elements for H.265 + * 731404 : hlsdemux memmory leak + * 731581 : curlsshsink: use the locally defined types instead of libcurl's + * 731769 : onvif: add element implementing the ONVIF RTP extension + * 731773 : pnmdec: unsupported bit depth is not checked + * 731782 : waylandsink: video position is wrong when caps change and the sink is embedded in another window + * 731943 : pnmenc: PNM Encoder needs to use gstVideoEncoder as base class + * 731954 : glvideomixer: Add a background property + * 731982 : hlsdemux: Don't use approximate duration for fragment buffer pts + * 732237 : dashdemux: expose language tags + * 732283 : dshowvideosrc: Port to 1.0 + * 732294 : mxfdemux: Use IndexTableSegments + * 732507 : gl: R/RG textures don't work on iOS + * 732596 : gdppay: put all sticky events in streamheader + * 732662 : glmixer didn't receive the GstGLContext from downstream basetransform + * 732664 : add other-context support to GstGLMixer + * 732694 : glimagesink: handle drain query + * 732875 : dvbsrc: add preliminary support for ISDB-T/Tb + * 733055 : winks: debug message printf format warnings + * 733087 : Add WebP Image encoder + * 733226 : katedec: properly handle segment and caps events + * 733322 : parser: mpeg4: problem with mpeg4_dmv_size_vlc_table values + * 733347 : mpegtsmux: Fix naming prefix of internal functions + * 733369 : dashdemux fails to detect end of period + * 733661 : glimagesink navigation interface causes hangs with X11/GMainLoop event thread + * 733682 : waylandsink: allow catching input events + * 733717 : glmemory allocate size didn't match video_orc_pack_I420 needs if height is odd + * 734040 : tsdemux: Handle sparse streams + * 734264 : ksvideosrc gives GStreamer-CRITICAL **: write map requested on non-writable buffer continuously + * 734321 : srtpdec doesn't support RTP on the RTCP sink pad + * 734445 : hlsdemux:tsdemux: Improve trick modes support + * 734482 : Make OpenGL plugins more accessible for application programmers + * 734518 : dfbvideosink: Unref pad template caps after usage + * 734523 : glbufferpool: Unref allocator after usage + * 734525 : inter: Unref bus after usage + * 734527 : gl/examples: Unref bus and element after usage + * 734543 : opus: Improve annotation of internal function + * 734623 : facedetect: fix NULL error when disable eyes/nose/mouth + * 734775 : androidmedia: Should not send EOS when drained + * 734970 : codecparser: h264: Use proper bit_reader api while parsing buffering_period SEI + * 735032 : zebrastripe: Refactoring of common code + * 735042 : videoaggregator: race of vagg- > info on pad removal + * 735131 : gltestsrc: Add new patterns + * 735248 : hlsdemux: Support OpenSSL for AES decryption of HLS fragments + * 735522 : gl: fix for configure.ac to prevent unnecessary checks and linkage + * 735565 : gl: Add GSTGLAPI to _gst_gl_debug_callback + * 735566 : gl: some cleanup and fixes to qglwtextureshare + * 735663 : dashdemux: synchronize with the download loop thread before signalling it + * 735790 : GstGLMixer random create none-RGBA output buffer pool for GstGLFilter + * 735848 : adaptivedemux: new base class + * 736008 : applemedia: Enable vtdec/vtenc on iOS 8 + * 736035 : glimagesink: Regression: Gtk+ cannot get glimagesink input + * 736061 : typefind: detects AAC instead of mpegts when input buffer is small + * 736132 : glimagesink: iOS: Does not rescale the video if the window size changes + * 736134 : curlsmtpsink: Adding final boundary for every sending out email + * 736141 : dashdemux: do not override last known stream error + * 736176 : pngparse: re-assembling image from small blocks may be optimized + * 736421 : dashdemux: improve detection of the position on download restart + * 736460 : mpegpsmux: refactor duplicate else branches + * 736531 : tsdemux: fix trivial coding style issue + * 736740 : glimagesink: racy redraw with raw data upload accesses deleted texture + * 736781 : vc1parse: forge sequence-layer from seq_hdr instead of seq_layer + * 736786 : vc1parse: enable header-format conversion + * 736790 : faad: logical disjunction consecutive return, break statement unnecessary. + * 736800 : dashdemux: send missing FLUSH_STOP/EOS when no seeking period is found + * 736853 : camerabin2: Removed redundant initialization + * 736863 : mpegdemux: removed an unwanted initialization and an unwanted variable and assignment + * 736895 : mplex: logical disjunction consecutive goto, break statements + * 736926 : dshowvideosrc: error if set_caps is called while running + * 736933 : gsettings: Fix typo in description + * 736939 : gl: logical disjunction consecutive return, break statements + * 736940 : androidmedia: logical disjunction consecutive goto, break statements + * 736942 : androidmedia: logical disjunction consecutive goto, break statements + * 736957 : gl: Removed unreachable break, unused variable + * 737111 : videofilters: Added 3 more YUV formats + * 737183 : audiomixer: Port to GstAggregator + * 737370 : Unnecessary break statements following a goto + * 737407 : zbar: fixed FIXME and added 2 formats for YUV. + * 737411 : videoparser: comment out unused custom baseparse flag (with duplicate value) + * 737412 : h264: playing a certain broken stream causes a crash (stack corruption caused by codec parser) + * 737421 : dashdemux: Playback may attempt to start in wrong period for a live stream + * 737505 : gltestsrc: implement checkers pattern in GLSL + * 737559 : plugins-bad: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS + * 737568 : video lib conversion in gstvideoaggregator.c leads glvideomixer problem + * 737788 : open264: Decoder and encoder element + * 737793 : hlsdemux: Fix accessing invalidated memory. + * 737892 : openh264: update to latest openh264 release and use pkg-config + * 737894 : openh264enc: make denoise work + * 737984 : schrodec: optimize parse logic + * 738069 : waylandsink: avoid render twice the same buffer + * 738072 : mpegts: typos in mpegts comments + * 738129 : GstGLMixer download texture even if sink element is gl based + * 738166 : docs: Update GstQOSType documentation a bit + * 738206 : pcapparse can't handle LINKTYPE_RAW + * 738227 : test: use G_GSIZE_FORMAT in audiomixer test + * 738526 : vc1parse: implement some stream-format conversion + * 738626 : bluez: Does not support bluez5 yet + * 738740 : gl/cocoa: Fails to build on Mac OS X 10.10 + * 738816 : gl: gst-plugins-bad won't build without --with-opengl=yes + * 738842 : add RGB16/BGR16 video format upload support to glcolorconvert + * 738845 : audiomixer: critical error for blocksize, timeout min/max values + * 738848 : dash: README is out-of-date + * 738920 : dashdemux: allow seek to be performed if all streams are EOS + * 739284 : decklinksrc: add automatic mode detection and timeout property + * 739328 : GstGLMixer pass incorrect parameter to gst_gl_handle_set_context + * 739334 : GstGLVideoMixer input caps can not be dynamically changed + * 739385 : GstGLMixer link with capsfilter not-negotiated + * 739404 : mpegts: value stored is never used + * 739444 : glcolorconvert: fix comments that confuse gtk-doc + * 739542 : interaudiosrc: racy caps negotiation/fixation + * 739844 : examples: use snprintf instead of sprintf which is vulnerable + * 739846 : opencv-example: Use snprintf instead of sprintf + * 739906 : h264parser: fix documentation typo + * 739941 : gl: Correct invalid comment text + * 740009 : dashdemux: gst_dash_demux_download_wait causes abort for dynamic MPD + * 740012 : gl: support opengl3+ core contexts + * 740195 : mpg123: Handle setting caps if the srcpad is not linked yet, making it work with decodebin/playbin + * 740235 : glcontext: build errors when GST_GL_HAVE_OPENGL is 0 + * 740305 : glimagesink: critical error while seeking using playback-test + * 740376 : aggregator: Serialized events are deserialized + * 740458 : hlsdemux: typefind might fail if first buffer is too short, causing the whole pipeline to abort + * 740530 : gstglapi.h:42:21: fatal error: EGL/egl.h: No such file or directory + * 740611 : gl: the gstglcontext_egl.h header is not installed + * 740616 : decklinksink: crash on recreation + * 740673 : codecparsers: some compiler warnings with apple-gcc42 + * 740674 : mpegts: some compiler warnings with apple-gcc42 + * 740744 : Caps negotiation between matroskademux and rtpopuspay fails + * 740757 : watchdog: Handle playback and seeking cases + * 740768 : videoaggregator: Expose vmethods to set converters and prepare frames + * 740801 : glcolorconvert: add RGB16/BGR16 video format download support + * 740815 : gstbasecamerasrc : fix typo + * 740867 : dashdemux not flushing stream on pipeline stop for live content + * 740891 : opusenc: replace " audio " property with new " audio-type " property + * 740945 : directshowdec: Port decoder plugin to 1.x + * 741086 : dshowsrcwrapper: Patch to fix comparison of null caps + * 741096 : hlssink: remove unnecessary title on EXTINF tag + * 741146 : aggregator: deadline based aggregation + * 741231 : glfilter: position/texcoord attrib index usage + * 741248 : dashdemux cannot switch representations in ISOBMFF OnDemand profile + * 741285 : dashdemux: gst_dash_demux_setup_streams fails to initialise the segment numbers for live streams + * 741322 : dashdemux: Change period when setting by period id. + * 741495 : tests/aggregator: Use correct type when setting property + * 741553 : curlsmtpsink: final boundary only added to last mail + * 741592 : inter: silence messages for flushed / created samples + * 741751 : mssdemux: pass correct type through vararg function to avoid potential crash + * 741943 : glimagesink (or intel_dri) memleak + * 742174 : vtenc_h264: potential deadlock upon EOS + * 742212 : h264parse: periodic SPS/PPS insertion stops after a seek backwards + * 742638 : mpegpsdemux: dead code + * 742684 : aggregator: Locking logic should be reviewed, cleaned up, and documented + * 742979 : adaptivedemux: Adaptive bitrate algorithm does not react fast enough to declining bitrate + * 743142 : glimagesink memleak + * 743155 : applemedia: new AVSampleBufferLayerSink + * 743174 : h264parse: expose stereo-high profile + * 743251 : POTFILES.in is out of date + * 743334 : videoaggregator crash when work with filesrc + * 743352 : po: update POTFILES.skip + * 743677 : gl: new element caopengllayersink + * 743907 : exclusion: crash with factor=0 + * 743908 : simplevideomark: crash when launch with max property values + * 743914 : glimagesink: doesn't work on Raspberry Pi with EGLImages + * 744020 : Auto-disabling of Desktop OpenGL when it can't be used doesn't work + * 744096 : compositor, videoaggregator: ignores input timestamps if input buffers have no duration + * 744219 : camerabin examples: Memory leak in camerabin examples code + * 744246 : gl: Broken VideoAlignment handling? + * 744338 : opusdec: LATENCY query handling looks wrong + * 744362 : dashdemux: Add support for live stream seeking + * 744371 : simplevideomark: move offset calculations out of inner loops + * 744383 : directsoundsrc: volume and mute control + * 744386 : decklink: incorrect frame rate values for interlaced modes + * 744582 : dtls: Move Ericsson DTLS plugin to gst-plugins-bad + * 744585 : vtenc: Crash when going to background + * 744689 : hlssink: EXT-X-VERSION set to 6 while not using any features > 3 + * 744778 : simplevideomarkdetect: move offset calculations out of inner loops + * 744839 : gl: Flickering when libav direct rendering doing playbin playback + * 744909 : opusenc: cbr and constrained-vbr are confusing + * 744977 : glvideomixer: severe memory leak + * 745054 : glimagesink: Segfault with webm/vp8 files that has odd height + * 745090 : android: Fix changing GL window handle + * 745105 : glimagesink: cosmetic cleanup + * 745109 : gloverlay: image is upside down + * 745161 : avfvideosrc: allow " capture-screen " mode to select which screen to capture via the " device-index " option + * 745251 : glvideomixer: corrupt video frames + * 745409 : h264parse: broken output when caps change and stream-format=byte-stream + * 745455 : dashdemux: doesn't take the presentationTimeOffset into account. + * 745495 : dvbsuboverlay: Set query ALLOCATION need_pool to FALSE + * 745506 : mpegtsmux: duplicate code + * 745549 : glfilter: does not set new caps on its uploader + * 745633 : glimagesink: X11: Race where it creates an external window even if the XID was set + * 745705 : glfilter: GLBuffer pool may have two owners + * 745740 : camerabin: update zoom param spec if video source changes its max-zoom + * 745755 : pngparse prints too much info messages + * 745780 : gl: Accepts downloading in RGB with BT709 colorspace (wrong colors) + * 745875 : glcontext: remove unnecessary semicolon + * 745877 : y4mdec: remove unnecessary semicolon + * 745905 : hlsdemux: General Stream error due to bitrate change before last segment + * 745955 : gleffects: port all effects to GLES2 + * 746032 : audiomixer: doesn't handle buffers with repeating pts properly (broken discont detection) + * 746147 : compositor: Don't convert or aggregate pads that are completely obscured by a higher zorder pad + * 746168 : [glshader] OSX crashes when trying to get vertex attribute without vertex shader + * 746173 : new glimagesink (as glimagesinkbin) cannot copy metadata + * 746209 : Merge glfiltersobel, glfilterblur and glfilterlaplacian into gleffects + * 746251 : android/egl: changing window handle breaks video playback + * 746347 : dashdemux: set defaultstartNumber and also avoid wrong overwrite + * 746356 : srtpenc: Improvement to avoid memory copy + * 746399 : glupload: get_caps vfunc incomplete + * 746541 : glimagesink memleak + * 746632 : dispmanx: surfaceless EGL context support broken + * 746803 : mxfdemux: fix segment- > delta_entries memory leak + * 746906 : hlssink: creates a single segment + * 747000 : multifilesink: doesn't post file message for last file + * 747038 : tsparse/tsdemux: incorrect timestamps on PMT change in mpeg TS stream + * 747124 : glbasefilter: avoid segfault when gl platform is not available + * 747126 : androidmedia: add support for more color formats + * 747220 : aggregator: Does not unlock sink pads on downstream error + * 747319 : hlssink: Doesn't write ENDLIST marker on EOS + * 747525 : dashdemux: playback failed when trying to play a content that has subtitles + * 747697 : Documentation fails to build because of mismatching libraries + * 747722 : winks: buffer is too late + * 747911 : glcolorconvertelement: GstGLColorConvert is leaked + * 747913 : glmixer: pass the proper free function to frames and buffers array + * 747915 : glmixer: fix caps leaks + * 747993 : videoaggregator: fix caps leak when early returning + * 748033 : gstglupload: Fix GstGLUpload leak + * 748037 : openh264enc: Add complexity property to configure speed / quality tradeoff + * 748110 : vtdec: fix build error with clang + * 748122 : applemedia: miscellaneous fixes + * 748128 : avfvideosrc: fix build failure with clang + * 748141 : videoconvert, glcolorconvert: keep colorimetry/chroma-site fields if passthrough + * 748287 : glmixer: Possible null pointer dereference + * 748369 : dashdemux: Excessive (96GB on 32-bit machines) memory usage on some dash streams + * 748371 : glupload: Release glupload buffer when caps are changed + * 748393 : gleffects_laplacian: error when testing the element + * 748405 : glimagesink: balance change_state bufferpool/other_context ref/unref + * 748407 : gltransformation: don't initialize multiple shaders on renegotiation + * 748412 : tsdemux: possible refcount bug in applying PMT + * 748425 : GL context on android has 16bits colors + * 748467 : vtenc: fix keyframe request race condition + * 748495 : libde265: No code to detect the number of CPUs on W32 + * 748496 : libde265: Fails to build due to werrors about wrong format + * 748527 : mpegtspacketizer: Change return value in find_subtable + * 748529 : adaptivedemux: only update stream position if query success + * 748576 : tsdemux: fix tag list leak + * 748580 : mxf: fix leak in mxfmetadata + * 748585 : opus: don't use deprecated gst_buffer_new_and_alloc() + * 748588 : glvideomixer: segfaulting when inspecting + * 748594 : opus: fix includes and compilation against opus in non-standard prefix + * 748723 : dtlssrtpdec: Merges RTP and RTCP into the same stream + * 748867 : androidmedia: Fix slice-height for Tegra3 devices + * 748875 : opusparse: Generates caps with a rate=0 + * 749218 : Decklink 4k 3184p50 has wrong name and uses wrong framerate + * 749237 : gltestsrc: Assert and failed with not-neg when not linked + * 749253 : h263parse: fix picture format parsing + * 749304 : srtpenc: fix over unlocking + * 749318 : dtlsenc: Memory leak + * 749322 : dtlsdec: Memory leak + * 749325 : dtlsconnection: Memory leak + * 749335 : glimagesink and videooverlay on windows + * 749380 : dtls[enc|dec]: Memory leak on keys + * 749411 : glcontext_egl should call eglTerminate to free resources for non EGL DISPLAY types + * 749430 : gltestsrc ! glimagesink crash on windows + * 749523 : cvsmooth: Wrong assignment of prop leads to crash + * 749525 : pyramidsegment: wrong value of level property + * 749534 : dashdemux: Some suspicious compiler warnings about checking if the unsigned segment index is smaller than 0 + * 749634 : compositor: Strange behaviour mixing streams + * 749655 : vtdec: Require width and height field for H264 + * 749684 : dashdemux: Segfault when playback starts after refactor for segments iteration + * 749691 : dashdemux: remove unnecessary semicolon + * 749728 : glimagesink doesn't work on nvidia OSX + * 749734 : black screen when using gltransformation + * 749809 : dashdemux: Incorrect example launch line in the dash demux description. + * 749815 : curlsink: handle socket callback for active FTP connections as well + * 749846 : gloverlay crash on missing file + * 750028 : hlsdemux: Search more when advancing fragment + * 750036 : dtls: wrong management of pads in releasing operation + * 750104 : rtmpsink: Do not crash when receiving buffers after GST_FLOW_ERROR + * 750143 : hlsdemux: Fix wrong gst-launch command in the description + * 750199 : glimagesink: crashes in gst_gl_window_x11_set_window_handle() + * 750252 : audiointerleave: Crash when channel-positions-from-input=1 and channel-positions unset + * 750279 : Copying glsyncmeta causes errors + * 750326 : srtp: Allow getting ssrc of more package types than RR and SR + * 750337 : [REGRESSION] glimagesink fails to initialize the shader + * 750348 : dtlsdec: 'Got data flow before stream-start event' warnings + * 750381 : ksvideosrc: buffers have no timestamp + * 747352 : applemedia: texture cache negotiation doesn't work + * 747936 : osxaudio: spelling fix + * 748054 : avfvideosrc: starting capture session too early, sending buffers with PTS=NONE + * 740900 : glbufferpool: Add support for GstVideoAlignement + * 732818 : dvbsrc: make slof/lof1/lof2 settable properties + * 746249 : aggregator: Add gap event support + * 747557 : zbar: Get an image along with the barcode + * 696135 : h264parse: Add mvc stream parsing support ==== Download ==== @@ -111,28 +429,136 @@ subscribe to the gstreamer-devel list. Contributors to this release + * Aleix Conchillo Flaqué * Alessandro Decina - * Alexey Pavlov + * Alex Ashley + * Alexander Zallesov + * Andoni Morales Alastruey + * Anton Gritsay + * Anton Obzhirov + * Antonio Ospite + * Anuj Jaiswal * Arun Raghavan + * Aurélien Zanelli + * Belozorov Semen + * Benjamin Gaignard + * Blake Tregre + * Branislav Katreniak + * Branko Subasic + * Brendan Long + * Brion Vibber + * Carlos Rafael Giani + * Christoph Reiter + * Chun-wei Fan + * DanielD10 + * Danny Song + * David Rothlisberger + * David Waring + * David Woodhouse + * Duncan Palmer * Edward Hervey + * Fabrice Bellet + * Felix Schwarz + * Florian Langlois + * Florian Zwoch + * Flávio Ribeiro + * George Kiagiadakis + * Guillaume Desmottes + * Guillaume Emont + * Guillaume Seguin * Gwenole Beauchesne - * Göran Jönsson + * Havard Graff + * Heinrich Fink + * Hyunjun Ko + * Ilya Averyanov + * Ilya Konstantinov * Jan Alexander Steffens (heftig) * Jan Schmidt + * Jerome Laheurte + * Jesper Larsen + * Jimmy Ohn + * Joachim Bauch + * Jose Antonio Santos Cadenas + * Josep Torra + * Joshua M. Doe * Julien Isorce - * Mart Raudsepp + * Jun Xie + * Jürgen Slowack + * L. Sorin + * Lasse Laursen + * Lihua Liu + * Lubosz Sarnecki + * Luis de Bethencourt + * Lyon Wang + * Mark Nauwelaerts + * Matej Knopp * Mathieu Duponchelle + * Matthew Bader * Matthew Waters * Matthieu Bouron + * Mersad Jelacic + * Michał Dębski + * Miguel París Díaz + * Mohammed Hassan + * Neos3452 + * Nick Stoughton + * Nicola Murino * Nicolas Dufresne - * Philip Withnall + * Nirbheek Chauhan + * Ognyan Tonchev + * Oleksij Rempel + * Olivier Crete + * Olivier Crête + * Patricia Muscalu + * Patrik Oldsberg + * Philippe Normand * Piotr Drąg + * Raimo Järvi + * Rajat Verma + * Ramiro Polla + * Ramprakash Jelari + * Reynaldo H. Verdejo Pinochet + * Rob Clark + * Robert Jobbagy + * Robert Swain + * Roman Nowicki + * Sanjay NM + * Santiago Carot-Nemesio * Sebastian Dröge * Sebastian Rasmussen - * Stefan Ringel + * Song Bing + * Sreerenj Balachandran + * Stefan Sauer + * Sudip Jain + * Suhwang Kim * Thiago Santos * Thibault Saunier + * Thijs Vermeir + * Thomas Bluemel + * Thomas Klausner + * Tifaine Inguere * Tim-Philipp Müller + * Valentin PONS + * Vasilis Liaskovitis + * Victor Toso + * Vijay Jayaraman + * Vincent Abriou * Vincent Penquerc'h + * Vineeth T M + * Vineeth TM + * Vivia Nikolaidou + * Vootele Vesterblom + * Víctor Manuel Jáquez Leal * Wang Xin-yu (王昕宇) + * William Manley + * Wim Taymans + * Wonchul Lee + * Xavier Claessens + * Youness Alaoui + * Yujin Lee + * Zaheer Abbas Merali + * hoonhee.lee + * ijsf + * xixi + * Руслан Ижбулатов   \ No newline at end of file diff --git a/configure.ac b/configure.ac index 01c3ca5824..3bbbaf74c3 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.69]) dnl initialize autoconf dnl when going to/from release please set the nano (fourth number) right ! dnl releases only do Wall, cvs and prerelease does Werror too -AC_INIT([GStreamer Bad Plug-ins],[1.5.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad]) +AC_INIT([GStreamer Bad Plug-ins],[1.5.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad]) AG_GST_INIT @@ -51,8 +51,8 @@ dnl sets GST_LT_LDFLAGS AS_LIBTOOL(GST, 501, 0, 501) dnl *** required versions of GStreamer stuff *** -GST_REQ=1.5.0.1 -GSTPB_REQ=1.5.0.1 +GST_REQ=1.5.1 +GSTPB_REQ=1.5.1 dnl *** autotools stuff **** diff --git a/docs/plugins/gst-plugins-bad-plugins.args b/docs/plugins/gst-plugins-bad-plugins.args index 82ccb51552..6baf35e5a1 100644 --- a/docs/plugins/gst-plugins-bad-plugins.args +++ b/docs/plugins/gst-plugins-bad-plugins.args @@ -22694,7 +22694,7 @@ >= G_MAXULONG rw packet alignment -Number of packets per buffer (padded with dummy packets on EOS) (-1 = auto, 0 = all available packets). +Number of packets per buffer (padded with dummy packets on EOS) (-1 = auto, 0 = all available packets, 7 for UDP streaming). -1 @@ -46264,7 +46264,17 @@ rw Path to the control socket -The path to the control socket used to control the shared memory transport. +The path to the control socket used to control the shared memory. +NULL + + + +GstShmSrc::shm-area-name +gchar* + +r +Name of the shared memory area +The name of the shared memory area used to get buffers. NULL @@ -46461,7 +46471,7 @@ GstExclusion::factor guint -<= 175 +[1,175] rw Factor Exclusion factor parameter. @@ -47641,7 +47651,7 @@ GstFieldAnalysis::block-width guint64 - +>= 1 rw Block width Block width for windowed comb detection. @@ -68010,3 +68020,263 @@ Gestures in the defined region of interest will emit messages. + +GstAudioInterleave::channel-positions +GValueArray* + +rw +Channel positions +Channel positions used on the output. + + + + +GstAudioInterleave::channel-positions-from-input +gboolean + +rw +Channel positions from input +Take channel positions from the input. +TRUE + + + +gleffects_xray::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_xpro::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_twirl::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_tunnel::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_stretch::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_squeeze::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_square::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_sobel::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_sobel::invert +gboolean + +rw +Invert the colors for sobel effect +Invert colors to get dark edges on bright background when using sobel effect. +FALSE + + + +gleffects_sin::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_sepia::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_mirror::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_lumaxpro::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_laplacian::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_laplacian::invert +gboolean + +rw +Invert the colors for sobel effect +Invert colors to get dark edges on bright background when using sobel effect. +FALSE + + + +gleffects_identity::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_heat::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_glow::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_fisheye::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_bulge::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +gleffects_blur::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +GstGLEffectsGeneric::effect +GstGLEffectsEffect + +rw +Effect +Select which effect apply to GL video texture. +Do nothing Effect + + + +GstGLEffectsGeneric::hswap +gboolean + +rw +Horizontal Swap +Switch video texture left to right, useful with webcams. +FALSE + + + +GstGLEffectsGeneric::invert +gboolean + +rw +Invert the colors for sobel effect +Invert colors to get dark edges on bright background when using sobel effect. +FALSE + + diff --git a/docs/plugins/gst-plugins-bad-plugins.hierarchy b/docs/plugins/gst-plugins-bad-plugins.hierarchy index 90776fcb0b..e61a754ed0 100644 --- a/docs/plugins/gst-plugins-bad-plugins.hierarchy +++ b/docs/plugins/gst-plugins-bad-plugins.hierarchy @@ -3,11 +3,8 @@ GObject GstObject GstAllocator GstAllocatorSysmem - GstVdpVideoAllocator GstWlShmAllocator GstAudioRingBuffer - GstAudioSinkRingBuffer - GstAudioSrcRingBuffer GstBus GstClock GstSystemClock @@ -16,12 +13,15 @@ GObject GstControlSource GstElement GstAggregator - GstAudioMixer + GstAudioAggregator + GstAudioInterleave + GstAudioMixer GstVideoAggregator GstCompositor GstGLBaseMixer GstGLMixer GstGLMosaic + GstGLVideoMixer GstAiffMux GstAiffParse GstAsfMux @@ -32,15 +32,10 @@ GObject GstFaad GstGSMDec GstMpg123AudioDec - GstOpusDec - GstSbcDec GstSirenDec GstAudioEncoder ADPCMEnc - GstFaac GstGSMEnc - GstOpusEnc - GstSbcEnc GstSirenEnc GstVoAacEnc GstVoAmrWbEnc @@ -60,20 +55,14 @@ GObject GstJpegParse GstMpeg4VParse GstMpegvParse - GstOpusParse GstPngParse GstVC1Parse GstBaseSink GstAudioBaseSink - GstAudioSink - GstOpenALSink GstDecklinkAudioSink - GstAvdtpSink GstChecksumSink GstCurlBaseSink GstCurlFileSink - GstCurlSshSink - GstCurlSftpSink GstCurlTlsSink GstCurlFtpSink GstCurlHttpSink @@ -82,13 +71,13 @@ GObject GstInterAudioSink GstInterSubSink GstInterVideoSink - GstRTMPSink GstShmSink GstVideoSink + GstDfbVideoSink GstFBDEVSink + GstGLImageSink GstWaylandSink GstBaseSrc - GstAvdtpSrc GstDataURISrc GstFliteTestSrc GstInterAudioSrc @@ -98,16 +87,11 @@ GObject ladspasrc-noise-so-noise-white ladspasrc-sine-so-sine-fcac GstPushSrc - GstAudioBaseSrc - GstAudioSrc - GstOpenalSrc GstDecklinkAudioSrc GstDecklinkVideoSrc GstDvbSrc GstGLTestSrc GstMMS - GstNeonhttpSrc - GstRTMPSrc GstRfbSrc GstShmSrc GstVCDSrc @@ -115,7 +99,6 @@ GObject GstAudioFilter GstAccurip GstAudioChannelMix - GstBPMDetect GstChromaprint GstLADSPAFilter ladspa-amp-so-amp-mono @@ -139,13 +122,30 @@ GObject GstGLDeinterlace GstGLDifferenceMatte GstGLEffects + GstGLEffectsGeneric + gleffects_blur + gleffects_bulge + gleffects_fisheye + gleffects_glow + gleffects_heat + gleffects_identity + gleffects_laplacian + gleffects_lumaxpro + gleffects_mirror + gleffects_sepia + gleffects_sin + gleffects_sobel + gleffects_square + gleffects_squeeze + gleffects_stretch + gleffects_tunnel + gleffects_twirl + gleffects_xpro + gleffects_xray GstGLFilterApp - GstGLFilterBlur GstGLFilterCube GstGLFilterGlass - GstGLFilterLaplacian GstGLFilterShader - GstGLFilterSobel GstGLOverlay GstGLUploadElement GstIvtc @@ -179,23 +179,7 @@ GObject GstPerspective GstRotate GstSquare - GstGrabcut - GstOpencvVideoFilter - GstCvDilateErode - GstCvDilate - GstCvErode - GstCvEqualizeHist - GstCvLaplace - GstCvSmooth - GstCvSobel - GstFaceBlur - GstFaceDetect - GstHanddetect - GstSkinDetect - GstRetinex - GstRsvgOverlay GstSceneChange - GstSegmentation GstSimpleVideoMark GstSimpleVideoMarkDetect GstSmooth @@ -207,11 +191,8 @@ GObject GstYadif GstBin DvbBaseBin - GstA2dpSink GstAdaptiveDemux GstDashDemux - GstHLSDemux - GstMssDemux GstAutoConvert GstAutoVideoConvert GstBaseCameraSrc @@ -224,7 +205,6 @@ GObject GstGLSinkBin GstGLImageSinkBin GstGLSrcBin - GstHlsSink GstPipeline GstCameraBin GstSDPDemux @@ -236,14 +216,11 @@ GObject GstCompare GstDVBSubOverlay GstDVDSpu - GstDisparity - GstEdgeDetect GstFestival GstFieldAnalysis GstFluidDec GstGDPDepay GstGDPPay - GstGmeDec GstInterlace GstJP2kDecimator GstJifMux @@ -257,58 +234,36 @@ GObject GstMimDec GstMimEnc GstModPlug - GstMotioncells - GstMpeg2enc GstMpegPSDemux GstMplex - GstOpencvTextOverlay GstPcapParse - GstPitch - GstPyramidSegment GstRTPBaseDepayload - GstRTPOpusDepay GstRtpH265Depay GstRTPBasePayload GstRtpAsfPay GstRtpH265Pay - GstRtpOPUSPay GstRawParse GstAudioParse GstVideoParse GstRtpOnvifParse GstRtpOnvifTimestamp - GstSFDec GstSegmentClip GstAudioSegmentClip GstVideoSegmentClip GstSpeed GstSrtEnc - GstSrtpDec - GstSrtpEnc GstTagMux GstId3Mux - GstTemplateMatch GstUvcH264MjpgDemux GstVideoDecoder GstLibde265Dec - GstOpenEXRDec - GstOpenJPEGDec GstOpenh264Dec GstPnmdec - GstRsvgDec - GstSchroDec GstVMncDec - GstVdpDecoder - GstVdpMpegDec - GstWebPDec GstVideoEncoder - GstOpenJPEGEnc GstOpenh264Enc GstPnmenc - GstSchroEnc - GstWebpEnc GstWebvttEnc - GstWildmidi GstY4mDec MpegPsMux MpegTSBase @@ -318,11 +273,14 @@ GObject GstGLContext GstPad GstAggregatorPad - GstAudioMixerPad + GstAudioAggregatorPad + GstAudioInterleavePad + GstAudioMixerPad GstVideoAggregatorPad GstCompositorPad GstGLBaseMixerPad GstGLMixerPad + GstGLVideoMixerPad GstPadTemplate GstPlugin GstPluginFeature @@ -332,8 +290,8 @@ GObject GstRegistry GstTask GstTaskPool + GstColorBalanceChannel GstEncodingProfile - GstVdpDevice MXFMetadataBase MXFDescriptiveMetadata MXFDMS1 @@ -410,6 +368,7 @@ GObject GInterface GTypePlugin GstChildProxy + GstColorBalance GstNavigation GstPreset GstTagSetter diff --git a/docs/plugins/gst-plugins-bad-plugins.interfaces b/docs/plugins/gst-plugins-bad-plugins.interfaces index b2425c6419..ca961ce889 100644 --- a/docs/plugins/gst-plugins-bad-plugins.interfaces +++ b/docs/plugins/gst-plugins-bad-plugins.interfaces @@ -6,6 +6,7 @@ GstAmrWbEnc GstPreset GstApExSink GstImplementsInterface GstMixer GstAsfMux GstTagSetter GstAudioEncoder GstPreset +GstAudioInterleave GstChildProxy GstAudioMixer GstChildProxy GstAutoConvert GstChildProxy GstAutoVideoConvert GstChildProxy diff --git a/docs/plugins/gst-plugins-bad-plugins.signals b/docs/plugins/gst-plugins-bad-plugins.signals index 7c57afa41b..24d27abcd3 100644 --- a/docs/plugins/gst-plugins-bad-plugins.signals +++ b/docs/plugins/gst-plugins-bad-plugins.signals @@ -659,9 +659,7 @@ DvbBaseBin *dvbbasebin l GstGLImageSink *gstglimagesink GstGLContext *arg1 -guint arg2 -guint arg3 -guint arg4 +GstSample *arg2 @@ -711,9 +709,7 @@ GstGLMixerBin *gstglmixerbin l GstGLImageSinkBin *gstglimagesinkbin GstGLContext *arg1 -guint arg2 -guint arg3 -guint arg4 +GstSample *arg2 diff --git a/docs/plugins/inspect/plugin-accurip.xml b/docs/plugins/inspect/plugin-accurip.xml index d99c398fb0..f136b19f29 100644 --- a/docs/plugins/inspect/plugin-accurip.xml +++ b/docs/plugins/inspect/plugin-accurip.xml @@ -3,10 +3,10 @@ Computes an AccurateRip CRC ../../gst/accurip/.libs/libgstaccurip.so libgstaccurip.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-adpcmdec.xml b/docs/plugins/inspect/plugin-adpcmdec.xml index a6c6d317b8..f325024a6d 100644 --- a/docs/plugins/inspect/plugin-adpcmdec.xml +++ b/docs/plugins/inspect/plugin-adpcmdec.xml @@ -3,10 +3,10 @@ ADPCM decoder ../../gst/adpcmdec/.libs/libgstadpcmdec.so libgstadpcmdec.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-adpcmenc.xml b/docs/plugins/inspect/plugin-adpcmenc.xml index d78aee2446..02b6ba16ae 100644 --- a/docs/plugins/inspect/plugin-adpcmenc.xml +++ b/docs/plugins/inspect/plugin-adpcmenc.xml @@ -3,10 +3,10 @@ ADPCM encoder ../../gst/adpcmenc/.libs/libgstadpcmenc.so libgstadpcmenc.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-aiff.xml b/docs/plugins/inspect/plugin-aiff.xml index 82523a10b2..5625413ab9 100644 --- a/docs/plugins/inspect/plugin-aiff.xml +++ b/docs/plugins/inspect/plugin-aiff.xml @@ -3,10 +3,10 @@ Create and parse Audio Interchange File Format (AIFF) files ../../gst/aiff/.libs/libgstaiff.so libgstaiff.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-asfmux.xml b/docs/plugins/inspect/plugin-asfmux.xml index 2ecfd4a0fc..0b9c401516 100644 --- a/docs/plugins/inspect/plugin-asfmux.xml +++ b/docs/plugins/inspect/plugin-asfmux.xml @@ -3,10 +3,10 @@ ASF Muxer Plugin ../../gst/asfmux/.libs/libgstasfmux.so libgstasfmux.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-assrender.xml b/docs/plugins/inspect/plugin-assrender.xml index 539d4ef20d..10e8f4bfcd 100644 --- a/docs/plugins/inspect/plugin-assrender.xml +++ b/docs/plugins/inspect/plugin-assrender.xml @@ -3,10 +3,10 @@ ASS/SSA subtitle renderer ../../ext/assrender/.libs/libgstassrender.so libgstassrender.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin @@ -26,13 +26,13 @@ video_sink sink always -
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
src source always -
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
diff --git a/docs/plugins/inspect/plugin-audiomixer.xml b/docs/plugins/inspect/plugin-audiomixer.xml index bd441d2758..531fe7d962 100644 --- a/docs/plugins/inspect/plugin-audiomixer.xml +++ b/docs/plugins/inspect/plugin-audiomixer.xml @@ -3,12 +3,33 @@ Mixes multiple audio streams ../../gst/audiomixer/.libs/libgstaudiomixer.so libgstaudiomixer.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin + + audiointerleave + AudioInterleave + Generic/Audio + Mixes multiple audio streams + Olivier Crete <olivier.crete@collabora.com> + + + sink_%u + sink + request +
audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)1, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, layout=(string){ non-interleaved, interleaved }
+
+ + src + source + always +
audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, layout=(string)interleaved
+
+
+
audiomixer AudioMixer diff --git a/docs/plugins/inspect/plugin-audiovisualizers.xml b/docs/plugins/inspect/plugin-audiovisualizers.xml index 694b7dacd1..a3e986e515 100644 --- a/docs/plugins/inspect/plugin-audiovisualizers.xml +++ b/docs/plugins/inspect/plugin-audiovisualizers.xml @@ -3,10 +3,10 @@ Creates video visualizations of audio input ../../gst/audiovisualizers/.libs/libgstaudiovisualizers.so libgstaudiovisualizers.so - 1.5.0.1 - GPL + 1.5.1 + LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-autoconvert.xml b/docs/plugins/inspect/plugin-autoconvert.xml index b2d3ff2cdb..9dd08dc9e9 100644 --- a/docs/plugins/inspect/plugin-autoconvert.xml +++ b/docs/plugins/inspect/plugin-autoconvert.xml @@ -3,10 +3,10 @@ Selects convertor element based on caps ../../gst/autoconvert/.libs/libgstautoconvert.so libgstautoconvert.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-bayer.xml b/docs/plugins/inspect/plugin-bayer.xml index 1ca31442d0..51cc289323 100644 --- a/docs/plugins/inspect/plugin-bayer.xml +++ b/docs/plugins/inspect/plugin-bayer.xml @@ -3,10 +3,10 @@ Elements to convert Bayer images ../../gst/bayer/.libs/libgstbayer.so libgstbayer.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-bz2.xml b/docs/plugins/inspect/plugin-bz2.xml index c82731bf0c..9f5c02a476 100644 --- a/docs/plugins/inspect/plugin-bz2.xml +++ b/docs/plugins/inspect/plugin-bz2.xml @@ -3,10 +3,10 @@ Compress or decompress streams ../../ext/bz2/.libs/libgstbz2.so libgstbz2.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-camerabin.xml b/docs/plugins/inspect/plugin-camerabin.xml index 67cdf51f46..d80733e6aa 100644 --- a/docs/plugins/inspect/plugin-camerabin.xml +++ b/docs/plugins/inspect/plugin-camerabin.xml @@ -3,10 +3,10 @@ Take image snapshots and record movies from camera ../../gst/camerabin2/.libs/libgstcamerabin2.so libgstcamerabin2.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-chromaprint.xml b/docs/plugins/inspect/plugin-chromaprint.xml index 433eecdc9c..897ee57023 100644 --- a/docs/plugins/inspect/plugin-chromaprint.xml +++ b/docs/plugins/inspect/plugin-chromaprint.xml @@ -3,10 +3,10 @@ Calculate Chromaprint fingerprint from audio files ../../ext/chromaprint/.libs/libgstchromaprint.so libgstchromaprint.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-coloreffects.xml b/docs/plugins/inspect/plugin-coloreffects.xml index 748eb8fb1d..a72d9924f2 100644 --- a/docs/plugins/inspect/plugin-coloreffects.xml +++ b/docs/plugins/inspect/plugin-coloreffects.xml @@ -3,10 +3,10 @@ Color Look-up Table filters ../../gst/coloreffects/.libs/libgstcoloreffects.so libgstcoloreffects.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-curl.xml b/docs/plugins/inspect/plugin-curl.xml index fe81dd013b..165b45a8b8 100644 --- a/docs/plugins/inspect/plugin-curl.xml +++ b/docs/plugins/inspect/plugin-curl.xml @@ -3,10 +3,10 @@ libcurl-based elements ../../ext/curl/.libs/libgstcurl.so libgstcurl.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin @@ -54,21 +54,6 @@ - - curlsftpsink - Curl sftp sink - Sink/Network - Upload data over the SFTP protocol using libcurl - Sorin L. <sorin@axis.com> - - - sink - sink - always -
ANY
-
-
-
curlsmtpsink Curl smtp sink diff --git a/docs/plugins/inspect/plugin-dataurisrc.xml b/docs/plugins/inspect/plugin-dataurisrc.xml index 29001d6bda..725dd8e65d 100644 --- a/docs/plugins/inspect/plugin-dataurisrc.xml +++ b/docs/plugins/inspect/plugin-dataurisrc.xml @@ -3,10 +3,10 @@ data: URI source ../../gst/dataurisrc/.libs/libgstdataurisrc.so libgstdataurisrc.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-debugutilsbad.xml b/docs/plugins/inspect/plugin-debugutilsbad.xml index 39f5d3808a..b9513585fd 100644 --- a/docs/plugins/inspect/plugin-debugutilsbad.xml +++ b/docs/plugins/inspect/plugin-debugutilsbad.xml @@ -3,10 +3,10 @@ Collection of elements that may or may not be useful for debugging ../../gst/debugutils/.libs/libgstdebugutilsbad.so libgstdebugutilsbad.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-dtsdec.xml b/docs/plugins/inspect/plugin-dtsdec.xml index a5147bb004..9b84566ded 100644 --- a/docs/plugins/inspect/plugin-dtsdec.xml +++ b/docs/plugins/inspect/plugin-dtsdec.xml @@ -3,10 +3,10 @@ Decodes DTS audio streams ../../ext/dts/.libs/libgstdtsdec.so libgstdtsdec.so - 1.5.0.1 + 1.5.1 GPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-dvb.xml b/docs/plugins/inspect/plugin-dvb.xml index d015b6ff44..c862cbb4c8 100644 --- a/docs/plugins/inspect/plugin-dvb.xml +++ b/docs/plugins/inspect/plugin-dvb.xml @@ -3,10 +3,10 @@ DVB elements ../../sys/dvb/.libs/libgstdvb.so libgstdvb.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-dvbsuboverlay.xml b/docs/plugins/inspect/plugin-dvbsuboverlay.xml index 5046c1b575..151223bec5 100644 --- a/docs/plugins/inspect/plugin-dvbsuboverlay.xml +++ b/docs/plugins/inspect/plugin-dvbsuboverlay.xml @@ -3,10 +3,10 @@ DVB subtitle renderer ../../gst/dvbsuboverlay/.libs/libgstdvbsuboverlay.so libgstdvbsuboverlay.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin @@ -26,13 +26,13 @@ video_sink sink always -
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
src source always -
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
diff --git a/docs/plugins/inspect/plugin-dvdspu.xml b/docs/plugins/inspect/plugin-dvdspu.xml index 61b9317d41..51956d2b8b 100644 --- a/docs/plugins/inspect/plugin-dvdspu.xml +++ b/docs/plugins/inspect/plugin-dvdspu.xml @@ -3,10 +3,10 @@ DVD Sub-picture Overlay element ../../gst/dvdspu/.libs/libgstdvdspu.so libgstdvdspu.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-faad.xml b/docs/plugins/inspect/plugin-faad.xml index 2bf896355c..6d46a88917 100644 --- a/docs/plugins/inspect/plugin-faad.xml +++ b/docs/plugins/inspect/plugin-faad.xml @@ -3,10 +3,10 @@ Free AAC Decoder (FAAD) ../../ext/faad/.libs/libgstfaad.so libgstfaad.so - 1.5.0.1 + 1.5.1 GPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-festival.xml b/docs/plugins/inspect/plugin-festival.xml index d63ce628ee..c6bb388454 100644 --- a/docs/plugins/inspect/plugin-festival.xml +++ b/docs/plugins/inspect/plugin-festival.xml @@ -3,10 +3,10 @@ Synthesizes plain text into audio ../../gst/festival/.libs/libgstfestival.so libgstfestival.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-fieldanalysis.xml b/docs/plugins/inspect/plugin-fieldanalysis.xml index 60c8affc90..2103262cf9 100644 --- a/docs/plugins/inspect/plugin-fieldanalysis.xml +++ b/docs/plugins/inspect/plugin-fieldanalysis.xml @@ -3,7 +3,7 @@ Video field analysis ../../gst/fieldanalysis/.libs/libgstfieldanalysis.so libgstfieldanalysis.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad GStreamer diff --git a/docs/plugins/inspect/plugin-flite.xml b/docs/plugins/inspect/plugin-flite.xml index aa2a90c81a..c3877d5cd1 100644 --- a/docs/plugins/inspect/plugin-flite.xml +++ b/docs/plugins/inspect/plugin-flite.xml @@ -3,10 +3,10 @@ Flite speech synthesizer plugin ../../ext/flite/.libs/libgstflite.so libgstflite.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-frei0r.xml b/docs/plugins/inspect/plugin-frei0r.xml index 22d7262be8..5056432d92 100644 --- a/docs/plugins/inspect/plugin-frei0r.xml +++ b/docs/plugins/inspect/plugin-frei0r.xml @@ -3,10 +3,10 @@ frei0r plugin library ../../gst/frei0r/.libs/libgstfrei0r.so libgstfrei0r.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-gaudieffects.xml b/docs/plugins/inspect/plugin-gaudieffects.xml index 465a76da65..c89e2f6486 100644 --- a/docs/plugins/inspect/plugin-gaudieffects.xml +++ b/docs/plugins/inspect/plugin-gaudieffects.xml @@ -3,7 +3,7 @@ Gaudi video effects. ../../gst/gaudieffects/.libs/libgstgaudieffects.so libgstgaudieffects.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad GStreamer diff --git a/docs/plugins/inspect/plugin-gdp.xml b/docs/plugins/inspect/plugin-gdp.xml index 6cbcccf0b0..ab07c31756 100644 --- a/docs/plugins/inspect/plugin-gdp.xml +++ b/docs/plugins/inspect/plugin-gdp.xml @@ -3,10 +3,10 @@ Payload/depayload GDP packets ../../gst/gdp/.libs/libgstgdp.so libgstgdp.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-geometrictransform.xml b/docs/plugins/inspect/plugin-geometrictransform.xml index b667910160..e22caae523 100644 --- a/docs/plugins/inspect/plugin-geometrictransform.xml +++ b/docs/plugins/inspect/plugin-geometrictransform.xml @@ -3,10 +3,10 @@ Various geometric image transform elements ../../gst/geometrictransform/.libs/libgstgeometrictransform.so libgstgeometrictransform.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-gsm.xml b/docs/plugins/inspect/plugin-gsm.xml index 4e3f9dcea5..32a8dd281b 100644 --- a/docs/plugins/inspect/plugin-gsm.xml +++ b/docs/plugins/inspect/plugin-gsm.xml @@ -3,10 +3,10 @@ GSM encoder/decoder ../../ext/gsm/.libs/libgstgsm.so libgstgsm.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-gstsiren.xml b/docs/plugins/inspect/plugin-gstsiren.xml index 9a4866f20a..22f04a4b0f 100644 --- a/docs/plugins/inspect/plugin-gstsiren.xml +++ b/docs/plugins/inspect/plugin-gstsiren.xml @@ -3,10 +3,10 @@ Siren encoder/decoder/payloader/depayloader plugins ../../gst/siren/.libs/libgstsiren.so libgstsiren.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-id3tag.xml b/docs/plugins/inspect/plugin-id3tag.xml index 4f8b2c28ee..06afc08ef8 100644 --- a/docs/plugins/inspect/plugin-id3tag.xml +++ b/docs/plugins/inspect/plugin-id3tag.xml @@ -3,10 +3,10 @@ ID3 v1 and v2 muxing plugin ../../gst/id3tag/.libs/libgstid3tag.so libgstid3tag.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-inter.xml b/docs/plugins/inspect/plugin-inter.xml index dcd55e3d02..ce7551f002 100644 --- a/docs/plugins/inspect/plugin-inter.xml +++ b/docs/plugins/inspect/plugin-inter.xml @@ -3,7 +3,7 @@ plugin for inter-pipeline communication ../../gst/inter/.libs/libgstinter.so libgstinter.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad GStreamer Bad Plug-ins @@ -80,7 +80,7 @@ sink sink always -
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
@@ -95,7 +95,7 @@ src source always -
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
diff --git a/docs/plugins/inspect/plugin-interlace.xml b/docs/plugins/inspect/plugin-interlace.xml index 19c0813304..76b65af568 100644 --- a/docs/plugins/inspect/plugin-interlace.xml +++ b/docs/plugins/inspect/plugin-interlace.xml @@ -3,10 +3,10 @@ Create an interlaced video stream ../../gst/interlace/.libs/libgstinterlace.so libgstinterlace.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-jpegformat.xml b/docs/plugins/inspect/plugin-jpegformat.xml index 421fe36de3..d214e37bbe 100644 --- a/docs/plugins/inspect/plugin-jpegformat.xml +++ b/docs/plugins/inspect/plugin-jpegformat.xml @@ -3,10 +3,10 @@ JPEG interchange format plugin ../../gst/jpegformat/.libs/libgstjpegformat.so libgstjpegformat.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-liveadder.xml b/docs/plugins/inspect/plugin-liveadder.xml index 1d5b834299..0d0a873078 100644 --- a/docs/plugins/inspect/plugin-liveadder.xml +++ b/docs/plugins/inspect/plugin-liveadder.xml @@ -3,10 +3,10 @@ Adds multiple live discontinuous streams ../../gst/liveadder/.libs/libgstliveadder.so libgstliveadder.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-mimic.xml b/docs/plugins/inspect/plugin-mimic.xml index af26cc0b06..cb22a0cb9e 100644 --- a/docs/plugins/inspect/plugin-mimic.xml +++ b/docs/plugins/inspect/plugin-mimic.xml @@ -3,10 +3,10 @@ Mimic codec ../../ext/mimic/.libs/libgstmimic.so libgstmimic.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-mms.xml b/docs/plugins/inspect/plugin-mms.xml index 27380a6372..382f3f77c5 100644 --- a/docs/plugins/inspect/plugin-mms.xml +++ b/docs/plugins/inspect/plugin-mms.xml @@ -3,10 +3,10 @@ Microsoft Multi Media Server streaming protocol support ../../ext/libmms/.libs/libgstmms.so libgstmms.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-modplug.xml b/docs/plugins/inspect/plugin-modplug.xml index b6049c8deb..ee7c010e51 100644 --- a/docs/plugins/inspect/plugin-modplug.xml +++ b/docs/plugins/inspect/plugin-modplug.xml @@ -3,10 +3,10 @@ .MOD audio decoding ../../ext/modplug/.libs/libgstmodplug.so libgstmodplug.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-mpegpsdemux.xml b/docs/plugins/inspect/plugin-mpegpsdemux.xml index d74dd78abc..627fe08dac 100644 --- a/docs/plugins/inspect/plugin-mpegpsdemux.xml +++ b/docs/plugins/inspect/plugin-mpegpsdemux.xml @@ -3,10 +3,10 @@ MPEG-PS demuxer ../../gst/mpegdemux/.libs/libgstmpegpsdemux.so libgstmpegpsdemux.so - 1.5.0.1 + 1.5.1 unknown gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-mpegpsmux.xml b/docs/plugins/inspect/plugin-mpegpsmux.xml index 91765733b8..157eb3ebc7 100644 --- a/docs/plugins/inspect/plugin-mpegpsmux.xml +++ b/docs/plugins/inspect/plugin-mpegpsmux.xml @@ -3,10 +3,10 @@ MPEG-PS muxer ../../gst/mpegpsmux/.libs/libgstmpegpsmux.so libgstmpegpsmux.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-mpegtsdemux.xml b/docs/plugins/inspect/plugin-mpegtsdemux.xml index 537be5f545..bc4c068840 100644 --- a/docs/plugins/inspect/plugin-mpegtsdemux.xml +++ b/docs/plugins/inspect/plugin-mpegtsdemux.xml @@ -3,10 +3,10 @@ MPEG TS demuxer ../../gst/mpegtsdemux/.libs/libgstmpegtsdemux.so libgstmpegtsdemux.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin @@ -45,7 +45,7 @@ Edward Hervey <edward.hervey@collabora.co.uk> video_%04x source sometimes -
video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false; video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal; video/x-dirac; video/x-wmv, wmvversion=(int)3, format=(string)WVC1
+
video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false; video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal; video/x-dirac; video/x-cavs; video/x-wmv, wmvversion=(int)3, format=(string)WVC1
diff --git a/docs/plugins/inspect/plugin-mpegtsmux.xml b/docs/plugins/inspect/plugin-mpegtsmux.xml index 415814bb9f..3303fe1033 100644 --- a/docs/plugins/inspect/plugin-mpegtsmux.xml +++ b/docs/plugins/inspect/plugin-mpegtsmux.xml @@ -3,10 +3,10 @@ MPEG-TS muxer ../../gst/mpegtsmux/.libs/libgstmpegtsmux.so libgstmpegtsmux.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-mpg123.xml b/docs/plugins/inspect/plugin-mpg123.xml index 4bee3736c4..4535a34fc0 100644 --- a/docs/plugins/inspect/plugin-mpg123.xml +++ b/docs/plugins/inspect/plugin-mpg123.xml @@ -3,10 +3,10 @@ mp3 decoding based on the mpg123 library ../../ext/mpg123/.libs/libgstmpg123.so libgstmpg123.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-mplex.xml b/docs/plugins/inspect/plugin-mplex.xml index 860b034b5f..91f2a36a8e 100644 --- a/docs/plugins/inspect/plugin-mplex.xml +++ b/docs/plugins/inspect/plugin-mplex.xml @@ -3,10 +3,10 @@ High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer ../../ext/mplex/.libs/libgstmplex.so libgstmplex.so - 1.5.0.1 + 1.5.1 GPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-ofa.xml b/docs/plugins/inspect/plugin-ofa.xml index 131a2ff059..cbd7358676 100644 --- a/docs/plugins/inspect/plugin-ofa.xml +++ b/docs/plugins/inspect/plugin-ofa.xml @@ -3,10 +3,10 @@ Calculate MusicIP fingerprint from audio files ../../ext/ofa/.libs/libgstofa.so libgstofa.so - 1.5.0.1 + 1.5.1 GPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-pcapparse.xml b/docs/plugins/inspect/plugin-pcapparse.xml index eda26658df..6146d6fc9c 100644 --- a/docs/plugins/inspect/plugin-pcapparse.xml +++ b/docs/plugins/inspect/plugin-pcapparse.xml @@ -3,7 +3,7 @@ Element parsing raw pcap streams ../../gst/pcapparse/.libs/libgstpcapparse.so libgstpcapparse.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad GStreamer diff --git a/docs/plugins/inspect/plugin-pnm.xml b/docs/plugins/inspect/plugin-pnm.xml index 2d0de81e47..15631881d3 100644 --- a/docs/plugins/inspect/plugin-pnm.xml +++ b/docs/plugins/inspect/plugin-pnm.xml @@ -3,10 +3,10 @@ PNM plugin ../../gst/pnm/.libs/libgstpnm.so libgstpnm.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-rawparse.xml b/docs/plugins/inspect/plugin-rawparse.xml index 025fcc0364..df1484e75f 100644 --- a/docs/plugins/inspect/plugin-rawparse.xml +++ b/docs/plugins/inspect/plugin-rawparse.xml @@ -3,10 +3,10 @@ Parses byte streams into raw frames ../../gst/rawparse/.libs/libgstrawparse.so libgstrawparse.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-removesilence.xml b/docs/plugins/inspect/plugin-removesilence.xml index e68fcdeb89..db5e7c77cf 100644 --- a/docs/plugins/inspect/plugin-removesilence.xml +++ b/docs/plugins/inspect/plugin-removesilence.xml @@ -3,10 +3,10 @@ Removes silence from an audio stream ../../gst/removesilence/.libs/libgstremovesilence.so libgstremovesilence.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-resindvd.xml b/docs/plugins/inspect/plugin-resindvd.xml index 71f6a1a999..74f0265499 100644 --- a/docs/plugins/inspect/plugin-resindvd.xml +++ b/docs/plugins/inspect/plugin-resindvd.xml @@ -3,7 +3,7 @@ Resin DVD playback elements ../../ext/resindvd/.libs/libgstresindvd.so libgstresindvd.so - 1.5.0.1 + 1.5.1 GPL gst-plugins-bad GStreamer @@ -32,7 +32,7 @@ video source sometimes -
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
diff --git a/docs/plugins/inspect/plugin-rfbsrc.xml b/docs/plugins/inspect/plugin-rfbsrc.xml index b7ca01228e..dcf22bab47 100644 --- a/docs/plugins/inspect/plugin-rfbsrc.xml +++ b/docs/plugins/inspect/plugin-rfbsrc.xml @@ -3,10 +3,10 @@ Connects to a VNC server and decodes RFB stream ../../gst/librfb/.libs/libgstrfbsrc.so libgstrfbsrc.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-sdp.xml b/docs/plugins/inspect/plugin-sdp.xml index d66e6c1c02..c4899b281f 100644 --- a/docs/plugins/inspect/plugin-sdp.xml +++ b/docs/plugins/inspect/plugin-sdp.xml @@ -3,10 +3,10 @@ configure streaming sessions using SDP ../../gst/sdp/.libs/libgstsdpelem.so libgstsdpelem.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-segmentclip.xml b/docs/plugins/inspect/plugin-segmentclip.xml index 5a2c107505..91ea58f5ca 100644 --- a/docs/plugins/inspect/plugin-segmentclip.xml +++ b/docs/plugins/inspect/plugin-segmentclip.xml @@ -3,10 +3,10 @@ Segment clip elements ../../gst/segmentclip/.libs/libgstsegmentclip.so libgstsegmentclip.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-shm.xml b/docs/plugins/inspect/plugin-shm.xml index d201322ff6..8ae3a9c115 100644 --- a/docs/plugins/inspect/plugin-shm.xml +++ b/docs/plugins/inspect/plugin-shm.xml @@ -3,10 +3,10 @@ shared memory sink source ../../sys/shm/.libs/libgstshm.so libgstshm.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-smooth.xml b/docs/plugins/inspect/plugin-smooth.xml index 10dd3c07ed..9f5bab78e2 100644 --- a/docs/plugins/inspect/plugin-smooth.xml +++ b/docs/plugins/inspect/plugin-smooth.xml @@ -3,10 +3,10 @@ Apply a smooth filter to an image ../../gst/smooth/.libs/libgstsmooth.so libgstsmooth.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-speed.xml b/docs/plugins/inspect/plugin-speed.xml index 62206f8a53..d211d5db6e 100644 --- a/docs/plugins/inspect/plugin-speed.xml +++ b/docs/plugins/inspect/plugin-speed.xml @@ -3,10 +3,10 @@ Set speed/pitch on audio/raw streams (resampler) ../../gst/speed/.libs/libgstspeed.so libgstspeed.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-subenc.xml b/docs/plugins/inspect/plugin-subenc.xml index 8f32467048..d9d2e7b82b 100644 --- a/docs/plugins/inspect/plugin-subenc.xml +++ b/docs/plugins/inspect/plugin-subenc.xml @@ -3,10 +3,10 @@ subtitle encoders ../../gst/subenc/.libs/libgstsubenc.so libgstsubenc.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-videoparsersbad.xml b/docs/plugins/inspect/plugin-videoparsersbad.xml index 01fe187e59..312e73ba87 100644 --- a/docs/plugins/inspect/plugin-videoparsersbad.xml +++ b/docs/plugins/inspect/plugin-videoparsersbad.xml @@ -3,10 +3,10 @@ videoparsers ../../gst/videoparsers/.libs/libgstvideoparsersbad.so libgstvideoparsersbad.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-voaacenc.xml b/docs/plugins/inspect/plugin-voaacenc.xml index bea79cb4bc..8df783deaa 100644 --- a/docs/plugins/inspect/plugin-voaacenc.xml +++ b/docs/plugins/inspect/plugin-voaacenc.xml @@ -3,10 +3,10 @@ AAC audio encoder ../../ext/voaacenc/.libs/libgstvoaacenc.so libgstvoaacenc.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-voamrwbenc.xml b/docs/plugins/inspect/plugin-voamrwbenc.xml index be490fc127..ea4c216a68 100644 --- a/docs/plugins/inspect/plugin-voamrwbenc.xml +++ b/docs/plugins/inspect/plugin-voamrwbenc.xml @@ -3,10 +3,10 @@ Adaptive Multi-Rate Wide-Band Encoder ../../ext/voamrwbenc/.libs/libgstvoamrwbenc.so libgstvoamrwbenc.so - 1.5.0.1 + 1.5.1 unknown gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-waylandsink.xml b/docs/plugins/inspect/plugin-waylandsink.xml index 3b7cde6aae..f5b0b7ade7 100644 --- a/docs/plugins/inspect/plugin-waylandsink.xml +++ b/docs/plugins/inspect/plugin-waylandsink.xml @@ -3,10 +3,10 @@ Wayland Video Sink ../../ext/wayland/.libs/libgstwaylandsink.so libgstwaylandsink.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-y4mdec.xml b/docs/plugins/inspect/plugin-y4mdec.xml index d3ff2bf939..5eb0ec2593 100644 --- a/docs/plugins/inspect/plugin-y4mdec.xml +++ b/docs/plugins/inspect/plugin-y4mdec.xml @@ -3,7 +3,7 @@ Demuxes/decodes YUV4MPEG streams ../../gst/y4m/.libs/libgsty4mdec.so libgsty4mdec.so - 1.5.0.1 + 1.5.1 LGPL gst-plugins-bad GStreamer Bad Plug-ins diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap index 75af4f3adf..c2d94aaea9 100644 --- a/gst-plugins-bad.doap +++ b/gst-plugins-bad.doap @@ -33,6 +33,16 @@ real live maintainer, or some actual wide use. + + + 1.5.1 + 1.5 + + 2015-06-07 + + + + 1.4.0 diff --git a/gst/audiomixer/gstaudiomixerorc-dist.c b/gst/audiomixer/gstaudiomixerorc-dist.c index 092a464beb..be377f7054 100644 --- a/gst/audiomixer/gstaudiomixerorc-dist.c +++ b/gst/audiomixer/gstaudiomixerorc-dist.c @@ -1120,16 +1120,11 @@ audiomixer_orc_volume_u8 (guint8 * ORC_RESTRICT d1, int p1, int n) orc_int8 var35; #endif orc_int8 var36; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_int8 var37; -#else orc_int8 var37; -#endif orc_int8 var38; - orc_int8 var39; + orc_union16 var39; orc_union16 var40; - orc_union16 var41; - orc_int8 var42; + orc_int8 var41; ptr0 = (orc_int8 *) d1; @@ -1137,24 +1132,22 @@ audiomixer_orc_volume_u8 (guint8 * ORC_RESTRICT d1, int p1, int n) var35 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 3: loadpb */ var36 = p1; - /* 7: loadpb */ - var37 = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ var34 = ptr0[i]; /* 2: xorb */ - var39 = var34 ^ var35; + var38 = var34 ^ var35; /* 4: mulsbw */ - var40.i = var39 * var36; + var39.i = var38 * var36; /* 5: shrsw */ - var41.i = var40.i >> 3; + var40.i = var39.i >> 3; /* 6: convssswb */ - var42 = ORC_CLAMP_SB (var41.i); - /* 8: xorb */ - var38 = var42 ^ var37; - /* 9: storeb */ - ptr0[i] = var38; + var41 = ORC_CLAMP_SB (var40.i); + /* 7: xorb */ + var37 = var41 ^ var35; + /* 8: storeb */ + ptr0[i] = var37; } } @@ -1173,16 +1166,11 @@ _backup_audiomixer_orc_volume_u8 (OrcExecutor * ORC_RESTRICT ex) orc_int8 var35; #endif orc_int8 var36; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_int8 var37; -#else orc_int8 var37; -#endif orc_int8 var38; - orc_int8 var39; + orc_union16 var39; orc_union16 var40; - orc_union16 var41; - orc_int8 var42; + orc_int8 var41; ptr0 = (orc_int8 *) ex->arrays[0]; @@ -1190,24 +1178,22 @@ _backup_audiomixer_orc_volume_u8 (OrcExecutor * ORC_RESTRICT ex) var35 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 3: loadpb */ var36 = ex->params[24]; - /* 7: loadpb */ - var37 = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ var34 = ptr0[i]; /* 2: xorb */ - var39 = var34 ^ var35; + var38 = var34 ^ var35; /* 4: mulsbw */ - var40.i = var39 * var36; + var39.i = var38 * var36; /* 5: shrsw */ - var41.i = var40.i >> 3; + var40.i = var39.i >> 3; /* 6: convssswb */ - var42 = ORC_CLAMP_SB (var41.i); - /* 8: xorb */ - var38 = var42 ^ var37; - /* 9: storeb */ - ptr0[i] = var38; + var41 = ORC_CLAMP_SB (var40.i); + /* 7: xorb */ + var37 = var41 ^ var35; + /* 8: storeb */ + ptr0[i] = var37; } } @@ -1229,7 +1215,7 @@ audiomixer_orc_volume_u8 (guint8 * ORC_RESTRICT d1, int p1, int n) static const orc_uint8 bc[] = { 1, 9, 24, 97, 117, 100, 105, 111, 109, 105, 120, 101, 114, 95, 111, 114, 99, 95, 118, 111, 108, 117, 109, 101, 95, 117, 56, 11, 1, 1, 14, 1, - 128, 0, 0, 0, 14, 4, 3, 0, 0, 0, 16, 1, 20, 2, 20, 1, + 128, 0, 0, 0, 14, 2, 3, 0, 0, 0, 16, 1, 20, 2, 20, 1, 68, 33, 0, 16, 174, 32, 33, 24, 94, 32, 32, 17, 159, 33, 32, 68, 0, 33, 16, 2, 0, }; @@ -1241,7 +1227,7 @@ audiomixer_orc_volume_u8 (guint8 * ORC_RESTRICT d1, int p1, int n) orc_program_set_backup_function (p, _backup_audiomixer_orc_volume_u8); orc_program_add_destination (p, 1, "d1"); orc_program_add_constant (p, 1, 0x00000080, "c1"); - orc_program_add_constant (p, 4, 0x00000003, "c2"); + orc_program_add_constant (p, 2, 0x00000003, "c2"); orc_program_add_parameter (p, 1, "p1"); orc_program_add_temporary (p, 2, "t1"); orc_program_add_temporary (p, 1, "t2"); @@ -1294,18 +1280,13 @@ audiomixer_orc_add_volume_u8 (guint8 * ORC_RESTRICT d1, orc_int8 var35; #endif orc_int8 var36; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_int8 var37; -#else orc_int8 var37; -#endif orc_int8 var38; orc_int8 var39; - orc_int8 var40; + orc_union16 var40; orc_union16 var41; - orc_union16 var42; + orc_int8 var42; orc_int8 var43; - orc_int8 var44; ptr0 = (orc_int8 *) d1; ptr4 = (orc_int8 *) s1; @@ -1314,28 +1295,26 @@ audiomixer_orc_add_volume_u8 (guint8 * ORC_RESTRICT d1, var35 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 3: loadpb */ var36 = p1; - /* 7: loadpb */ - var37 = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ var34 = ptr4[i]; /* 2: xorb */ - var40 = var34 ^ var35; + var39 = var34 ^ var35; /* 4: mulsbw */ - var41.i = var40 * var36; + var40.i = var39 * var36; /* 5: shrsw */ - var42.i = var41.i >> 3; + var41.i = var40.i >> 3; /* 6: convssswb */ - var43 = ORC_CLAMP_SB (var42.i); - /* 8: xorb */ - var44 = var43 ^ var37; - /* 9: loadb */ - var38 = ptr0[i]; - /* 10: addusb */ - var39 = ORC_CLAMP_UB ((orc_uint8) var38 + (orc_uint8) var44); - /* 11: storeb */ - ptr0[i] = var39; + var42 = ORC_CLAMP_SB (var41.i); + /* 7: xorb */ + var43 = var42 ^ var35; + /* 8: loadb */ + var37 = ptr0[i]; + /* 9: addusb */ + var38 = ORC_CLAMP_UB ((orc_uint8) var37 + (orc_uint8) var43); + /* 10: storeb */ + ptr0[i] = var38; } } @@ -1355,18 +1334,13 @@ _backup_audiomixer_orc_add_volume_u8 (OrcExecutor * ORC_RESTRICT ex) orc_int8 var35; #endif orc_int8 var36; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_int8 var37; -#else orc_int8 var37; -#endif orc_int8 var38; orc_int8 var39; - orc_int8 var40; + orc_union16 var40; orc_union16 var41; - orc_union16 var42; + orc_int8 var42; orc_int8 var43; - orc_int8 var44; ptr0 = (orc_int8 *) ex->arrays[0]; ptr4 = (orc_int8 *) ex->arrays[4]; @@ -1375,28 +1349,26 @@ _backup_audiomixer_orc_add_volume_u8 (OrcExecutor * ORC_RESTRICT ex) var35 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 3: loadpb */ var36 = ex->params[24]; - /* 7: loadpb */ - var37 = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ var34 = ptr4[i]; /* 2: xorb */ - var40 = var34 ^ var35; + var39 = var34 ^ var35; /* 4: mulsbw */ - var41.i = var40 * var36; + var40.i = var39 * var36; /* 5: shrsw */ - var42.i = var41.i >> 3; + var41.i = var40.i >> 3; /* 6: convssswb */ - var43 = ORC_CLAMP_SB (var42.i); - /* 8: xorb */ - var44 = var43 ^ var37; - /* 9: loadb */ - var38 = ptr0[i]; - /* 10: addusb */ - var39 = ORC_CLAMP_UB ((orc_uint8) var38 + (orc_uint8) var44); - /* 11: storeb */ - ptr0[i] = var39; + var42 = ORC_CLAMP_SB (var41.i); + /* 7: xorb */ + var43 = var42 ^ var35; + /* 8: loadb */ + var37 = ptr0[i]; + /* 9: addusb */ + var38 = ORC_CLAMP_UB ((orc_uint8) var37 + (orc_uint8) var43); + /* 10: storeb */ + ptr0[i] = var38; } } @@ -1419,7 +1391,7 @@ audiomixer_orc_add_volume_u8 (guint8 * ORC_RESTRICT d1, static const orc_uint8 bc[] = { 1, 9, 28, 97, 117, 100, 105, 111, 109, 105, 120, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100, 95, 118, 111, 108, 117, 109, 101, 95, 117, 56, 11, - 1, 1, 12, 1, 1, 14, 1, 128, 0, 0, 0, 14, 4, 3, 0, 0, + 1, 1, 12, 1, 1, 14, 1, 128, 0, 0, 0, 14, 2, 3, 0, 0, 0, 16, 1, 20, 2, 20, 1, 68, 33, 4, 16, 174, 32, 33, 24, 94, 32, 32, 17, 159, 33, 32, 68, 33, 33, 16, 35, 0, 0, 33, 2, 0, @@ -1433,7 +1405,7 @@ audiomixer_orc_add_volume_u8 (guint8 * ORC_RESTRICT d1, orc_program_add_destination (p, 1, "d1"); orc_program_add_source (p, 1, "s1"); orc_program_add_constant (p, 1, 0x00000080, "c1"); - orc_program_add_constant (p, 4, 0x00000003, "c2"); + orc_program_add_constant (p, 2, 0x00000003, "c2"); orc_program_add_parameter (p, 1, "p1"); orc_program_add_temporary (p, 2, "t1"); orc_program_add_temporary (p, 1, "t2"); @@ -1574,7 +1546,7 @@ audiomixer_orc_add_volume_s8 (gint8 * ORC_RESTRICT d1, static const orc_uint8 bc[] = { 1, 9, 28, 97, 117, 100, 105, 111, 109, 105, 120, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100, 95, 118, 111, 108, 117, 109, 101, 95, 115, 56, 11, - 1, 1, 12, 1, 1, 14, 4, 3, 0, 0, 0, 16, 1, 20, 2, 20, + 1, 1, 12, 1, 1, 14, 2, 3, 0, 0, 0, 16, 1, 20, 2, 20, 1, 174, 32, 4, 24, 94, 32, 32, 16, 159, 33, 32, 34, 0, 0, 33, 2, 0, }; @@ -1586,7 +1558,7 @@ audiomixer_orc_add_volume_s8 (gint8 * ORC_RESTRICT d1, orc_program_set_backup_function (p, _backup_audiomixer_orc_add_volume_s8); orc_program_add_destination (p, 1, "d1"); orc_program_add_source (p, 1, "s1"); - orc_program_add_constant (p, 4, 0x00000003, "c1"); + orc_program_add_constant (p, 2, 0x00000003, "c1"); orc_program_add_parameter (p, 1, "p1"); orc_program_add_temporary (p, 2, "t1"); orc_program_add_temporary (p, 1, "t2"); @@ -1638,18 +1610,13 @@ audiomixer_orc_add_volume_u16 (guint16 * ORC_RESTRICT d1, orc_union16 var35; #endif orc_union16 var36; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var37; -#else orc_union16 var37; -#endif orc_union16 var38; orc_union16 var39; - orc_union16 var40; + orc_union32 var40; orc_union32 var41; - orc_union32 var42; + orc_union16 var42; orc_union16 var43; - orc_union16 var44; ptr0 = (orc_union16 *) d1; ptr4 = (orc_union16 *) s1; @@ -1658,28 +1625,26 @@ audiomixer_orc_add_volume_u16 (guint16 * ORC_RESTRICT d1, var35.i = (int) 0x00008000; /* 32768 or 1.61895e-319f */ /* 3: loadpw */ var36.i = p1; - /* 7: loadpw */ - var37.i = (int) 0x00008000; /* 32768 or 1.61895e-319f */ for (i = 0; i < n; i++) { /* 0: loadw */ var34 = ptr4[i]; /* 2: xorw */ - var40.i = var34.i ^ var35.i; + var39.i = var34.i ^ var35.i; /* 4: mulswl */ - var41.i = var40.i * var36.i; + var40.i = var39.i * var36.i; /* 5: shrsl */ - var42.i = var41.i >> 11; + var41.i = var40.i >> 11; /* 6: convssslw */ - var43.i = ORC_CLAMP_SW (var42.i); - /* 8: xorw */ - var44.i = var43.i ^ var37.i; - /* 9: loadw */ - var38 = ptr0[i]; - /* 10: addusw */ - var39.i = ORC_CLAMP_UW ((orc_uint16) var38.i + (orc_uint16) var44.i); - /* 11: storew */ - ptr0[i] = var39; + var42.i = ORC_CLAMP_SW (var41.i); + /* 7: xorw */ + var43.i = var42.i ^ var35.i; + /* 8: loadw */ + var37 = ptr0[i]; + /* 9: addusw */ + var38.i = ORC_CLAMP_UW ((orc_uint16) var37.i + (orc_uint16) var43.i); + /* 10: storew */ + ptr0[i] = var38; } } @@ -1699,18 +1664,13 @@ _backup_audiomixer_orc_add_volume_u16 (OrcExecutor * ORC_RESTRICT ex) orc_union16 var35; #endif orc_union16 var36; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var37; -#else orc_union16 var37; -#endif orc_union16 var38; orc_union16 var39; - orc_union16 var40; + orc_union32 var40; orc_union32 var41; - orc_union32 var42; + orc_union16 var42; orc_union16 var43; - orc_union16 var44; ptr0 = (orc_union16 *) ex->arrays[0]; ptr4 = (orc_union16 *) ex->arrays[4]; @@ -1719,28 +1679,26 @@ _backup_audiomixer_orc_add_volume_u16 (OrcExecutor * ORC_RESTRICT ex) var35.i = (int) 0x00008000; /* 32768 or 1.61895e-319f */ /* 3: loadpw */ var36.i = ex->params[24]; - /* 7: loadpw */ - var37.i = (int) 0x00008000; /* 32768 or 1.61895e-319f */ for (i = 0; i < n; i++) { /* 0: loadw */ var34 = ptr4[i]; /* 2: xorw */ - var40.i = var34.i ^ var35.i; + var39.i = var34.i ^ var35.i; /* 4: mulswl */ - var41.i = var40.i * var36.i; + var40.i = var39.i * var36.i; /* 5: shrsl */ - var42.i = var41.i >> 11; + var41.i = var40.i >> 11; /* 6: convssslw */ - var43.i = ORC_CLAMP_SW (var42.i); - /* 8: xorw */ - var44.i = var43.i ^ var37.i; - /* 9: loadw */ - var38 = ptr0[i]; - /* 10: addusw */ - var39.i = ORC_CLAMP_UW ((orc_uint16) var38.i + (orc_uint16) var44.i); - /* 11: storew */ - ptr0[i] = var39; + var42.i = ORC_CLAMP_SW (var41.i); + /* 7: xorw */ + var43.i = var42.i ^ var35.i; + /* 8: loadw */ + var37 = ptr0[i]; + /* 9: addusw */ + var38.i = ORC_CLAMP_UW ((orc_uint16) var37.i + (orc_uint16) var43.i); + /* 10: storew */ + ptr0[i] = var38; } } @@ -1986,18 +1944,13 @@ audiomixer_orc_add_volume_u32 (guint32 * ORC_RESTRICT d1, orc_union32 var35; #endif orc_union32 var36; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union32 var37; -#else orc_union32 var37; -#endif orc_union32 var38; orc_union32 var39; - orc_union32 var40; + orc_union64 var40; orc_union64 var41; - orc_union64 var42; + orc_union32 var42; orc_union32 var43; - orc_union32 var44; ptr0 = (orc_union32 *) d1; ptr4 = (orc_union32 *) s1; @@ -2006,30 +1959,28 @@ audiomixer_orc_add_volume_u32 (guint32 * ORC_RESTRICT d1, var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */ /* 3: loadpl */ var36.i = p1; - /* 7: loadpl */ - var37.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */ for (i = 0; i < n; i++) { /* 0: loadl */ var34 = ptr4[i]; /* 2: xorl */ - var40.i = var34.i ^ var35.i; + var39.i = var34.i ^ var35.i; /* 4: mulslq */ - var41.i = ((orc_int64) var40.i) * ((orc_int64) var36.i); + var40.i = ((orc_int64) var39.i) * ((orc_int64) var36.i); /* 5: shrsq */ - var42.i = var41.i >> 27; + var41.i = var40.i >> 27; /* 6: convsssql */ - var43.i = ORC_CLAMP_SL (var42.i); - /* 8: xorl */ - var44.i = var43.i ^ var37.i; - /* 9: loadl */ - var38 = ptr0[i]; - /* 10: addusl */ - var39.i = - ORC_CLAMP_UL ((orc_int64) (orc_uint32) var38.i + - (orc_int64) (orc_uint32) var44.i); - /* 11: storel */ - ptr0[i] = var39; + var42.i = ORC_CLAMP_SL (var41.i); + /* 7: xorl */ + var43.i = var42.i ^ var35.i; + /* 8: loadl */ + var37 = ptr0[i]; + /* 9: addusl */ + var38.i = + ORC_CLAMP_UL ((orc_int64) (orc_uint32) var37.i + + (orc_int64) (orc_uint32) var43.i); + /* 10: storel */ + ptr0[i] = var38; } } @@ -2049,18 +2000,13 @@ _backup_audiomixer_orc_add_volume_u32 (OrcExecutor * ORC_RESTRICT ex) orc_union32 var35; #endif orc_union32 var36; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union32 var37; -#else orc_union32 var37; -#endif orc_union32 var38; orc_union32 var39; - orc_union32 var40; + orc_union64 var40; orc_union64 var41; - orc_union64 var42; + orc_union32 var42; orc_union32 var43; - orc_union32 var44; ptr0 = (orc_union32 *) ex->arrays[0]; ptr4 = (orc_union32 *) ex->arrays[4]; @@ -2069,30 +2015,28 @@ _backup_audiomixer_orc_add_volume_u32 (OrcExecutor * ORC_RESTRICT ex) var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */ /* 3: loadpl */ var36.i = ex->params[24]; - /* 7: loadpl */ - var37.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */ for (i = 0; i < n; i++) { /* 0: loadl */ var34 = ptr4[i]; /* 2: xorl */ - var40.i = var34.i ^ var35.i; + var39.i = var34.i ^ var35.i; /* 4: mulslq */ - var41.i = ((orc_int64) var40.i) * ((orc_int64) var36.i); + var40.i = ((orc_int64) var39.i) * ((orc_int64) var36.i); /* 5: shrsq */ - var42.i = var41.i >> 27; + var41.i = var40.i >> 27; /* 6: convsssql */ - var43.i = ORC_CLAMP_SL (var42.i); - /* 8: xorl */ - var44.i = var43.i ^ var37.i; - /* 9: loadl */ - var38 = ptr0[i]; - /* 10: addusl */ - var39.i = - ORC_CLAMP_UL ((orc_int64) (orc_uint32) var38.i + - (orc_int64) (orc_uint32) var44.i); - /* 11: storel */ - ptr0[i] = var39; + var42.i = ORC_CLAMP_SL (var41.i); + /* 7: xorl */ + var43.i = var42.i ^ var35.i; + /* 8: loadl */ + var37 = ptr0[i]; + /* 9: addusl */ + var38.i = + ORC_CLAMP_UL ((orc_int64) (orc_uint32) var37.i + + (orc_int64) (orc_uint32) var43.i); + /* 10: storel */ + ptr0[i] = var38; } } @@ -2115,10 +2059,10 @@ audiomixer_orc_add_volume_u32 (guint32 * ORC_RESTRICT d1, static const orc_uint8 bc[] = { 1, 9, 29, 97, 117, 100, 105, 111, 109, 105, 120, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100, 95, 118, 111, 108, 117, 109, 101, 95, 117, 51, 50, - 11, 4, 4, 12, 4, 4, 14, 4, 0, 0, 0, 128, 14, 4, 27, 0, - 0, 0, 16, 4, 20, 8, 20, 4, 132, 33, 4, 16, 178, 32, 33, 24, - 147, 32, 32, 17, 170, 33, 32, 132, 33, 33, 16, 105, 0, 0, 33, 2, - 0, + 11, 4, 4, 12, 4, 4, 14, 4, 0, 0, 0, 128, 15, 8, 27, 0, + 0, 0, 0, 0, 0, 0, 16, 4, 20, 8, 20, 4, 132, 33, 4, 16, + 178, 32, 33, 24, 147, 32, 32, 17, 170, 33, 32, 132, 33, 33, 16, 105, + 0, 0, 33, 2, 0, }; p = orc_program_new_from_static_bytecode (bc); orc_program_set_backup_function (p, @@ -2131,7 +2075,7 @@ audiomixer_orc_add_volume_u32 (guint32 * ORC_RESTRICT d1, orc_program_add_destination (p, 4, "d1"); orc_program_add_source (p, 4, "s1"); orc_program_add_constant (p, 4, 0x80000000, "c1"); - orc_program_add_constant (p, 4, 0x0000001b, "c2"); + orc_program_add_constant_int64 (p, 8, 0x000000000000001bULL, "c2"); orc_program_add_parameter (p, 4, "p1"); orc_program_add_temporary (p, 8, "t1"); orc_program_add_temporary (p, 4, "t2"); @@ -2272,9 +2216,9 @@ audiomixer_orc_add_volume_s32 (gint32 * ORC_RESTRICT d1, static const orc_uint8 bc[] = { 1, 9, 29, 97, 117, 100, 105, 111, 109, 105, 120, 101, 114, 95, 111, 114, 99, 95, 97, 100, 100, 95, 118, 111, 108, 117, 109, 101, 95, 115, 51, 50, - 11, 4, 4, 12, 4, 4, 14, 4, 27, 0, 0, 0, 16, 4, 20, 8, - 20, 4, 178, 32, 4, 24, 147, 32, 32, 16, 170, 33, 32, 104, 0, 0, - 33, 2, 0, + 11, 4, 4, 12, 4, 4, 15, 8, 27, 0, 0, 0, 0, 0, 0, 0, + 16, 4, 20, 8, 20, 4, 178, 32, 4, 24, 147, 32, 32, 16, 170, 33, + 32, 104, 0, 0, 33, 2, 0, }; p = orc_program_new_from_static_bytecode (bc); orc_program_set_backup_function (p, @@ -2286,7 +2230,7 @@ audiomixer_orc_add_volume_s32 (gint32 * ORC_RESTRICT d1, _backup_audiomixer_orc_add_volume_s32); orc_program_add_destination (p, 4, "d1"); orc_program_add_source (p, 4, "s1"); - orc_program_add_constant (p, 4, 0x0000001b, "c1"); + orc_program_add_constant_int64 (p, 8, 0x000000000000001bULL, "c1"); orc_program_add_parameter (p, 4, "p1"); orc_program_add_temporary (p, 8, "t1"); orc_program_add_temporary (p, 4, "t2"); @@ -2651,8 +2595,8 @@ audiomixer_orc_add_volume_f64 (double *ORC_RESTRICT d1, { orc_union64 tmp; tmp.f = p1; - ex->params[ORC_VAR_P1] = tmp.x2[0]; - ex->params[ORC_VAR_T1] = tmp.x2[1]; + ex->params[ORC_VAR_P1] = ((orc_uint64) tmp.i) & 0xffffffff; + ex->params[ORC_VAR_T1] = ((orc_uint64) tmp.i) >> 32; } func = c->exec; diff --git a/gst/bayer/gstbayerorc-dist.c b/gst/bayer/gstbayerorc-dist.c index 1dc708de18..c9afb6a83f 100644 --- a/gst/bayer/gstbayerorc-dist.c +++ b/gst/bayer/gstbayerorc-dist.c @@ -667,21 +667,16 @@ bayer_orc_merge_bg_bgra (guint8 * ORC_RESTRICT d1, orc_union16 var43; #endif orc_union16 var44; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var45; -#else - orc_union16 var45; -#endif - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) d1; ptr4 = (orc_union16 *) s1; @@ -695,9 +690,6 @@ bayer_orc_merge_bg_bgra (guint8 * ORC_RESTRICT d1, var42.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 11: loadpw */ var43.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ - /* 16: loadpb */ - var45.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var45.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -705,71 +697,71 @@ bayer_orc_merge_bg_bgra (guint8 * ORC_RESTRICT d1, /* 1: loadw */ var38 = ptr9[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr4[i]; /* 4: loadw */ var40 = ptr8[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr7[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; + var52.i = var51.i | var50.i; /* 14: loadw */ var44 = ptr6[i]; /* 15: mergebw */ { orc_union16 _dest; _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var53.x2[0]; - var54.x2[0] = _dest.i; + _dest.x2[1] = var52.x2[0]; + var53.x2[0] = _dest.i; } { orc_union16 _dest; _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var53.x2[1]; + _dest.x2[1] = var52.x2[1]; + var53.x2[1] = _dest.i; + } + /* 16: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var46.x2[0]; + _dest.x2[1] = var42.x2[0]; + var54.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var46.x2[1]; + _dest.x2[1] = var42.x2[1]; var54.x2[1] = _dest.i; } - /* 17: mergebw */ - { - orc_union16 _dest; - _dest.x2[0] = var47.x2[0]; - _dest.x2[1] = var45.x2[0]; - var55.x2[0] = _dest.i; - } - { - orc_union16 _dest; - _dest.x2[0] = var47.x2[1]; - _dest.x2[1] = var45.x2[1]; - var55.x2[1] = _dest.i; - } - /* 18: mergewl */ + /* 17: mergewl */ { orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; + _dest.x2[0] = var53.x2[0]; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; + _dest.x2[0] = var53.x2[1]; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -803,21 +795,16 @@ _backup_bayer_orc_merge_bg_bgra (OrcExecutor * ORC_RESTRICT ex) orc_union16 var43; #endif orc_union16 var44; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var45; -#else - orc_union16 var45; -#endif - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) ex->arrays[0]; ptr4 = (orc_union16 *) ex->arrays[4]; @@ -831,9 +818,6 @@ _backup_bayer_orc_merge_bg_bgra (OrcExecutor * ORC_RESTRICT ex) var42.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 11: loadpw */ var43.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ - /* 16: loadpb */ - var45.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var45.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -841,71 +825,71 @@ _backup_bayer_orc_merge_bg_bgra (OrcExecutor * ORC_RESTRICT ex) /* 1: loadw */ var38 = ptr9[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr4[i]; /* 4: loadw */ var40 = ptr8[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr7[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; + var52.i = var51.i | var50.i; /* 14: loadw */ var44 = ptr6[i]; /* 15: mergebw */ { orc_union16 _dest; _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var53.x2[0]; - var54.x2[0] = _dest.i; + _dest.x2[1] = var52.x2[0]; + var53.x2[0] = _dest.i; } { orc_union16 _dest; _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var53.x2[1]; + _dest.x2[1] = var52.x2[1]; + var53.x2[1] = _dest.i; + } + /* 16: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var46.x2[0]; + _dest.x2[1] = var42.x2[0]; + var54.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var46.x2[1]; + _dest.x2[1] = var42.x2[1]; var54.x2[1] = _dest.i; } - /* 17: mergebw */ - { - orc_union16 _dest; - _dest.x2[0] = var47.x2[0]; - _dest.x2[1] = var45.x2[0]; - var55.x2[0] = _dest.i; - } - { - orc_union16 _dest; - _dest.x2[0] = var47.x2[1]; - _dest.x2[1] = var45.x2[1]; - var55.x2[1] = _dest.i; - } - /* 18: mergewl */ + /* 17: mergewl */ { orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; + _dest.x2[0] = var53.x2[0]; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; + _dest.x2[0] = var53.x2[1]; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -931,7 +915,7 @@ bayer_orc_merge_bg_bgra (guint8 * ORC_RESTRICT d1, 1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114, 103, 101, 95, 98, 103, 95, 98, 103, 114, 97, 11, 8, 8, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14, - 4, 255, 0, 0, 0, 14, 4, 0, 255, 0, 0, 20, 4, 20, 4, 20, + 2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 5, 9, 21, 1, 39, 35, 4, 8, 79, 36, 7, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 33, 6, 35, 21, 1, 196, 32, @@ -950,8 +934,8 @@ bayer_orc_merge_bg_bgra (guint8 * ORC_RESTRICT d1, orc_program_add_source (p, 2, "s4"); orc_program_add_source (p, 2, "s5"); orc_program_add_source (p, 2, "s6"); - orc_program_add_constant (p, 4, 0x000000ff, "c1"); - orc_program_add_constant (p, 4, 0x0000ff00, "c2"); + orc_program_add_constant (p, 2, 0x000000ff, "c1"); + orc_program_add_constant (p, 2, 0x0000ff00, "c2"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 4, "t2"); orc_program_add_temporary (p, 2, "t3"); @@ -1037,21 +1021,16 @@ bayer_orc_merge_gr_bgra (guint8 * ORC_RESTRICT d1, orc_union16 var43; #endif orc_union16 var44; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var45; -#else - orc_union16 var45; -#endif - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) d1; ptr4 = (orc_union16 *) s1; @@ -1065,9 +1044,6 @@ bayer_orc_merge_gr_bgra (guint8 * ORC_RESTRICT d1, var42.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ /* 11: loadpw */ var43.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - /* 16: loadpb */ - var45.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var45.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -1075,71 +1051,71 @@ bayer_orc_merge_gr_bgra (guint8 * ORC_RESTRICT d1, /* 1: loadw */ var38 = ptr8[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr5[i]; /* 4: loadw */ var40 = ptr9[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr6[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; + var52.i = var51.i | var50.i; /* 14: mergebw */ { orc_union16 _dest; - _dest.x2[0] = var47.x2[0]; - _dest.x2[1] = var53.x2[0]; + _dest.x2[0] = var46.x2[0]; + _dest.x2[1] = var52.x2[0]; + var53.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var46.x2[1]; + _dest.x2[1] = var52.x2[1]; + var53.x2[1] = _dest.i; + } + /* 15: loadw */ + var44 = ptr7[i]; + /* 16: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var44.x2[0]; + _dest.x2[1] = var43.x2[0]; var54.x2[0] = _dest.i; } { orc_union16 _dest; - _dest.x2[0] = var47.x2[1]; - _dest.x2[1] = var53.x2[1]; + _dest.x2[0] = var44.x2[1]; + _dest.x2[1] = var43.x2[1]; var54.x2[1] = _dest.i; } - /* 15: loadw */ - var44 = ptr7[i]; - /* 17: mergebw */ - { - orc_union16 _dest; - _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var45.x2[0]; - var55.x2[0] = _dest.i; - } - { - orc_union16 _dest; - _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var45.x2[1]; - var55.x2[1] = _dest.i; - } - /* 18: mergewl */ + /* 17: mergewl */ { orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; + _dest.x2[0] = var53.x2[0]; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; + _dest.x2[0] = var53.x2[1]; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -1173,21 +1149,16 @@ _backup_bayer_orc_merge_gr_bgra (OrcExecutor * ORC_RESTRICT ex) orc_union16 var43; #endif orc_union16 var44; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var45; -#else - orc_union16 var45; -#endif - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) ex->arrays[0]; ptr4 = (orc_union16 *) ex->arrays[4]; @@ -1201,9 +1172,6 @@ _backup_bayer_orc_merge_gr_bgra (OrcExecutor * ORC_RESTRICT ex) var42.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ /* 11: loadpw */ var43.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - /* 16: loadpb */ - var45.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var45.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -1211,71 +1179,71 @@ _backup_bayer_orc_merge_gr_bgra (OrcExecutor * ORC_RESTRICT ex) /* 1: loadw */ var38 = ptr8[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr5[i]; /* 4: loadw */ var40 = ptr9[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr6[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; + var52.i = var51.i | var50.i; /* 14: mergebw */ { orc_union16 _dest; - _dest.x2[0] = var47.x2[0]; - _dest.x2[1] = var53.x2[0]; + _dest.x2[0] = var46.x2[0]; + _dest.x2[1] = var52.x2[0]; + var53.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var46.x2[1]; + _dest.x2[1] = var52.x2[1]; + var53.x2[1] = _dest.i; + } + /* 15: loadw */ + var44 = ptr7[i]; + /* 16: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var44.x2[0]; + _dest.x2[1] = var43.x2[0]; var54.x2[0] = _dest.i; } { orc_union16 _dest; - _dest.x2[0] = var47.x2[1]; - _dest.x2[1] = var53.x2[1]; + _dest.x2[0] = var44.x2[1]; + _dest.x2[1] = var43.x2[1]; var54.x2[1] = _dest.i; } - /* 15: loadw */ - var44 = ptr7[i]; - /* 17: mergebw */ - { - orc_union16 _dest; - _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var45.x2[0]; - var55.x2[0] = _dest.i; - } - { - orc_union16 _dest; - _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var45.x2[1]; - var55.x2[1] = _dest.i; - } - /* 18: mergewl */ + /* 17: mergewl */ { orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; + _dest.x2[0] = var53.x2[0]; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; + _dest.x2[0] = var53.x2[1]; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -1301,7 +1269,7 @@ bayer_orc_merge_gr_bgra (guint8 * ORC_RESTRICT d1, 1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114, 103, 101, 95, 103, 114, 95, 98, 103, 114, 97, 11, 8, 8, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14, - 4, 0, 255, 0, 0, 14, 4, 255, 0, 0, 0, 20, 4, 20, 4, 20, + 2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 4, 8, 21, 1, 39, 35, 5, 9, 79, 36, 6, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 33, 34, 35, 21, 1, 196, 32, @@ -1320,8 +1288,8 @@ bayer_orc_merge_gr_bgra (guint8 * ORC_RESTRICT d1, orc_program_add_source (p, 2, "s4"); orc_program_add_source (p, 2, "s5"); orc_program_add_source (p, 2, "s6"); - orc_program_add_constant (p, 4, 0x0000ff00, "c1"); - orc_program_add_constant (p, 4, 0x000000ff, "c2"); + orc_program_add_constant (p, 2, 0x0000ff00, "c1"); + orc_program_add_constant (p, 2, 0x000000ff, "c2"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 4, "t2"); orc_program_add_temporary (p, 2, "t3"); @@ -1406,22 +1374,17 @@ bayer_orc_merge_bg_abgr (guint8 * ORC_RESTRICT d1, #else orc_union16 var43; #endif -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var44; -#else orc_union16 var44; -#endif - orc_union16 var45; - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) d1; ptr4 = (orc_union16 *) s1; @@ -1435,9 +1398,6 @@ bayer_orc_merge_bg_abgr (guint8 * ORC_RESTRICT d1, var42.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 11: loadpw */ var43.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ - /* 14: loadpb */ - var44.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var44.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -1445,71 +1405,71 @@ bayer_orc_merge_bg_abgr (guint8 * ORC_RESTRICT d1, /* 1: loadw */ var38 = ptr9[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr4[i]; /* 4: loadw */ var40 = ptr8[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr7[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; - /* 15: loadw */ - var45 = ptr6[i]; + var52.i = var51.i | var50.i; + /* 14: loadw */ + var44 = ptr6[i]; + /* 15: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var42.x2[0]; + _dest.x2[1] = var44.x2[0]; + var53.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var42.x2[1]; + _dest.x2[1] = var44.x2[1]; + var53.x2[1] = _dest.i; + } /* 16: mergebw */ { orc_union16 _dest; - _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var45.x2[0]; + _dest.x2[0] = var52.x2[0]; + _dest.x2[1] = var46.x2[0]; var54.x2[0] = _dest.i; } { orc_union16 _dest; - _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var45.x2[1]; + _dest.x2[0] = var52.x2[1]; + _dest.x2[1] = var46.x2[1]; var54.x2[1] = _dest.i; } - /* 17: mergebw */ + /* 17: mergewl */ { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[0]; - _dest.x2[1] = var47.x2[0]; - var55.x2[0] = _dest.i; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[1]; - _dest.x2[1] = var47.x2[1]; - var55.x2[1] = _dest.i; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 18: mergewl */ - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; - } - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; - } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -1542,22 +1502,17 @@ _backup_bayer_orc_merge_bg_abgr (OrcExecutor * ORC_RESTRICT ex) #else orc_union16 var43; #endif -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var44; -#else orc_union16 var44; -#endif - orc_union16 var45; - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) ex->arrays[0]; ptr4 = (orc_union16 *) ex->arrays[4]; @@ -1571,9 +1526,6 @@ _backup_bayer_orc_merge_bg_abgr (OrcExecutor * ORC_RESTRICT ex) var42.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 11: loadpw */ var43.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ - /* 14: loadpb */ - var44.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var44.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -1581,71 +1533,71 @@ _backup_bayer_orc_merge_bg_abgr (OrcExecutor * ORC_RESTRICT ex) /* 1: loadw */ var38 = ptr9[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr4[i]; /* 4: loadw */ var40 = ptr8[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr7[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; - /* 15: loadw */ - var45 = ptr6[i]; + var52.i = var51.i | var50.i; + /* 14: loadw */ + var44 = ptr6[i]; + /* 15: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var42.x2[0]; + _dest.x2[1] = var44.x2[0]; + var53.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var42.x2[1]; + _dest.x2[1] = var44.x2[1]; + var53.x2[1] = _dest.i; + } /* 16: mergebw */ { orc_union16 _dest; - _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var45.x2[0]; + _dest.x2[0] = var52.x2[0]; + _dest.x2[1] = var46.x2[0]; var54.x2[0] = _dest.i; } { orc_union16 _dest; - _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var45.x2[1]; + _dest.x2[0] = var52.x2[1]; + _dest.x2[1] = var46.x2[1]; var54.x2[1] = _dest.i; } - /* 17: mergebw */ + /* 17: mergewl */ { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[0]; - _dest.x2[1] = var47.x2[0]; - var55.x2[0] = _dest.i; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[1]; - _dest.x2[1] = var47.x2[1]; - var55.x2[1] = _dest.i; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 18: mergewl */ - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; - } - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; - } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -1671,7 +1623,7 @@ bayer_orc_merge_bg_abgr (guint8 * ORC_RESTRICT d1, 1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114, 103, 101, 95, 98, 103, 95, 97, 98, 103, 114, 11, 8, 8, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14, - 4, 255, 0, 0, 0, 14, 4, 0, 255, 0, 0, 20, 4, 20, 4, 20, + 2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 5, 9, 21, 1, 39, 35, 4, 8, 79, 36, 7, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 16, 6, 21, 1, 196, 33, @@ -1690,8 +1642,8 @@ bayer_orc_merge_bg_abgr (guint8 * ORC_RESTRICT d1, orc_program_add_source (p, 2, "s4"); orc_program_add_source (p, 2, "s5"); orc_program_add_source (p, 2, "s6"); - orc_program_add_constant (p, 4, 0x000000ff, "c1"); - orc_program_add_constant (p, 4, 0x0000ff00, "c2"); + orc_program_add_constant (p, 2, 0x000000ff, "c1"); + orc_program_add_constant (p, 2, 0x0000ff00, "c2"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 4, "t2"); orc_program_add_temporary (p, 2, "t3"); @@ -1776,22 +1728,17 @@ bayer_orc_merge_gr_abgr (guint8 * ORC_RESTRICT d1, #else orc_union16 var43; #endif -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var44; -#else orc_union16 var44; -#endif - orc_union16 var45; - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) d1; ptr4 = (orc_union16 *) s1; @@ -1805,9 +1752,6 @@ bayer_orc_merge_gr_abgr (guint8 * ORC_RESTRICT d1, var42.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ /* 11: loadpw */ var43.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - /* 14: loadpb */ - var44.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var44.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -1815,71 +1759,71 @@ bayer_orc_merge_gr_abgr (guint8 * ORC_RESTRICT d1, /* 1: loadw */ var38 = ptr8[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr5[i]; /* 4: loadw */ var40 = ptr9[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr6[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; - /* 15: mergebw */ + var52.i = var51.i | var50.i; + /* 14: mergebw */ { orc_union16 _dest; - _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var47.x2[0]; + _dest.x2[0] = var43.x2[0]; + _dest.x2[1] = var46.x2[0]; + var53.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var43.x2[1]; + _dest.x2[1] = var46.x2[1]; + var53.x2[1] = _dest.i; + } + /* 15: loadw */ + var44 = ptr7[i]; + /* 16: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var52.x2[0]; + _dest.x2[1] = var44.x2[0]; var54.x2[0] = _dest.i; } { orc_union16 _dest; - _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var47.x2[1]; + _dest.x2[0] = var52.x2[1]; + _dest.x2[1] = var44.x2[1]; var54.x2[1] = _dest.i; } - /* 16: loadw */ - var45 = ptr7[i]; - /* 17: mergebw */ + /* 17: mergewl */ { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[0]; - _dest.x2[1] = var45.x2[0]; - var55.x2[0] = _dest.i; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[1]; - _dest.x2[1] = var45.x2[1]; - var55.x2[1] = _dest.i; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 18: mergewl */ - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; - } - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; - } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -1912,22 +1856,17 @@ _backup_bayer_orc_merge_gr_abgr (OrcExecutor * ORC_RESTRICT ex) #else orc_union16 var43; #endif -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var44; -#else orc_union16 var44; -#endif - orc_union16 var45; - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) ex->arrays[0]; ptr4 = (orc_union16 *) ex->arrays[4]; @@ -1941,9 +1880,6 @@ _backup_bayer_orc_merge_gr_abgr (OrcExecutor * ORC_RESTRICT ex) var42.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ /* 11: loadpw */ var43.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - /* 14: loadpb */ - var44.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var44.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -1951,71 +1887,71 @@ _backup_bayer_orc_merge_gr_abgr (OrcExecutor * ORC_RESTRICT ex) /* 1: loadw */ var38 = ptr8[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr5[i]; /* 4: loadw */ var40 = ptr9[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr6[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; - /* 15: mergebw */ + var52.i = var51.i | var50.i; + /* 14: mergebw */ { orc_union16 _dest; - _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var47.x2[0]; + _dest.x2[0] = var43.x2[0]; + _dest.x2[1] = var46.x2[0]; + var53.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var43.x2[1]; + _dest.x2[1] = var46.x2[1]; + var53.x2[1] = _dest.i; + } + /* 15: loadw */ + var44 = ptr7[i]; + /* 16: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var52.x2[0]; + _dest.x2[1] = var44.x2[0]; var54.x2[0] = _dest.i; } { orc_union16 _dest; - _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var47.x2[1]; + _dest.x2[0] = var52.x2[1]; + _dest.x2[1] = var44.x2[1]; var54.x2[1] = _dest.i; } - /* 16: loadw */ - var45 = ptr7[i]; - /* 17: mergebw */ + /* 17: mergewl */ { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[0]; - _dest.x2[1] = var45.x2[0]; - var55.x2[0] = _dest.i; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[1]; - _dest.x2[1] = var45.x2[1]; - var55.x2[1] = _dest.i; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 18: mergewl */ - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; - } - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; - } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -2041,7 +1977,7 @@ bayer_orc_merge_gr_abgr (guint8 * ORC_RESTRICT d1, 1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114, 103, 101, 95, 103, 114, 95, 97, 98, 103, 114, 11, 8, 8, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14, - 4, 0, 255, 0, 0, 14, 4, 255, 0, 0, 0, 20, 4, 20, 4, 20, + 2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 4, 8, 21, 1, 39, 35, 5, 9, 79, 36, 6, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 17, 34, 21, 1, 196, 33, @@ -2060,8 +1996,8 @@ bayer_orc_merge_gr_abgr (guint8 * ORC_RESTRICT d1, orc_program_add_source (p, 2, "s4"); orc_program_add_source (p, 2, "s5"); orc_program_add_source (p, 2, "s6"); - orc_program_add_constant (p, 4, 0x0000ff00, "c1"); - orc_program_add_constant (p, 4, 0x000000ff, "c2"); + orc_program_add_constant (p, 2, 0x0000ff00, "c1"); + orc_program_add_constant (p, 2, 0x000000ff, "c2"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 4, "t2"); orc_program_add_temporary (p, 2, "t3"); @@ -2147,21 +2083,16 @@ bayer_orc_merge_bg_rgba (guint8 * ORC_RESTRICT d1, orc_union16 var43; #endif orc_union16 var44; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var45; -#else - orc_union16 var45; -#endif - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) d1; ptr4 = (orc_union16 *) s1; @@ -2175,9 +2106,6 @@ bayer_orc_merge_bg_rgba (guint8 * ORC_RESTRICT d1, var42.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 11: loadpw */ var43.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ - /* 16: loadpb */ - var45.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var45.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -2185,71 +2113,71 @@ bayer_orc_merge_bg_rgba (guint8 * ORC_RESTRICT d1, /* 1: loadw */ var38 = ptr9[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr4[i]; /* 4: loadw */ var40 = ptr8[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr7[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; + var52.i = var51.i | var50.i; /* 14: mergebw */ { orc_union16 _dest; - _dest.x2[0] = var47.x2[0]; - _dest.x2[1] = var53.x2[0]; + _dest.x2[0] = var46.x2[0]; + _dest.x2[1] = var52.x2[0]; + var53.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var46.x2[1]; + _dest.x2[1] = var52.x2[1]; + var53.x2[1] = _dest.i; + } + /* 15: loadw */ + var44 = ptr6[i]; + /* 16: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var44.x2[0]; + _dest.x2[1] = var42.x2[0]; var54.x2[0] = _dest.i; } { orc_union16 _dest; - _dest.x2[0] = var47.x2[1]; - _dest.x2[1] = var53.x2[1]; + _dest.x2[0] = var44.x2[1]; + _dest.x2[1] = var42.x2[1]; var54.x2[1] = _dest.i; } - /* 15: loadw */ - var44 = ptr6[i]; - /* 17: mergebw */ - { - orc_union16 _dest; - _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var45.x2[0]; - var55.x2[0] = _dest.i; - } - { - orc_union16 _dest; - _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var45.x2[1]; - var55.x2[1] = _dest.i; - } - /* 18: mergewl */ + /* 17: mergewl */ { orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; + _dest.x2[0] = var53.x2[0]; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; + _dest.x2[0] = var53.x2[1]; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -2283,21 +2211,16 @@ _backup_bayer_orc_merge_bg_rgba (OrcExecutor * ORC_RESTRICT ex) orc_union16 var43; #endif orc_union16 var44; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var45; -#else - orc_union16 var45; -#endif - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) ex->arrays[0]; ptr4 = (orc_union16 *) ex->arrays[4]; @@ -2311,9 +2234,6 @@ _backup_bayer_orc_merge_bg_rgba (OrcExecutor * ORC_RESTRICT ex) var42.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 11: loadpw */ var43.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ - /* 16: loadpb */ - var45.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var45.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -2321,71 +2241,71 @@ _backup_bayer_orc_merge_bg_rgba (OrcExecutor * ORC_RESTRICT ex) /* 1: loadw */ var38 = ptr9[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr4[i]; /* 4: loadw */ var40 = ptr8[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr7[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; + var52.i = var51.i | var50.i; /* 14: mergebw */ { orc_union16 _dest; - _dest.x2[0] = var47.x2[0]; - _dest.x2[1] = var53.x2[0]; + _dest.x2[0] = var46.x2[0]; + _dest.x2[1] = var52.x2[0]; + var53.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var46.x2[1]; + _dest.x2[1] = var52.x2[1]; + var53.x2[1] = _dest.i; + } + /* 15: loadw */ + var44 = ptr6[i]; + /* 16: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var44.x2[0]; + _dest.x2[1] = var42.x2[0]; var54.x2[0] = _dest.i; } { orc_union16 _dest; - _dest.x2[0] = var47.x2[1]; - _dest.x2[1] = var53.x2[1]; + _dest.x2[0] = var44.x2[1]; + _dest.x2[1] = var42.x2[1]; var54.x2[1] = _dest.i; } - /* 15: loadw */ - var44 = ptr6[i]; - /* 17: mergebw */ - { - orc_union16 _dest; - _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var45.x2[0]; - var55.x2[0] = _dest.i; - } - { - orc_union16 _dest; - _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var45.x2[1]; - var55.x2[1] = _dest.i; - } - /* 18: mergewl */ + /* 17: mergewl */ { orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; + _dest.x2[0] = var53.x2[0]; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; + _dest.x2[0] = var53.x2[1]; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -2411,7 +2331,7 @@ bayer_orc_merge_bg_rgba (guint8 * ORC_RESTRICT d1, 1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114, 103, 101, 95, 98, 103, 95, 114, 103, 98, 97, 11, 8, 8, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14, - 4, 255, 0, 0, 0, 14, 4, 0, 255, 0, 0, 20, 4, 20, 4, 20, + 2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 5, 9, 21, 1, 39, 35, 4, 8, 79, 36, 7, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 34, 35, 21, 1, 196, 33, @@ -2430,8 +2350,8 @@ bayer_orc_merge_bg_rgba (guint8 * ORC_RESTRICT d1, orc_program_add_source (p, 2, "s4"); orc_program_add_source (p, 2, "s5"); orc_program_add_source (p, 2, "s6"); - orc_program_add_constant (p, 4, 0x000000ff, "c1"); - orc_program_add_constant (p, 4, 0x0000ff00, "c2"); + orc_program_add_constant (p, 2, 0x000000ff, "c1"); + orc_program_add_constant (p, 2, 0x0000ff00, "c2"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 4, "t2"); orc_program_add_temporary (p, 2, "t3"); @@ -2517,21 +2437,16 @@ bayer_orc_merge_gr_rgba (guint8 * ORC_RESTRICT d1, orc_union16 var43; #endif orc_union16 var44; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var45; -#else - orc_union16 var45; -#endif - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) d1; ptr4 = (orc_union16 *) s1; @@ -2545,9 +2460,6 @@ bayer_orc_merge_gr_rgba (guint8 * ORC_RESTRICT d1, var42.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ /* 11: loadpw */ var43.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - /* 16: loadpb */ - var45.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var45.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -2555,71 +2467,71 @@ bayer_orc_merge_gr_rgba (guint8 * ORC_RESTRICT d1, /* 1: loadw */ var38 = ptr8[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr5[i]; /* 4: loadw */ var40 = ptr9[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr6[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; + var52.i = var51.i | var50.i; /* 14: loadw */ var44 = ptr7[i]; /* 15: mergebw */ { orc_union16 _dest; _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var53.x2[0]; - var54.x2[0] = _dest.i; + _dest.x2[1] = var52.x2[0]; + var53.x2[0] = _dest.i; } { orc_union16 _dest; _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var53.x2[1]; + _dest.x2[1] = var52.x2[1]; + var53.x2[1] = _dest.i; + } + /* 16: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var46.x2[0]; + _dest.x2[1] = var43.x2[0]; + var54.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var46.x2[1]; + _dest.x2[1] = var43.x2[1]; var54.x2[1] = _dest.i; } - /* 17: mergebw */ - { - orc_union16 _dest; - _dest.x2[0] = var47.x2[0]; - _dest.x2[1] = var45.x2[0]; - var55.x2[0] = _dest.i; - } - { - orc_union16 _dest; - _dest.x2[0] = var47.x2[1]; - _dest.x2[1] = var45.x2[1]; - var55.x2[1] = _dest.i; - } - /* 18: mergewl */ + /* 17: mergewl */ { orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; + _dest.x2[0] = var53.x2[0]; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; + _dest.x2[0] = var53.x2[1]; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -2653,21 +2565,16 @@ _backup_bayer_orc_merge_gr_rgba (OrcExecutor * ORC_RESTRICT ex) orc_union16 var43; #endif orc_union16 var44; -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var45; -#else - orc_union16 var45; -#endif - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) ex->arrays[0]; ptr4 = (orc_union16 *) ex->arrays[4]; @@ -2681,9 +2588,6 @@ _backup_bayer_orc_merge_gr_rgba (OrcExecutor * ORC_RESTRICT ex) var42.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ /* 11: loadpw */ var43.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - /* 16: loadpb */ - var45.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var45.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -2691,71 +2595,71 @@ _backup_bayer_orc_merge_gr_rgba (OrcExecutor * ORC_RESTRICT ex) /* 1: loadw */ var38 = ptr8[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr5[i]; /* 4: loadw */ var40 = ptr9[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr6[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; + var52.i = var51.i | var50.i; /* 14: loadw */ var44 = ptr7[i]; /* 15: mergebw */ { orc_union16 _dest; _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var53.x2[0]; - var54.x2[0] = _dest.i; + _dest.x2[1] = var52.x2[0]; + var53.x2[0] = _dest.i; } { orc_union16 _dest; _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var53.x2[1]; + _dest.x2[1] = var52.x2[1]; + var53.x2[1] = _dest.i; + } + /* 16: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var46.x2[0]; + _dest.x2[1] = var43.x2[0]; + var54.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var46.x2[1]; + _dest.x2[1] = var43.x2[1]; var54.x2[1] = _dest.i; } - /* 17: mergebw */ - { - orc_union16 _dest; - _dest.x2[0] = var47.x2[0]; - _dest.x2[1] = var45.x2[0]; - var55.x2[0] = _dest.i; - } - { - orc_union16 _dest; - _dest.x2[0] = var47.x2[1]; - _dest.x2[1] = var45.x2[1]; - var55.x2[1] = _dest.i; - } - /* 18: mergewl */ + /* 17: mergewl */ { orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; + _dest.x2[0] = var53.x2[0]; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; + _dest.x2[0] = var53.x2[1]; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -2781,7 +2685,7 @@ bayer_orc_merge_gr_rgba (guint8 * ORC_RESTRICT d1, 1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114, 103, 101, 95, 103, 114, 95, 114, 103, 98, 97, 11, 8, 8, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14, - 4, 0, 255, 0, 0, 14, 4, 255, 0, 0, 0, 20, 4, 20, 4, 20, + 2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 4, 8, 21, 1, 39, 35, 5, 9, 79, 36, 6, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 7, 35, 21, 1, 196, 33, @@ -2800,8 +2704,8 @@ bayer_orc_merge_gr_rgba (guint8 * ORC_RESTRICT d1, orc_program_add_source (p, 2, "s4"); orc_program_add_source (p, 2, "s5"); orc_program_add_source (p, 2, "s6"); - orc_program_add_constant (p, 4, 0x0000ff00, "c1"); - orc_program_add_constant (p, 4, 0x000000ff, "c2"); + orc_program_add_constant (p, 2, 0x0000ff00, "c1"); + orc_program_add_constant (p, 2, 0x000000ff, "c2"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 4, "t2"); orc_program_add_temporary (p, 2, "t3"); @@ -2886,22 +2790,17 @@ bayer_orc_merge_bg_argb (guint8 * ORC_RESTRICT d1, #else orc_union16 var43; #endif -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var44; -#else orc_union16 var44; -#endif - orc_union16 var45; - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) d1; ptr4 = (orc_union16 *) s1; @@ -2915,9 +2814,6 @@ bayer_orc_merge_bg_argb (guint8 * ORC_RESTRICT d1, var42.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 11: loadpw */ var43.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ - /* 14: loadpb */ - var44.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var44.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -2925,71 +2821,71 @@ bayer_orc_merge_bg_argb (guint8 * ORC_RESTRICT d1, /* 1: loadw */ var38 = ptr9[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr4[i]; /* 4: loadw */ var40 = ptr8[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr7[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; - /* 15: mergebw */ + var52.i = var51.i | var50.i; + /* 14: mergebw */ { orc_union16 _dest; - _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var47.x2[0]; + _dest.x2[0] = var42.x2[0]; + _dest.x2[1] = var46.x2[0]; + var53.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var42.x2[1]; + _dest.x2[1] = var46.x2[1]; + var53.x2[1] = _dest.i; + } + /* 15: loadw */ + var44 = ptr6[i]; + /* 16: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var52.x2[0]; + _dest.x2[1] = var44.x2[0]; var54.x2[0] = _dest.i; } { orc_union16 _dest; - _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var47.x2[1]; + _dest.x2[0] = var52.x2[1]; + _dest.x2[1] = var44.x2[1]; var54.x2[1] = _dest.i; } - /* 16: loadw */ - var45 = ptr6[i]; - /* 17: mergebw */ + /* 17: mergewl */ { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[0]; - _dest.x2[1] = var45.x2[0]; - var55.x2[0] = _dest.i; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[1]; - _dest.x2[1] = var45.x2[1]; - var55.x2[1] = _dest.i; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 18: mergewl */ - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; - } - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; - } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -3022,22 +2918,17 @@ _backup_bayer_orc_merge_bg_argb (OrcExecutor * ORC_RESTRICT ex) #else orc_union16 var43; #endif -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var44; -#else orc_union16 var44; -#endif - orc_union16 var45; - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) ex->arrays[0]; ptr4 = (orc_union16 *) ex->arrays[4]; @@ -3051,9 +2942,6 @@ _backup_bayer_orc_merge_bg_argb (OrcExecutor * ORC_RESTRICT ex) var42.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 11: loadpw */ var43.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ - /* 14: loadpb */ - var44.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var44.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -3061,71 +2949,71 @@ _backup_bayer_orc_merge_bg_argb (OrcExecutor * ORC_RESTRICT ex) /* 1: loadw */ var38 = ptr9[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr4[i]; /* 4: loadw */ var40 = ptr8[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr7[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; - /* 15: mergebw */ + var52.i = var51.i | var50.i; + /* 14: mergebw */ { orc_union16 _dest; - _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var47.x2[0]; + _dest.x2[0] = var42.x2[0]; + _dest.x2[1] = var46.x2[0]; + var53.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var42.x2[1]; + _dest.x2[1] = var46.x2[1]; + var53.x2[1] = _dest.i; + } + /* 15: loadw */ + var44 = ptr6[i]; + /* 16: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var52.x2[0]; + _dest.x2[1] = var44.x2[0]; var54.x2[0] = _dest.i; } { orc_union16 _dest; - _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var47.x2[1]; + _dest.x2[0] = var52.x2[1]; + _dest.x2[1] = var44.x2[1]; var54.x2[1] = _dest.i; } - /* 16: loadw */ - var45 = ptr6[i]; - /* 17: mergebw */ + /* 17: mergewl */ { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[0]; - _dest.x2[1] = var45.x2[0]; - var55.x2[0] = _dest.i; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[1]; - _dest.x2[1] = var45.x2[1]; - var55.x2[1] = _dest.i; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 18: mergewl */ - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; - } - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; - } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -3151,7 +3039,7 @@ bayer_orc_merge_bg_argb (guint8 * ORC_RESTRICT d1, 1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114, 103, 101, 95, 98, 103, 95, 97, 114, 103, 98, 11, 8, 8, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14, - 4, 255, 0, 0, 0, 14, 4, 0, 255, 0, 0, 20, 4, 20, 4, 20, + 2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 5, 9, 21, 1, 39, 35, 4, 8, 79, 36, 7, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 16, 34, 21, 1, 196, 33, @@ -3170,8 +3058,8 @@ bayer_orc_merge_bg_argb (guint8 * ORC_RESTRICT d1, orc_program_add_source (p, 2, "s4"); orc_program_add_source (p, 2, "s5"); orc_program_add_source (p, 2, "s6"); - orc_program_add_constant (p, 4, 0x000000ff, "c1"); - orc_program_add_constant (p, 4, 0x0000ff00, "c2"); + orc_program_add_constant (p, 2, 0x000000ff, "c1"); + orc_program_add_constant (p, 2, 0x0000ff00, "c2"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 4, "t2"); orc_program_add_temporary (p, 2, "t3"); @@ -3256,22 +3144,17 @@ bayer_orc_merge_gr_argb (guint8 * ORC_RESTRICT d1, #else orc_union16 var43; #endif -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var44; -#else orc_union16 var44; -#endif - orc_union16 var45; - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) d1; ptr4 = (orc_union16 *) s1; @@ -3285,9 +3168,6 @@ bayer_orc_merge_gr_argb (guint8 * ORC_RESTRICT d1, var42.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ /* 11: loadpw */ var43.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - /* 14: loadpb */ - var44.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var44.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -3295,71 +3175,71 @@ bayer_orc_merge_gr_argb (guint8 * ORC_RESTRICT d1, /* 1: loadw */ var38 = ptr8[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr5[i]; /* 4: loadw */ var40 = ptr9[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr6[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; - /* 15: loadw */ - var45 = ptr7[i]; + var52.i = var51.i | var50.i; + /* 14: loadw */ + var44 = ptr7[i]; + /* 15: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var43.x2[0]; + _dest.x2[1] = var44.x2[0]; + var53.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var43.x2[1]; + _dest.x2[1] = var44.x2[1]; + var53.x2[1] = _dest.i; + } /* 16: mergebw */ { orc_union16 _dest; - _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var45.x2[0]; + _dest.x2[0] = var52.x2[0]; + _dest.x2[1] = var46.x2[0]; var54.x2[0] = _dest.i; } { orc_union16 _dest; - _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var45.x2[1]; + _dest.x2[0] = var52.x2[1]; + _dest.x2[1] = var46.x2[1]; var54.x2[1] = _dest.i; } - /* 17: mergebw */ + /* 17: mergewl */ { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[0]; - _dest.x2[1] = var47.x2[0]; - var55.x2[0] = _dest.i; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[1]; - _dest.x2[1] = var47.x2[1]; - var55.x2[1] = _dest.i; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 18: mergewl */ - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; - } - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; - } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -3392,22 +3272,17 @@ _backup_bayer_orc_merge_gr_argb (OrcExecutor * ORC_RESTRICT ex) #else orc_union16 var43; #endif -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var44; -#else orc_union16 var44; -#endif - orc_union16 var45; - orc_union64 var46; + orc_union64 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; orc_union16 var50; orc_union16 var51; orc_union16 var52; - orc_union16 var53; + orc_union32 var53; orc_union32 var54; - orc_union32 var55; ptr0 = (orc_union64 *) ex->arrays[0]; ptr4 = (orc_union16 *) ex->arrays[4]; @@ -3421,9 +3296,6 @@ _backup_bayer_orc_merge_gr_argb (OrcExecutor * ORC_RESTRICT ex) var42.i = (int) 0x0000ff00; /* 65280 or 3.22526e-319f */ /* 11: loadpw */ var43.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - /* 14: loadpb */ - var44.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ - var44.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -3431,71 +3303,71 @@ _backup_bayer_orc_merge_gr_argb (OrcExecutor * ORC_RESTRICT ex) /* 1: loadw */ var38 = ptr8[i]; /* 2: avgub */ - var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; - var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; + var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1; + var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1; /* 3: loadw */ var39 = ptr5[i]; /* 4: loadw */ var40 = ptr9[i]; /* 5: avgub */ - var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; - var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; + var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1; + var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1; /* 6: loadw */ var41 = ptr6[i]; /* 7: copyw */ - var49.i = var41.i; + var48.i = var41.i; /* 8: avgub */ - var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1; - var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1; + var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1; + var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1; /* 10: andw */ - var51.i = var50.i & var42.i; + var50.i = var49.i & var42.i; /* 12: andw */ - var52.i = var49.i & var43.i; + var51.i = var48.i & var43.i; /* 13: orw */ - var53.i = var52.i | var51.i; - /* 15: loadw */ - var45 = ptr7[i]; + var52.i = var51.i | var50.i; + /* 14: loadw */ + var44 = ptr7[i]; + /* 15: mergebw */ + { + orc_union16 _dest; + _dest.x2[0] = var43.x2[0]; + _dest.x2[1] = var44.x2[0]; + var53.x2[0] = _dest.i; + } + { + orc_union16 _dest; + _dest.x2[0] = var43.x2[1]; + _dest.x2[1] = var44.x2[1]; + var53.x2[1] = _dest.i; + } /* 16: mergebw */ { orc_union16 _dest; - _dest.x2[0] = var44.x2[0]; - _dest.x2[1] = var45.x2[0]; + _dest.x2[0] = var52.x2[0]; + _dest.x2[1] = var46.x2[0]; var54.x2[0] = _dest.i; } { orc_union16 _dest; - _dest.x2[0] = var44.x2[1]; - _dest.x2[1] = var45.x2[1]; + _dest.x2[0] = var52.x2[1]; + _dest.x2[1] = var46.x2[1]; var54.x2[1] = _dest.i; } - /* 17: mergebw */ + /* 17: mergewl */ { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[0]; - _dest.x2[1] = var47.x2[0]; - var55.x2[0] = _dest.i; + _dest.x2[1] = var54.x2[0]; + var45.x2[0] = _dest.i; } { - orc_union16 _dest; + orc_union32 _dest; _dest.x2[0] = var53.x2[1]; - _dest.x2[1] = var47.x2[1]; - var55.x2[1] = _dest.i; + _dest.x2[1] = var54.x2[1]; + var45.x2[1] = _dest.i; } - /* 18: mergewl */ - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[0]; - _dest.x2[1] = var55.x2[0]; - var46.x2[0] = _dest.i; - } - { - orc_union32 _dest; - _dest.x2[0] = var54.x2[1]; - _dest.x2[1] = var55.x2[1]; - var46.x2[1] = _dest.i; - } - /* 19: storeq */ - ptr0[i] = var46; + /* 18: storeq */ + ptr0[i] = var45; } } @@ -3521,7 +3393,7 @@ bayer_orc_merge_gr_argb (guint8 * ORC_RESTRICT d1, 1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114, 103, 101, 95, 103, 114, 95, 97, 114, 103, 98, 11, 8, 8, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14, - 4, 0, 255, 0, 0, 14, 4, 255, 0, 0, 0, 20, 4, 20, 4, 20, + 2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 4, 8, 21, 1, 39, 35, 5, 9, 79, 36, 6, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 17, 7, 21, 1, 196, 33, @@ -3540,8 +3412,8 @@ bayer_orc_merge_gr_argb (guint8 * ORC_RESTRICT d1, orc_program_add_source (p, 2, "s4"); orc_program_add_source (p, 2, "s5"); orc_program_add_source (p, 2, "s6"); - orc_program_add_constant (p, 4, 0x0000ff00, "c1"); - orc_program_add_constant (p, 4, 0x000000ff, "c2"); + orc_program_add_constant (p, 2, 0x0000ff00, "c1"); + orc_program_add_constant (p, 2, 0x000000ff, "c2"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 4, "t2"); orc_program_add_temporary (p, 2, "t3"); diff --git a/gst/compositor/compositororc-dist.c b/gst/compositor/compositororc-dist.c index db71b932e9..41744820b6 100644 --- a/gst/compositor/compositororc-dist.c +++ b/gst/compositor/compositororc-dist.c @@ -403,7 +403,7 @@ compositor_orc_blend_u8 (guint8 * ORC_RESTRICT d1, int d1_stride, /* 6: mullw */ var41.i = (var40.i * var36.i) & 0xffff; /* 7: shlw */ - var42.i = var38.i << 8; + var42.i = ((orc_uint16) var38.i) << 8; /* 8: addw */ var43.i = var42.i + var41.i; /* 9: shruw */ @@ -460,7 +460,7 @@ _backup_compositor_orc_blend_u8 (OrcExecutor * ORC_RESTRICT ex) /* 6: mullw */ var41.i = (var40.i * var36.i) & 0xffff; /* 7: shlw */ - var42.i = var38.i << 8; + var42.i = ((orc_uint16) var38.i) << 8; /* 8: addw */ var43.i = var42.i + var41.i; /* 9: shruw */ @@ -606,8 +606,9 @@ compositor_orc_blend_argb (guint8 * ORC_RESTRICT d1, int d1_stride, var43 = var42.i; /* 3: splatbl */ var44.i = - ((var43 & 0xff) << 24) | ((var43 & 0xff) << 16) | ((var43 & 0xff) << - 8) | (var43 & 0xff); + ((((orc_uint32) var43) & 0xff) << 24) | ((((orc_uint32) var43) & 0xff) + << 16) | ((((orc_uint32) var43) & 0xff) << 8) | (((orc_uint32) var43) + & 0xff); /* 4: convubw */ var45.x4[0] = (orc_uint8) var44.x4[0]; var45.x4[1] = (orc_uint8) var44.x4[1]; @@ -618,11 +619,19 @@ compositor_orc_blend_argb (guint8 * ORC_RESTRICT d1, int d1_stride, var46.x4[1] = (var45.x4[1] * var39.x4[1]) & 0xffff; var46.x4[2] = (var45.x4[2] * var39.x4[2]) & 0xffff; var46.x4[3] = (var45.x4[3] * var39.x4[3]) & 0xffff; - /* 7: shruw */ - var47.x4[0] = ((orc_uint16) var46.x4[0]) >> 8; - var47.x4[1] = ((orc_uint16) var46.x4[1]) >> 8; - var47.x4[2] = ((orc_uint16) var46.x4[2]) >> 8; - var47.x4[3] = ((orc_uint16) var46.x4[3]) >> 8; + /* 7: div255w */ + var47.x4[0] = + ((orc_uint16) (((orc_uint16) (var46.x4[0] + 128)) + + (((orc_uint16) (var46.x4[0] + 128)) >> 8))) >> 8; + var47.x4[1] = + ((orc_uint16) (((orc_uint16) (var46.x4[1] + 128)) + + (((orc_uint16) (var46.x4[1] + 128)) >> 8))) >> 8; + var47.x4[2] = + ((orc_uint16) (((orc_uint16) (var46.x4[2] + 128)) + + (((orc_uint16) (var46.x4[2] + 128)) >> 8))) >> 8; + var47.x4[3] = + ((orc_uint16) (((orc_uint16) (var46.x4[3] + 128)) + + (((orc_uint16) (var46.x4[3] + 128)) >> 8))) >> 8; /* 8: convubw */ var48.x4[0] = (orc_uint8) var41.x4[0]; var48.x4[1] = (orc_uint8) var41.x4[1]; @@ -731,8 +740,9 @@ _backup_compositor_orc_blend_argb (OrcExecutor * ORC_RESTRICT ex) var43 = var42.i; /* 3: splatbl */ var44.i = - ((var43 & 0xff) << 24) | ((var43 & 0xff) << 16) | ((var43 & 0xff) << - 8) | (var43 & 0xff); + ((((orc_uint32) var43) & 0xff) << 24) | ((((orc_uint32) var43) & 0xff) + << 16) | ((((orc_uint32) var43) & 0xff) << 8) | (((orc_uint32) var43) + & 0xff); /* 4: convubw */ var45.x4[0] = (orc_uint8) var44.x4[0]; var45.x4[1] = (orc_uint8) var44.x4[1]; @@ -743,11 +753,19 @@ _backup_compositor_orc_blend_argb (OrcExecutor * ORC_RESTRICT ex) var46.x4[1] = (var45.x4[1] * var39.x4[1]) & 0xffff; var46.x4[2] = (var45.x4[2] * var39.x4[2]) & 0xffff; var46.x4[3] = (var45.x4[3] * var39.x4[3]) & 0xffff; - /* 7: shruw */ - var47.x4[0] = ((orc_uint16) var46.x4[0]) >> 8; - var47.x4[1] = ((orc_uint16) var46.x4[1]) >> 8; - var47.x4[2] = ((orc_uint16) var46.x4[2]) >> 8; - var47.x4[3] = ((orc_uint16) var46.x4[3]) >> 8; + /* 7: div255w */ + var47.x4[0] = + ((orc_uint16) (((orc_uint16) (var46.x4[0] + 128)) + + (((orc_uint16) (var46.x4[0] + 128)) >> 8))) >> 8; + var47.x4[1] = + ((orc_uint16) (((orc_uint16) (var46.x4[1] + 128)) + + (((orc_uint16) (var46.x4[1] + 128)) >> 8))) >> 8; + var47.x4[2] = + ((orc_uint16) (((orc_uint16) (var46.x4[2] + 128)) + + (((orc_uint16) (var46.x4[2] + 128)) >> 8))) >> 8; + var47.x4[3] = + ((orc_uint16) (((orc_uint16) (var46.x4[3] + 128)) + + (((orc_uint16) (var46.x4[3] + 128)) >> 8))) >> 8; /* 8: convubw */ var48.x4[0] = (orc_uint8) var41.x4[0]; var48.x4[1] = (orc_uint8) var41.x4[1]; @@ -820,13 +838,13 @@ compositor_orc_blend_argb (guint8 * ORC_RESTRICT d1, int d1_stride, static const orc_uint8 bc[] = { 1, 7, 9, 25, 99, 111, 109, 112, 111, 115, 105, 116, 111, 114, 95, 111, 114, 99, 95, 98, 108, 101, 110, 100, 95, 97, 114, 103, 98, 11, 4, 4, - 12, 4, 4, 14, 4, 255, 0, 0, 0, 14, 4, 8, 0, 0, 0, 16, - 2, 20, 4, 20, 2, 20, 1, 20, 4, 20, 8, 20, 8, 20, 8, 113, - 32, 4, 163, 33, 32, 157, 34, 33, 152, 35, 34, 21, 2, 150, 38, 35, - 21, 2, 89, 38, 38, 24, 21, 2, 95, 38, 38, 17, 21, 2, 150, 37, - 32, 113, 32, 0, 21, 2, 150, 36, 32, 21, 2, 98, 37, 37, 36, 21, - 2, 89, 37, 37, 38, 21, 2, 80, 37, 37, 21, 2, 70, 36, 36, 37, - 21, 2, 157, 32, 36, 123, 32, 32, 16, 128, 0, 32, 2, 0, + 12, 4, 4, 14, 4, 255, 0, 0, 0, 16, 2, 20, 4, 20, 2, 20, + 1, 20, 4, 20, 8, 20, 8, 20, 8, 113, 32, 4, 163, 33, 32, 157, + 34, 33, 152, 35, 34, 21, 2, 150, 38, 35, 21, 2, 89, 38, 38, 24, + 21, 2, 80, 38, 38, 21, 2, 150, 37, 32, 113, 32, 0, 21, 2, 150, + 36, 32, 21, 2, 98, 37, 37, 36, 21, 2, 89, 37, 37, 38, 21, 2, + 80, 37, 37, 21, 2, 70, 36, 36, 37, 21, 2, 157, 32, 36, 123, 32, + 32, 16, 128, 0, 32, 2, 0, }; p = orc_program_new_from_static_bytecode (bc); orc_program_set_backup_function (p, _backup_compositor_orc_blend_argb); @@ -838,7 +856,6 @@ compositor_orc_blend_argb (guint8 * ORC_RESTRICT d1, int d1_stride, orc_program_add_destination (p, 4, "d1"); orc_program_add_source (p, 4, "s1"); orc_program_add_constant (p, 4, 0x000000ff, "c1"); - orc_program_add_constant (p, 4, 0x00000008, "c2"); orc_program_add_parameter (p, 2, "p1"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 2, "t2"); @@ -860,7 +877,7 @@ compositor_orc_blend_argb (guint8 * ORC_RESTRICT d1, int d1_stride, ORC_VAR_D1); orc_program_append_2 (p, "mullw", 2, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_P1, ORC_VAR_D1); - orc_program_append_2 (p, "shruw", 2, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_C2, + orc_program_append_2 (p, "div255w", 2, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_D1, ORC_VAR_D1); orc_program_append_2 (p, "convubw", 2, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); @@ -965,8 +982,9 @@ compositor_orc_blend_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, var45 = var44.i; /* 4: splatbl */ var46.i = - ((var45 & 0xff) << 24) | ((var45 & 0xff) << 16) | ((var45 & 0xff) << - 8) | (var45 & 0xff); + ((((orc_uint32) var45) & 0xff) << 24) | ((((orc_uint32) var45) & 0xff) + << 16) | ((((orc_uint32) var45) & 0xff) << 8) | (((orc_uint32) var45) + & 0xff); /* 5: convubw */ var47.x4[0] = (orc_uint8) var46.x4[0]; var47.x4[1] = (orc_uint8) var46.x4[1]; @@ -977,11 +995,19 @@ compositor_orc_blend_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, var48.x4[1] = (var47.x4[1] * var40.x4[1]) & 0xffff; var48.x4[2] = (var47.x4[2] * var40.x4[2]) & 0xffff; var48.x4[3] = (var47.x4[3] * var40.x4[3]) & 0xffff; - /* 8: shruw */ - var49.x4[0] = ((orc_uint16) var48.x4[0]) >> 8; - var49.x4[1] = ((orc_uint16) var48.x4[1]) >> 8; - var49.x4[2] = ((orc_uint16) var48.x4[2]) >> 8; - var49.x4[3] = ((orc_uint16) var48.x4[3]) >> 8; + /* 8: div255w */ + var49.x4[0] = + ((orc_uint16) (((orc_uint16) (var48.x4[0] + 128)) + + (((orc_uint16) (var48.x4[0] + 128)) >> 8))) >> 8; + var49.x4[1] = + ((orc_uint16) (((orc_uint16) (var48.x4[1] + 128)) + + (((orc_uint16) (var48.x4[1] + 128)) >> 8))) >> 8; + var49.x4[2] = + ((orc_uint16) (((orc_uint16) (var48.x4[2] + 128)) + + (((orc_uint16) (var48.x4[2] + 128)) >> 8))) >> 8; + var49.x4[3] = + ((orc_uint16) (((orc_uint16) (var48.x4[3] + 128)) + + (((orc_uint16) (var48.x4[3] + 128)) >> 8))) >> 8; /* 9: convubw */ var50.x4[0] = (orc_uint8) var42.x4[0]; var50.x4[1] = (orc_uint8) var42.x4[1]; @@ -1093,8 +1119,9 @@ _backup_compositor_orc_blend_bgra (OrcExecutor * ORC_RESTRICT ex) var45 = var44.i; /* 4: splatbl */ var46.i = - ((var45 & 0xff) << 24) | ((var45 & 0xff) << 16) | ((var45 & 0xff) << - 8) | (var45 & 0xff); + ((((orc_uint32) var45) & 0xff) << 24) | ((((orc_uint32) var45) & 0xff) + << 16) | ((((orc_uint32) var45) & 0xff) << 8) | (((orc_uint32) var45) + & 0xff); /* 5: convubw */ var47.x4[0] = (orc_uint8) var46.x4[0]; var47.x4[1] = (orc_uint8) var46.x4[1]; @@ -1105,11 +1132,19 @@ _backup_compositor_orc_blend_bgra (OrcExecutor * ORC_RESTRICT ex) var48.x4[1] = (var47.x4[1] * var40.x4[1]) & 0xffff; var48.x4[2] = (var47.x4[2] * var40.x4[2]) & 0xffff; var48.x4[3] = (var47.x4[3] * var40.x4[3]) & 0xffff; - /* 8: shruw */ - var49.x4[0] = ((orc_uint16) var48.x4[0]) >> 8; - var49.x4[1] = ((orc_uint16) var48.x4[1]) >> 8; - var49.x4[2] = ((orc_uint16) var48.x4[2]) >> 8; - var49.x4[3] = ((orc_uint16) var48.x4[3]) >> 8; + /* 8: div255w */ + var49.x4[0] = + ((orc_uint16) (((orc_uint16) (var48.x4[0] + 128)) + + (((orc_uint16) (var48.x4[0] + 128)) >> 8))) >> 8; + var49.x4[1] = + ((orc_uint16) (((orc_uint16) (var48.x4[1] + 128)) + + (((orc_uint16) (var48.x4[1] + 128)) >> 8))) >> 8; + var49.x4[2] = + ((orc_uint16) (((orc_uint16) (var48.x4[2] + 128)) + + (((orc_uint16) (var48.x4[2] + 128)) >> 8))) >> 8; + var49.x4[3] = + ((orc_uint16) (((orc_uint16) (var48.x4[3] + 128)) + + (((orc_uint16) (var48.x4[3] + 128)) >> 8))) >> 8; /* 9: convubw */ var50.x4[0] = (orc_uint8) var42.x4[0]; var50.x4[1] = (orc_uint8) var42.x4[1]; @@ -1182,14 +1217,14 @@ compositor_orc_blend_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, static const orc_uint8 bc[] = { 1, 7, 9, 25, 99, 111, 109, 112, 111, 115, 105, 116, 111, 114, 95, 111, 114, 99, 95, 98, 108, 101, 110, 100, 95, 98, 103, 114, 97, 11, 4, 4, - 12, 4, 4, 14, 4, 0, 0, 0, 255, 14, 4, 24, 0, 0, 0, 14, - 4, 8, 0, 0, 0, 16, 2, 20, 4, 20, 4, 20, 2, 20, 1, 20, - 4, 20, 8, 20, 8, 20, 8, 113, 32, 4, 126, 33, 32, 17, 163, 34, - 33, 157, 35, 34, 152, 36, 35, 21, 2, 150, 39, 36, 21, 2, 89, 39, - 39, 24, 21, 2, 95, 39, 39, 18, 21, 2, 150, 38, 32, 113, 32, 0, - 21, 2, 150, 37, 32, 21, 2, 98, 38, 38, 37, 21, 2, 89, 38, 38, - 39, 21, 2, 80, 38, 38, 21, 2, 70, 37, 37, 38, 21, 2, 157, 32, - 37, 123, 32, 32, 16, 128, 0, 32, 2, 0, + 12, 4, 4, 14, 4, 0, 0, 0, 255, 14, 4, 24, 0, 0, 0, 16, + 2, 20, 4, 20, 4, 20, 2, 20, 1, 20, 4, 20, 8, 20, 8, 20, + 8, 113, 32, 4, 126, 33, 32, 17, 163, 34, 33, 157, 35, 34, 152, 36, + 35, 21, 2, 150, 39, 36, 21, 2, 89, 39, 39, 24, 21, 2, 80, 39, + 39, 21, 2, 150, 38, 32, 113, 32, 0, 21, 2, 150, 37, 32, 21, 2, + 98, 38, 38, 37, 21, 2, 89, 38, 38, 39, 21, 2, 80, 38, 38, 21, + 2, 70, 37, 37, 38, 21, 2, 157, 32, 37, 123, 32, 32, 16, 128, 0, + 32, 2, 0, }; p = orc_program_new_from_static_bytecode (bc); orc_program_set_backup_function (p, _backup_compositor_orc_blend_bgra); @@ -1202,7 +1237,6 @@ compositor_orc_blend_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, orc_program_add_source (p, 4, "s1"); orc_program_add_constant (p, 4, 0xff000000, "c1"); orc_program_add_constant (p, 4, 0x00000018, "c2"); - orc_program_add_constant (p, 4, 0x00000008, "c3"); orc_program_add_parameter (p, 2, "p1"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 4, "t2"); @@ -1227,7 +1261,7 @@ compositor_orc_blend_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, ORC_VAR_D1); orc_program_append_2 (p, "mullw", 2, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_P1, ORC_VAR_D1); - orc_program_append_2 (p, "shruw", 2, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_C3, + orc_program_append_2 (p, "div255w", 2, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_D1, ORC_VAR_D1); orc_program_append_2 (p, "convubw", 2, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); @@ -1351,8 +1385,9 @@ compositor_orc_overlay_argb (guint8 * ORC_RESTRICT d1, int d1_stride, var46 = var45.i; /* 3: splatbl */ var47.i = - ((var46 & 0xff) << 24) | ((var46 & 0xff) << 16) | ((var46 & 0xff) << - 8) | (var46 & 0xff); + ((((orc_uint32) var46) & 0xff) << 24) | ((((orc_uint32) var46) & 0xff) + << 16) | ((((orc_uint32) var46) & 0xff) << 8) | (((orc_uint32) var46) + & 0xff); /* 4: convubw */ var48.x4[0] = (orc_uint8) var47.x4[0]; var48.x4[1] = (orc_uint8) var47.x4[1]; @@ -1363,11 +1398,19 @@ compositor_orc_overlay_argb (guint8 * ORC_RESTRICT d1, int d1_stride, var49.x4[1] = (var48.x4[1] * var41.x4[1]) & 0xffff; var49.x4[2] = (var48.x4[2] * var41.x4[2]) & 0xffff; var49.x4[3] = (var48.x4[3] * var41.x4[3]) & 0xffff; - /* 7: shruw */ - var50.x4[0] = ((orc_uint16) var49.x4[0]) >> 8; - var50.x4[1] = ((orc_uint16) var49.x4[1]) >> 8; - var50.x4[2] = ((orc_uint16) var49.x4[2]) >> 8; - var50.x4[3] = ((orc_uint16) var49.x4[3]) >> 8; + /* 7: div255w */ + var50.x4[0] = + ((orc_uint16) (((orc_uint16) (var49.x4[0] + 128)) + + (((orc_uint16) (var49.x4[0] + 128)) >> 8))) >> 8; + var50.x4[1] = + ((orc_uint16) (((orc_uint16) (var49.x4[1] + 128)) + + (((orc_uint16) (var49.x4[1] + 128)) >> 8))) >> 8; + var50.x4[2] = + ((orc_uint16) (((orc_uint16) (var49.x4[2] + 128)) + + (((orc_uint16) (var49.x4[2] + 128)) >> 8))) >> 8; + var50.x4[3] = + ((orc_uint16) (((orc_uint16) (var49.x4[3] + 128)) + + (((orc_uint16) (var49.x4[3] + 128)) >> 8))) >> 8; /* 8: convubw */ var51.x4[0] = (orc_uint8) var44.x4[0]; var51.x4[1] = (orc_uint8) var44.x4[1]; @@ -1396,8 +1439,9 @@ compositor_orc_overlay_argb (guint8 * ORC_RESTRICT d1, int d1_stride, var58 = var57.i; /* 16: splatbl */ var59.i = - ((var58 & 0xff) << 24) | ((var58 & 0xff) << 16) | ((var58 & 0xff) << - 8) | (var58 & 0xff); + ((((orc_uint32) var58) & 0xff) << 24) | ((((orc_uint32) var58) & 0xff) + << 16) | ((((orc_uint32) var58) & 0xff) << 8) | (((orc_uint32) var58) + & 0xff); /* 17: convubw */ var60.x4[0] = (orc_uint8) var59.x4[0]; var60.x4[1] = (orc_uint8) var59.x4[1]; @@ -1557,8 +1601,9 @@ _backup_compositor_orc_overlay_argb (OrcExecutor * ORC_RESTRICT ex) var46 = var45.i; /* 3: splatbl */ var47.i = - ((var46 & 0xff) << 24) | ((var46 & 0xff) << 16) | ((var46 & 0xff) << - 8) | (var46 & 0xff); + ((((orc_uint32) var46) & 0xff) << 24) | ((((orc_uint32) var46) & 0xff) + << 16) | ((((orc_uint32) var46) & 0xff) << 8) | (((orc_uint32) var46) + & 0xff); /* 4: convubw */ var48.x4[0] = (orc_uint8) var47.x4[0]; var48.x4[1] = (orc_uint8) var47.x4[1]; @@ -1569,11 +1614,19 @@ _backup_compositor_orc_overlay_argb (OrcExecutor * ORC_RESTRICT ex) var49.x4[1] = (var48.x4[1] * var41.x4[1]) & 0xffff; var49.x4[2] = (var48.x4[2] * var41.x4[2]) & 0xffff; var49.x4[3] = (var48.x4[3] * var41.x4[3]) & 0xffff; - /* 7: shruw */ - var50.x4[0] = ((orc_uint16) var49.x4[0]) >> 8; - var50.x4[1] = ((orc_uint16) var49.x4[1]) >> 8; - var50.x4[2] = ((orc_uint16) var49.x4[2]) >> 8; - var50.x4[3] = ((orc_uint16) var49.x4[3]) >> 8; + /* 7: div255w */ + var50.x4[0] = + ((orc_uint16) (((orc_uint16) (var49.x4[0] + 128)) + + (((orc_uint16) (var49.x4[0] + 128)) >> 8))) >> 8; + var50.x4[1] = + ((orc_uint16) (((orc_uint16) (var49.x4[1] + 128)) + + (((orc_uint16) (var49.x4[1] + 128)) >> 8))) >> 8; + var50.x4[2] = + ((orc_uint16) (((orc_uint16) (var49.x4[2] + 128)) + + (((orc_uint16) (var49.x4[2] + 128)) >> 8))) >> 8; + var50.x4[3] = + ((orc_uint16) (((orc_uint16) (var49.x4[3] + 128)) + + (((orc_uint16) (var49.x4[3] + 128)) >> 8))) >> 8; /* 8: convubw */ var51.x4[0] = (orc_uint8) var44.x4[0]; var51.x4[1] = (orc_uint8) var44.x4[1]; @@ -1602,8 +1655,9 @@ _backup_compositor_orc_overlay_argb (OrcExecutor * ORC_RESTRICT ex) var58 = var57.i; /* 16: splatbl */ var59.i = - ((var58 & 0xff) << 24) | ((var58 & 0xff) << 16) | ((var58 & 0xff) << - 8) | (var58 & 0xff); + ((((orc_uint32) var58) & 0xff) << 24) | ((((orc_uint32) var58) & 0xff) + << 16) | ((((orc_uint32) var58) & 0xff) << 8) | (((orc_uint32) var58) + & 0xff); /* 17: convubw */ var60.x4[0] = (orc_uint8) var59.x4[0]; var60.x4[1] = (orc_uint8) var59.x4[1]; @@ -1706,17 +1760,17 @@ compositor_orc_overlay_argb (guint8 * ORC_RESTRICT d1, int d1_stride, 1, 7, 9, 27, 99, 111, 109, 112, 111, 115, 105, 116, 111, 114, 95, 111, 114, 99, 95, 111, 118, 101, 114, 108, 97, 121, 95, 97, 114, 103, 98, 11, 4, 4, 12, 4, 4, 14, 4, 255, 255, 255, 255, 14, 4, 255, 0, 0, - 0, 14, 4, 0, 255, 255, 255, 14, 4, 8, 0, 0, 0, 16, 2, 20, - 4, 20, 2, 20, 1, 20, 8, 20, 8, 20, 8, 20, 4, 20, 8, 20, - 8, 113, 32, 4, 163, 33, 32, 157, 34, 33, 152, 38, 34, 21, 2, 150, - 35, 38, 21, 2, 89, 35, 35, 24, 21, 2, 95, 35, 35, 19, 21, 2, - 150, 40, 32, 21, 2, 89, 40, 40, 35, 115, 38, 16, 21, 2, 150, 36, - 38, 21, 2, 98, 36, 36, 35, 113, 32, 0, 163, 33, 32, 157, 34, 33, - 152, 38, 34, 21, 2, 150, 37, 38, 21, 2, 89, 37, 37, 36, 21, 2, - 80, 37, 37, 21, 2, 150, 39, 32, 21, 2, 89, 39, 39, 37, 21, 2, - 70, 39, 39, 40, 21, 2, 70, 37, 37, 35, 21, 2, 81, 39, 39, 37, - 21, 2, 157, 32, 39, 106, 32, 32, 18, 21, 2, 157, 38, 37, 106, 38, - 38, 17, 123, 32, 32, 38, 128, 0, 32, 2, 0, + 0, 14, 4, 0, 255, 255, 255, 16, 2, 20, 4, 20, 2, 20, 1, 20, + 8, 20, 8, 20, 8, 20, 4, 20, 8, 20, 8, 113, 32, 4, 163, 33, + 32, 157, 34, 33, 152, 38, 34, 21, 2, 150, 35, 38, 21, 2, 89, 35, + 35, 24, 21, 2, 80, 35, 35, 21, 2, 150, 40, 32, 21, 2, 89, 40, + 40, 35, 115, 38, 16, 21, 2, 150, 36, 38, 21, 2, 98, 36, 36, 35, + 113, 32, 0, 163, 33, 32, 157, 34, 33, 152, 38, 34, 21, 2, 150, 37, + 38, 21, 2, 89, 37, 37, 36, 21, 2, 80, 37, 37, 21, 2, 150, 39, + 32, 21, 2, 89, 39, 39, 37, 21, 2, 70, 39, 39, 40, 21, 2, 70, + 37, 37, 35, 21, 2, 81, 39, 39, 37, 21, 2, 157, 32, 39, 106, 32, + 32, 18, 21, 2, 157, 38, 37, 106, 38, 38, 17, 123, 32, 32, 38, 128, + 0, 32, 2, 0, }; p = orc_program_new_from_static_bytecode (bc); orc_program_set_backup_function (p, _backup_compositor_orc_overlay_argb); @@ -1730,7 +1784,6 @@ compositor_orc_overlay_argb (guint8 * ORC_RESTRICT d1, int d1_stride, orc_program_add_constant (p, 4, 0xffffffff, "c1"); orc_program_add_constant (p, 4, 0x000000ff, "c2"); orc_program_add_constant (p, 4, 0xffffff00, "c3"); - orc_program_add_constant (p, 4, 0x00000008, "c4"); orc_program_add_parameter (p, 2, "p1"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 2, "t2"); @@ -1754,7 +1807,7 @@ compositor_orc_overlay_argb (guint8 * ORC_RESTRICT d1, int d1_stride, ORC_VAR_D1); orc_program_append_2 (p, "mullw", 2, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_P1, ORC_VAR_D1); - orc_program_append_2 (p, "shruw", 2, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_C4, + orc_program_append_2 (p, "div255w", 2, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_D1, ORC_VAR_D1); orc_program_append_2 (p, "convubw", 2, ORC_VAR_T9, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); @@ -1908,8 +1961,9 @@ compositor_orc_overlay_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, var48 = var47.i; /* 4: splatbl */ var49.i = - ((var48 & 0xff) << 24) | ((var48 & 0xff) << 16) | ((var48 & 0xff) << - 8) | (var48 & 0xff); + ((((orc_uint32) var48) & 0xff) << 24) | ((((orc_uint32) var48) & 0xff) + << 16) | ((((orc_uint32) var48) & 0xff) << 8) | (((orc_uint32) var48) + & 0xff); /* 5: convubw */ var50.x4[0] = (orc_uint8) var49.x4[0]; var50.x4[1] = (orc_uint8) var49.x4[1]; @@ -1920,11 +1974,19 @@ compositor_orc_overlay_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, var51.x4[1] = (var50.x4[1] * var42.x4[1]) & 0xffff; var51.x4[2] = (var50.x4[2] * var42.x4[2]) & 0xffff; var51.x4[3] = (var50.x4[3] * var42.x4[3]) & 0xffff; - /* 8: shruw */ - var52.x4[0] = ((orc_uint16) var51.x4[0]) >> 8; - var52.x4[1] = ((orc_uint16) var51.x4[1]) >> 8; - var52.x4[2] = ((orc_uint16) var51.x4[2]) >> 8; - var52.x4[3] = ((orc_uint16) var51.x4[3]) >> 8; + /* 8: div255w */ + var52.x4[0] = + ((orc_uint16) (((orc_uint16) (var51.x4[0] + 128)) + + (((orc_uint16) (var51.x4[0] + 128)) >> 8))) >> 8; + var52.x4[1] = + ((orc_uint16) (((orc_uint16) (var51.x4[1] + 128)) + + (((orc_uint16) (var51.x4[1] + 128)) >> 8))) >> 8; + var52.x4[2] = + ((orc_uint16) (((orc_uint16) (var51.x4[2] + 128)) + + (((orc_uint16) (var51.x4[2] + 128)) >> 8))) >> 8; + var52.x4[3] = + ((orc_uint16) (((orc_uint16) (var51.x4[3] + 128)) + + (((orc_uint16) (var51.x4[3] + 128)) >> 8))) >> 8; /* 9: convubw */ var53.x4[0] = (orc_uint8) var45.x4[0]; var53.x4[1] = (orc_uint8) var45.x4[1]; @@ -1955,8 +2017,9 @@ compositor_orc_overlay_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, var61 = var60.i; /* 18: splatbl */ var62.i = - ((var61 & 0xff) << 24) | ((var61 & 0xff) << 16) | ((var61 & 0xff) << - 8) | (var61 & 0xff); + ((((orc_uint32) var61) & 0xff) << 24) | ((((orc_uint32) var61) & 0xff) + << 16) | ((((orc_uint32) var61) & 0xff) << 8) | (((orc_uint32) var61) + & 0xff); /* 19: convubw */ var63.x4[0] = (orc_uint8) var62.x4[0]; var63.x4[1] = (orc_uint8) var62.x4[1]; @@ -2120,8 +2183,9 @@ _backup_compositor_orc_overlay_bgra (OrcExecutor * ORC_RESTRICT ex) var48 = var47.i; /* 4: splatbl */ var49.i = - ((var48 & 0xff) << 24) | ((var48 & 0xff) << 16) | ((var48 & 0xff) << - 8) | (var48 & 0xff); + ((((orc_uint32) var48) & 0xff) << 24) | ((((orc_uint32) var48) & 0xff) + << 16) | ((((orc_uint32) var48) & 0xff) << 8) | (((orc_uint32) var48) + & 0xff); /* 5: convubw */ var50.x4[0] = (orc_uint8) var49.x4[0]; var50.x4[1] = (orc_uint8) var49.x4[1]; @@ -2132,11 +2196,19 @@ _backup_compositor_orc_overlay_bgra (OrcExecutor * ORC_RESTRICT ex) var51.x4[1] = (var50.x4[1] * var42.x4[1]) & 0xffff; var51.x4[2] = (var50.x4[2] * var42.x4[2]) & 0xffff; var51.x4[3] = (var50.x4[3] * var42.x4[3]) & 0xffff; - /* 8: shruw */ - var52.x4[0] = ((orc_uint16) var51.x4[0]) >> 8; - var52.x4[1] = ((orc_uint16) var51.x4[1]) >> 8; - var52.x4[2] = ((orc_uint16) var51.x4[2]) >> 8; - var52.x4[3] = ((orc_uint16) var51.x4[3]) >> 8; + /* 8: div255w */ + var52.x4[0] = + ((orc_uint16) (((orc_uint16) (var51.x4[0] + 128)) + + (((orc_uint16) (var51.x4[0] + 128)) >> 8))) >> 8; + var52.x4[1] = + ((orc_uint16) (((orc_uint16) (var51.x4[1] + 128)) + + (((orc_uint16) (var51.x4[1] + 128)) >> 8))) >> 8; + var52.x4[2] = + ((orc_uint16) (((orc_uint16) (var51.x4[2] + 128)) + + (((orc_uint16) (var51.x4[2] + 128)) >> 8))) >> 8; + var52.x4[3] = + ((orc_uint16) (((orc_uint16) (var51.x4[3] + 128)) + + (((orc_uint16) (var51.x4[3] + 128)) >> 8))) >> 8; /* 9: convubw */ var53.x4[0] = (orc_uint8) var45.x4[0]; var53.x4[1] = (orc_uint8) var45.x4[1]; @@ -2167,8 +2239,9 @@ _backup_compositor_orc_overlay_bgra (OrcExecutor * ORC_RESTRICT ex) var61 = var60.i; /* 18: splatbl */ var62.i = - ((var61 & 0xff) << 24) | ((var61 & 0xff) << 16) | ((var61 & 0xff) << - 8) | (var61 & 0xff); + ((((orc_uint32) var61) & 0xff) << 24) | ((((orc_uint32) var61) & 0xff) + << 16) | ((((orc_uint32) var61) & 0xff) << 8) | (((orc_uint32) var61) + & 0xff); /* 19: convubw */ var63.x4[0] = (orc_uint8) var62.x4[0]; var63.x4[1] = (orc_uint8) var62.x4[1]; @@ -2271,18 +2344,18 @@ compositor_orc_overlay_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, 1, 7, 9, 27, 99, 111, 109, 112, 111, 115, 105, 116, 111, 114, 95, 111, 114, 99, 95, 111, 118, 101, 114, 108, 97, 121, 95, 98, 103, 114, 97, 11, 4, 4, 12, 4, 4, 14, 4, 255, 255, 255, 255, 14, 4, 0, 0, 0, - 255, 14, 4, 255, 255, 255, 0, 14, 4, 24, 0, 0, 0, 14, 4, 8, - 0, 0, 0, 16, 2, 20, 4, 20, 4, 20, 2, 20, 1, 20, 8, 20, - 8, 20, 8, 20, 4, 20, 8, 20, 8, 113, 32, 4, 126, 33, 32, 19, - 163, 34, 33, 157, 35, 34, 152, 39, 35, 21, 2, 150, 36, 39, 21, 2, - 89, 36, 36, 24, 21, 2, 95, 36, 36, 20, 21, 2, 150, 41, 32, 21, - 2, 89, 41, 41, 36, 115, 39, 16, 21, 2, 150, 37, 39, 21, 2, 98, - 37, 37, 36, 113, 32, 0, 126, 33, 32, 19, 163, 34, 33, 157, 35, 34, - 152, 39, 35, 21, 2, 150, 38, 39, 21, 2, 89, 38, 38, 37, 21, 2, - 80, 38, 38, 21, 2, 150, 40, 32, 21, 2, 89, 40, 40, 38, 21, 2, - 70, 40, 40, 41, 21, 2, 70, 38, 38, 36, 21, 2, 81, 40, 40, 38, - 21, 2, 157, 32, 40, 106, 32, 32, 18, 21, 2, 157, 39, 38, 106, 39, - 39, 17, 123, 32, 32, 39, 128, 0, 32, 2, 0, + 255, 14, 4, 255, 255, 255, 0, 14, 4, 24, 0, 0, 0, 16, 2, 20, + 4, 20, 4, 20, 2, 20, 1, 20, 8, 20, 8, 20, 8, 20, 4, 20, + 8, 20, 8, 113, 32, 4, 126, 33, 32, 19, 163, 34, 33, 157, 35, 34, + 152, 39, 35, 21, 2, 150, 36, 39, 21, 2, 89, 36, 36, 24, 21, 2, + 80, 36, 36, 21, 2, 150, 41, 32, 21, 2, 89, 41, 41, 36, 115, 39, + 16, 21, 2, 150, 37, 39, 21, 2, 98, 37, 37, 36, 113, 32, 0, 126, + 33, 32, 19, 163, 34, 33, 157, 35, 34, 152, 39, 35, 21, 2, 150, 38, + 39, 21, 2, 89, 38, 38, 37, 21, 2, 80, 38, 38, 21, 2, 150, 40, + 32, 21, 2, 89, 40, 40, 38, 21, 2, 70, 40, 40, 41, 21, 2, 70, + 38, 38, 36, 21, 2, 81, 40, 40, 38, 21, 2, 157, 32, 40, 106, 32, + 32, 18, 21, 2, 157, 39, 38, 106, 39, 39, 17, 123, 32, 32, 39, 128, + 0, 32, 2, 0, }; p = orc_program_new_from_static_bytecode (bc); orc_program_set_backup_function (p, _backup_compositor_orc_overlay_bgra); @@ -2297,7 +2370,6 @@ compositor_orc_overlay_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, orc_program_add_constant (p, 4, 0xff000000, "c2"); orc_program_add_constant (p, 4, 0x00ffffff, "c3"); orc_program_add_constant (p, 4, 0x00000018, "c4"); - orc_program_add_constant (p, 4, 0x00000008, "c5"); orc_program_add_parameter (p, 2, "p1"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 4, "t2"); @@ -2324,7 +2396,7 @@ compositor_orc_overlay_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, ORC_VAR_D1); orc_program_append_2 (p, "mullw", 2, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_P1, ORC_VAR_D1); - orc_program_append_2 (p, "shruw", 2, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C5, + orc_program_append_2 (p, "div255w", 2, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_D1, ORC_VAR_D1); orc_program_append_2 (p, "convubw", 2, ORC_VAR_T10, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); diff --git a/gst/fieldanalysis/gstfieldanalysisorc-dist.c b/gst/fieldanalysis/gstfieldanalysisorc-dist.c index 06951b777d..1ae0143392 100644 --- a/gst/fieldanalysis/gstfieldanalysisorc-dist.c +++ b/gst/fieldanalysis/gstfieldanalysisorc-dist.c @@ -205,7 +205,7 @@ fieldanalysis_orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1, /* 9: andl */ var45.i = var43.i & var44.i; /* 10: accl */ - var12.i = var12.i + var45.i; + var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var45.i); } *a1 = var12.i; @@ -258,7 +258,7 @@ _backup_fieldanalysis_orc_same_parity_sad_planar_yuv (OrcExecutor * /* 9: andl */ var45.i = var43.i & var44.i; /* 10: accl */ - var12.i = var12.i + var45.i; + var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var45.i); } ex->accumulators[0] = var12.i; @@ -391,7 +391,7 @@ fieldanalysis_orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1, /* 8: andl */ var44.i = var42.i & var43.i; /* 9: accl */ - var12.i = var12.i + var44.i; + var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var44.i); } *a1 = var12.i; @@ -441,7 +441,7 @@ _backup_fieldanalysis_orc_same_parity_ssd_planar_yuv (OrcExecutor * /* 8: andl */ var44.i = var42.i & var43.i; /* 9: accl */ - var12.i = var12.i + var44.i; + var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var44.i); } ex->accumulators[0] = var12.i; @@ -606,9 +606,9 @@ fieldanalysis_orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1, /* 11: convubw */ var52.i = (orc_uint8) var45; /* 12: shlw */ - var53.i = var48.i << 2; + var53.i = ((orc_uint16) var48.i) << 2; /* 13: shlw */ - var54.i = var51.i << 2; + var54.i = ((orc_uint16) var51.i) << 2; /* 14: addw */ var55.i = var47.i + var53.i; /* 15: addw */ @@ -628,7 +628,7 @@ fieldanalysis_orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1, /* 23: andl */ var63.i = var61.i & var62.i; /* 24: accl */ - var12.i = var12.i + var63.i; + var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var63.i); } *a1 = var12.i; @@ -709,9 +709,9 @@ _backup_fieldanalysis_orc_same_parity_3_tap_planar_yuv (OrcExecutor * /* 11: convubw */ var52.i = (orc_uint8) var45; /* 12: shlw */ - var53.i = var48.i << 2; + var53.i = ((orc_uint16) var48.i) << 2; /* 13: shlw */ - var54.i = var51.i << 2; + var54.i = ((orc_uint16) var51.i) << 2; /* 14: addw */ var55.i = var47.i + var53.i; /* 15: addw */ @@ -731,7 +731,7 @@ _backup_fieldanalysis_orc_same_parity_3_tap_planar_yuv (OrcExecutor * /* 23: andl */ var63.i = var61.i & var62.i; /* 24: accl */ - var12.i = var12.i + var63.i; + var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var63.i); } ex->accumulators[0] = var12.i; @@ -761,7 +761,7 @@ fieldanalysis_orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1, 121, 95, 51, 95, 116, 97, 112, 95, 112, 108, 97, 110, 97, 114, 95, 121, 117, 118, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1, - 12, 1, 1, 13, 4, 14, 4, 2, 0, 0, 0, 16, 4, 20, 2, 20, + 12, 1, 1, 13, 4, 14, 2, 2, 0, 0, 0, 16, 4, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 4, 20, 4, 150, 32, 4, 150, 33, 5, 150, 34, 6, 150, 35, 7, 150, 36, 8, 150, 37, 9, 93, 33, 33, 16, 93, 36, 36, 16, 70, 32, 32, 33, 70, 32, 32, 34, 70, @@ -784,7 +784,7 @@ fieldanalysis_orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1, orc_program_add_source (p, 1, "s5"); orc_program_add_source (p, 1, "s6"); orc_program_add_accumulator (p, 4, "a1"); - orc_program_add_constant (p, 4, 0x00000002, "c1"); + orc_program_add_constant (p, 2, 0x00000002, "c1"); orc_program_add_parameter (p, 4, "p1"); orc_program_add_temporary (p, 2, "t1"); orc_program_add_temporary (p, 2, "t2"); @@ -884,12 +884,8 @@ fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, #else orc_union16 var44; #endif -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var45; -#else - orc_union16 var45; -#endif - orc_union32 var46; + orc_union32 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; @@ -902,10 +898,9 @@ fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, orc_union16 var56; orc_union16 var57; orc_union16 var58; - orc_union16 var59; + orc_union32 var59; orc_union32 var60; orc_union32 var61; - orc_union32 var62; ptr4 = (orc_int8 *) s1; ptr5 = (orc_int8 *) s2; @@ -915,56 +910,54 @@ fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, /* 11: loadpw */ var44.i = (int) 0x00000003; /* 3 or 1.4822e-323f */ - /* 13: loadpw */ - var45.i = (int) 0x00000003; /* 3 or 1.4822e-323f */ - /* 21: loadpl */ - var46.i = p1; + /* 20: loadpl */ + var45.i = p1; for (i = 0; i < n; i++) { /* 0: loadb */ var39 = ptr4[i]; /* 1: convubw */ - var47.i = (orc_uint8) var39; + var46.i = (orc_uint8) var39; /* 2: loadb */ var40 = ptr5[i]; /* 3: convubw */ - var48.i = (orc_uint8) var40; + var47.i = (orc_uint8) var40; /* 4: loadb */ var41 = ptr6[i]; /* 5: convubw */ - var49.i = (orc_uint8) var41; + var48.i = (orc_uint8) var41; /* 6: loadb */ var42 = ptr7[i]; /* 7: convubw */ - var50.i = (orc_uint8) var42; + var49.i = (orc_uint8) var42; /* 8: loadb */ var43 = ptr8[i]; /* 9: convubw */ - var51.i = (orc_uint8) var43; + var50.i = (orc_uint8) var43; /* 10: shlw */ - var52.i = var49.i << 2; + var51.i = ((orc_uint16) var48.i) << 2; /* 12: mullw */ - var53.i = (var48.i * var44.i) & 0xffff; - /* 14: mullw */ - var54.i = (var50.i * var45.i) & 0xffff; - /* 15: subw */ - var55.i = var47.i - var53.i; - /* 16: addw */ - var56.i = var55.i + var52.i; - /* 17: subw */ - var57.i = var56.i - var54.i; - /* 18: addw */ - var58.i = var57.i + var51.i; - /* 19: absw */ - var59.i = ORC_ABS (var58.i); - /* 20: convuwl */ - var60.i = (orc_uint16) var59.i; - /* 22: cmpgtsl */ - var61.i = (var60.i > var46.i) ? (~0) : 0; - /* 23: andl */ - var62.i = var60.i & var61.i; - /* 24: accl */ - var12.i = var12.i + var62.i; + var52.i = (var47.i * var44.i) & 0xffff; + /* 13: mullw */ + var53.i = (var49.i * var44.i) & 0xffff; + /* 14: subw */ + var54.i = var46.i - var52.i; + /* 15: addw */ + var55.i = var54.i + var51.i; + /* 16: subw */ + var56.i = var55.i - var53.i; + /* 17: addw */ + var57.i = var56.i + var50.i; + /* 18: absw */ + var58.i = ORC_ABS (var57.i); + /* 19: convuwl */ + var59.i = (orc_uint16) var58.i; + /* 21: cmpgtsl */ + var60.i = (var59.i > var45.i) ? (~0) : 0; + /* 22: andl */ + var61.i = var59.i & var60.i; + /* 23: accl */ + var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var61.i); } *a1 = var12.i; @@ -993,12 +986,8 @@ _backup_fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * #else orc_union16 var44; #endif -#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var45; -#else - orc_union16 var45; -#endif - orc_union32 var46; + orc_union32 var45; + orc_union16 var46; orc_union16 var47; orc_union16 var48; orc_union16 var49; @@ -1011,10 +1000,9 @@ _backup_fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * orc_union16 var56; orc_union16 var57; orc_union16 var58; - orc_union16 var59; + orc_union32 var59; orc_union32 var60; orc_union32 var61; - orc_union32 var62; ptr4 = (orc_int8 *) ex->arrays[4]; ptr5 = (orc_int8 *) ex->arrays[5]; @@ -1024,56 +1012,54 @@ _backup_fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * /* 11: loadpw */ var44.i = (int) 0x00000003; /* 3 or 1.4822e-323f */ - /* 13: loadpw */ - var45.i = (int) 0x00000003; /* 3 or 1.4822e-323f */ - /* 21: loadpl */ - var46.i = ex->params[24]; + /* 20: loadpl */ + var45.i = ex->params[24]; for (i = 0; i < n; i++) { /* 0: loadb */ var39 = ptr4[i]; /* 1: convubw */ - var47.i = (orc_uint8) var39; + var46.i = (orc_uint8) var39; /* 2: loadb */ var40 = ptr5[i]; /* 3: convubw */ - var48.i = (orc_uint8) var40; + var47.i = (orc_uint8) var40; /* 4: loadb */ var41 = ptr6[i]; /* 5: convubw */ - var49.i = (orc_uint8) var41; + var48.i = (orc_uint8) var41; /* 6: loadb */ var42 = ptr7[i]; /* 7: convubw */ - var50.i = (orc_uint8) var42; + var49.i = (orc_uint8) var42; /* 8: loadb */ var43 = ptr8[i]; /* 9: convubw */ - var51.i = (orc_uint8) var43; + var50.i = (orc_uint8) var43; /* 10: shlw */ - var52.i = var49.i << 2; + var51.i = ((orc_uint16) var48.i) << 2; /* 12: mullw */ - var53.i = (var48.i * var44.i) & 0xffff; - /* 14: mullw */ - var54.i = (var50.i * var45.i) & 0xffff; - /* 15: subw */ - var55.i = var47.i - var53.i; - /* 16: addw */ - var56.i = var55.i + var52.i; - /* 17: subw */ - var57.i = var56.i - var54.i; - /* 18: addw */ - var58.i = var57.i + var51.i; - /* 19: absw */ - var59.i = ORC_ABS (var58.i); - /* 20: convuwl */ - var60.i = (orc_uint16) var59.i; - /* 22: cmpgtsl */ - var61.i = (var60.i > var46.i) ? (~0) : 0; - /* 23: andl */ - var62.i = var60.i & var61.i; - /* 24: accl */ - var12.i = var12.i + var62.i; + var52.i = (var47.i * var44.i) & 0xffff; + /* 13: mullw */ + var53.i = (var49.i * var44.i) & 0xffff; + /* 14: subw */ + var54.i = var46.i - var52.i; + /* 15: addw */ + var55.i = var54.i + var51.i; + /* 16: subw */ + var56.i = var55.i - var53.i; + /* 17: addw */ + var57.i = var56.i + var50.i; + /* 18: absw */ + var58.i = ORC_ABS (var57.i); + /* 19: convuwl */ + var59.i = (orc_uint16) var58.i; + /* 21: cmpgtsl */ + var60.i = (var59.i > var45.i) ? (~0) : 0; + /* 22: andl */ + var61.i = var59.i & var60.i; + /* 23: accl */ + var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var61.i); } ex->accumulators[0] = var12.i; @@ -1102,7 +1088,7 @@ fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, 97, 114, 105, 116, 121, 95, 53, 95, 116, 97, 112, 95, 112, 108, 97, 110, 97, 114, 95, 121, 117, 118, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, - 1, 12, 1, 1, 13, 4, 14, 4, 2, 0, 0, 0, 14, 4, 3, 0, + 1, 12, 1, 1, 13, 4, 14, 2, 2, 0, 0, 0, 14, 2, 3, 0, 0, 0, 16, 4, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 4, 20, 4, 150, 32, 4, 150, 33, 5, 150, 34, 6, 150, 35, 7, 150, 36, 8, 93, 34, 34, 16, 89, 33, 33, 17, 89, 35, 35, 17, 98, 32, 32, @@ -1125,8 +1111,8 @@ fieldanalysis_orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, orc_program_add_source (p, 1, "s4"); orc_program_add_source (p, 1, "s5"); orc_program_add_accumulator (p, 4, "a1"); - orc_program_add_constant (p, 4, 0x00000002, "c1"); - orc_program_add_constant (p, 4, 0x00000003, "c2"); + orc_program_add_constant (p, 2, 0x00000002, "c1"); + orc_program_add_constant (p, 2, 0x00000003, "c2"); orc_program_add_parameter (p, 4, "p1"); orc_program_add_temporary (p, 2, "t1"); orc_program_add_temporary (p, 2, "t2"); diff --git a/gst/gaudieffects/gstgaudieffectsorc-dist.c b/gst/gaudieffects/gstgaudieffectsorc-dist.c index b09cc47c25..0ca7fc1975 100644 --- a/gst/gaudieffects/gstgaudieffectsorc-dist.c +++ b/gst/gaudieffects/gstgaudieffectsorc-dist.c @@ -228,10 +228,10 @@ gaudi_orc_burn (guint32 * ORC_RESTRICT d1, const guint32 * ORC_RESTRICT s1, var44.x4[2] = (orc_uint8) var43.x4[2]; var44.x4[3] = (orc_uint8) var43.x4[3]; /* 9: shlw */ - var45.x4[0] = var44.x4[0] << 7; - var45.x4[1] = var44.x4[1] << 7; - var45.x4[2] = var44.x4[2] << 7; - var45.x4[3] = var44.x4[3] << 7; + var45.x4[0] = ((orc_uint16) var44.x4[0]) << 7; + var45.x4[1] = ((orc_uint16) var44.x4[1]) << 7; + var45.x4[2] = ((orc_uint16) var44.x4[2]) << 7; + var45.x4[3] = ((orc_uint16) var44.x4[3]) << 7; /* 10: divluw */ var46.x4[0] = ((var42.x4[0] & 0xff) == @@ -349,10 +349,10 @@ _backup_gaudi_orc_burn (OrcExecutor * ORC_RESTRICT ex) var44.x4[2] = (orc_uint8) var43.x4[2]; var44.x4[3] = (orc_uint8) var43.x4[3]; /* 9: shlw */ - var45.x4[0] = var44.x4[0] << 7; - var45.x4[1] = var44.x4[1] << 7; - var45.x4[2] = var44.x4[2] << 7; - var45.x4[3] = var44.x4[3] << 7; + var45.x4[0] = ((orc_uint16) var44.x4[0]) << 7; + var45.x4[1] = ((orc_uint16) var44.x4[1]) << 7; + var45.x4[2] = ((orc_uint16) var44.x4[2]) << 7; + var45.x4[3] = ((orc_uint16) var44.x4[3]) << 7; /* 10: divluw */ var46.x4[0] = ((var42.x4[0] & 0xff) == diff --git a/win32/common/config.h b/win32/common/config.h index b86dbb5902..433ed5cd85 100644 --- a/win32/common/config.h +++ b/win32/common/config.h @@ -86,7 +86,7 @@ #define GST_PACKAGE_ORIGIN "Unknown package origin" /* GStreamer package release date/time for plugins as YYYY-MM-DD */ -#define GST_PACKAGE_RELEASE_DATETIME "2014-07-19" +#define GST_PACKAGE_RELEASE_DATETIME "2015-06-07" /* Define if static plugins should be built */ #undef GST_PLUGIN_BUILD_STATIC @@ -115,6 +115,15 @@ /* Define to enable Bluez (used by bluez). */ #undef HAVE_BLUEZ +/* Old bluez detected */ +#undef HAVE_BLUEZ4 + +/* Current bluez detected */ +#undef HAVE_BLUEZ5 + +/* Define to enable bs2b (used by bs2b). */ +#undef HAVE_BS2B + /* Define to enable bz2 library (used by bz2). */ #undef HAVE_BZ2 @@ -129,9 +138,15 @@ /* Define to enable chromaprint (used by chromaprint). */ #undef HAVE_CHROMAPRINT +/* Define if the target CPU is AARCH64 */ +#undef HAVE_CPU_AARCH64 + /* Define if the target CPU is an Alpha */ #undef HAVE_CPU_ALPHA +/* Define if the target CPU is an ARC */ +#undef HAVE_CPU_ARC + /* Define if the target CPU is an ARM */ #undef HAVE_CPU_ARM @@ -193,9 +208,6 @@ /* Define to enable Direct3D plug-in (used by direct3dsink). */ #undef HAVE_DIRECT3D -/* Define to enable DirectDraw plug-in (used by directdrawsink). */ -#undef HAVE_DIRECTDRAW - /* Define to enable directfb (used by dfbvideosink ). */ #undef HAVE_DIRECTFB @@ -208,6 +220,9 @@ /* define for working do while(0) macros */ #undef HAVE_DOWHILE_MACROS +/* Define to enable DTLS plugin (used by dtls). */ +#undef HAVE_DTLS + /* Define to enable dts library (used by dtsdec). */ #undef HAVE_DTS @@ -265,6 +280,12 @@ /* Define to 1 if the system has the type `GLsizeiptr'. */ #undef HAVE_GLSIZEIPTR +/* Define to 1 if the system has the type `GLsync'. */ +#undef HAVE_GLSYNC + +/* Define to 1 if the system has the type `GLuint64'. */ +#undef HAVE_GLUINT64 + /* Define to enable gme decoder (used by gme). */ #undef HAVE_GME @@ -283,9 +304,6 @@ /* Define if gudev is installed */ #undef HAVE_GUDEV -/* Define to 1 if you have the header file. */ -#undef HAVE_HIGHGUI_H - /* Define to enable http live streaming plugin (used by hls). */ #undef HAVE_HLS @@ -307,6 +325,9 @@ /* Define to enable ladspa (used by ladspa). */ #undef HAVE_LADSPA +/* Define to enable libde265 HEVC/H.265 decoder (used by libde265). */ +#undef HAVE_LIBDE265 + /* Define if libgcrypt is available */ #undef HAVE_LIBGCRYPT @@ -364,9 +385,6 @@ /* Define to enable musepackdec (used by musepack). */ #undef HAVE_MUSEPACK -/* Define to enable MythTV client plugins (used by mythtvsrc). */ -#undef HAVE_MYTHTV - /* Define to enable nas plug-in (used by nassink). */ #undef HAVE_NAS @@ -394,12 +412,47 @@ /* Define to enable opencv plugins (used by opencv). */ #undef HAVE_OPENCV +/* Define to 1 if you have the header file. */ +#undef HAVE_OPENCV2_CONTRIB_CONTRIB_HPP + +/* Define to 1 if you have the header file. */ +#undef HAVE_OPENCV2_CORE_CORE_C_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_OPENCV2_CORE_TYPES_C_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_OPENCV2_CORE_VERSION_HPP + /* Define to 1 if you have the header file. */ #undef HAVE_OPENCV2_HIGHGUI_HIGHGUI_C_H +/* Define to 1 if you have the header file. */ +#undef HAVE_OPENCV2_IMGPROC_IMGPROC_C_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_OPENCV2_IMGPROC_IMGPROC_HPP + +/* Define to 1 if you have the header file. */ +#undef HAVE_OPENCV2_LEGACY_COMPAT_HPP + +/* Define to 1 if you have the header file. */ +#undef HAVE_OPENCV2_LEGACY_LEGACY_HPP + +/* Define to 1 if you have the header file. + */ +#undef HAVE_OPENCV2_OBJDETECT_OBJDETECT_HPP + +/* Define to 1 if you have the header + file. */ +#undef HAVE_OPENCV2_VIDEO_BACKGROUND_SEGM_HPP + /* Define to enable openexr library (used by openexr). */ #undef HAVE_OPENEXR +/* Define to enable openh264 library (used by openh264). */ +#undef HAVE_OPENH264 + /* Define to enable openjpeg library (used by openjpeg). */ #undef HAVE_OPENJPEG @@ -412,6 +465,9 @@ /* Define to enable OpenSL ES (used by opensl). */ #undef HAVE_OPENSLES +/* Define if openssl is available */ +#undef HAVE_OPENSSL + /* Define to enable opus (used by opus). */ #undef HAVE_OPUS @@ -421,21 +477,21 @@ /* Apple Mac OS X operating system detected */ #undef HAVE_OSX -/* Define to enable OSX video (used by osxvideosrc). */ -#undef HAVE_OSX_VIDEO - /* Use libpng */ #undef HAVE_PNG +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + /* Define to 1 if you have the header file. */ #undef HAVE_PTHREAD_H +/* Have PTHREAD_PRIO_INHERIT. */ +#undef HAVE_PTHREAD_PRIO_INHERIT + /* Define to enable pvrvideosink (used by pvr). */ #undef HAVE_PVR -/* Define to enable QuickTime wrapper (used by qtwrapper). */ -#undef HAVE_QUICKTIME - /* Define if RDTSC is available */ #undef HAVE_RDTSC @@ -547,6 +603,9 @@ /* Define if building with VideoToolbox */ #undef HAVE_VIDEOTOOLBOX +/* Define if building with VideoToolbox >= 10.9.6 */ +#undef HAVE_VIDEOTOOLBOX_10_9_6 + /* Define to enable vo-aacenc library (used by vo-aacenc). */ #undef HAVE_VOAACENC @@ -595,6 +654,9 @@ /* Define if you have X11 library */ #undef HAVE_X11 +/* Define to enable x265 plug-in (used by x265). */ +#undef HAVE_X265 + /* Define to enable xvid plugins (used by xvid). */ #undef HAVE_XVID @@ -637,7 +699,7 @@ #define PACKAGE_NAME "GStreamer Bad Plug-ins" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.4.0" +#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.5.1" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gst-plugins-bad" @@ -646,7 +708,7 @@ #undef PACKAGE_URL /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.4.0" +#define PACKAGE_VERSION "1.5.1" /* directory where plugins are located */ #ifdef _DEBUG @@ -655,6 +717,10 @@ # define PLUGINDIR PREFIX "\\lib\\gstreamer-0.11" #endif +/* Define to necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + /* The size of `char', as computed by sizeof. */ #undef SIZEOF_CHAR @@ -686,7 +752,7 @@ #undef USE_EGL_RPI /* Version number of package */ -#define VERSION "1.4.0" +#define VERSION "1.5.1" /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ @@ -700,8 +766,5 @@ # endif #endif -/* Define to 1 if the X Window System is missing or not being used. */ -#undef X_DISPLAY_MISSING - /* We need at least WinXP SP2 for __stat64 */ #undef __MSVCRT_VERSION__