Felix Schwarz [Tue, 7 Oct 2014 10:12:04 +0000 (12:12 +0200)]
mpegts: fix typos in comments
https://bugzilla.gnome.org/show_bug.cgi?id=738072
Matthew Waters [Tue, 7 Oct 2014 12:04:30 +0000 (23:04 +1100)]
glcolorconvert: fix UYVY download green screen
Matthew Waters [Tue, 7 Oct 2014 11:50:22 +0000 (22:50 +1100)]
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
Vivia Nikolaidou [Mon, 6 Oct 2014 18:25:30 +0000 (21:25 +0300)]
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/
Jan Alexander Steffens (heftig) [Wed, 17 Sep 2014 14:48:02 +0000 (16:48 +0200)]
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
Thibault Saunier [Mon, 6 Oct 2014 11:09:00 +0000 (13:09 +0200)]
audiomixer: Handle seek event in READY state
Thibault Saunier [Mon, 21 Jul 2014 09:07:19 +0000 (11:07 +0200)]
audiomixer: Set the sinkpad segments basetime after seeking
Otherwise stream offset and running time comparison will not be
correct, leading to segfaults after seeks
Thibault Saunier [Wed, 28 May 2014 14:29:37 +0000 (16:29 +0200)]
audiomixer: Port to GstAggregator
https://bugzilla.gnome.org/show_bug.cgi?id=737183
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Thibault Saunier [Tue, 23 Sep 2014 13:59:10 +0000 (15:59 +0200)]
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.
Thibault Saunier [Wed, 30 Jul 2014 09:57:46 +0000 (11:57 +0200)]
videoaggregator: Make sure not to unref a NULL pointer
Mathieu Duponchelle [Tue, 5 Aug 2014 13:36:30 +0000 (15:36 +0200)]
aggregator: Set seqnum only when segments are received.
Thibault Saunier [Sat, 2 Aug 2014 16:25:01 +0000 (18:25 +0200)]
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.
Thibault Saunier [Fri, 18 Jul 2014 11:58:55 +0000 (13:58 +0200)]
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
Mathieu Duponchelle [Thu, 17 Jul 2014 23:41:26 +0000 (01:41 +0200)]
aggregator: set future seqnum before propagating the seek event.
So the seqnum is properly set for the following events.
Thibault Saunier [Tue, 8 Jul 2014 14:16:55 +0000 (16:16 +0200)]
aggregator: Store segment when seeked in READY for later use
Sebastian Dröge [Mon, 6 Oct 2014 13:44:51 +0000 (16:44 +0300)]
openh264: Use a MARGINAL rank for the encoder and decoder
They work but for now we prefer others until these are extensively tested.
Lihua Liu [Wed, 1 Oct 2014 08:57:26 +0000 (10:57 +0200)]
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
Vineeth T M [Mon, 6 Oct 2014 10:44:12 +0000 (11:44 +0100)]
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
Nicola Murino [Sat, 4 Oct 2014 18:55:08 +0000 (20:55 +0200)]
openh264enc: make denoise work
https://bugzilla.gnome.org/show_bug.cgi?id=737894
Sebastian Dröge [Mon, 6 Oct 2014 07:11:47 +0000 (10:11 +0300)]
videoaggregator: Unmap and free GstVideoFrames as needed after conversion and errors
Sebastian Dröge [Mon, 6 Oct 2014 07:11:23 +0000 (10:11 +0300)]
aggregator: Unref the taglist in GstAggregator::stop()
Reynaldo H. Verdejo Pinochet [Fri, 3 Oct 2014 23:42:58 +0000 (20:42 -0300)]
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).
Reynaldo H. Verdejo Pinochet [Fri, 3 Oct 2014 23:20:30 +0000 (20:20 -0300)]
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.
Reynaldo H. Verdejo Pinochet [Fri, 3 Oct 2014 23:03:27 +0000 (20:03 -0300)]
dvbsrc: add missing DTMB guard intervals
Reynaldo H. Verdejo Pinochet [Fri, 3 Oct 2014 22:55:02 +0000 (19:55 -0300)]
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.
Reynaldo H. Verdejo Pinochet [Fri, 3 Oct 2014 22:20:03 +0000 (19:20 -0300)]
mpegts: fix typo in GstMpegtsExtendedEventDescriptor doc
Reynaldo H. Verdejo Pinochet [Fri, 3 Oct 2014 22:06:21 +0000 (19:06 -0300)]
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.
Sebastian Dröge [Fri, 3 Oct 2014 14:22:23 +0000 (17:22 +0300)]
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.
Sebastian Dröge [Fri, 3 Oct 2014 14:20:28 +0000 (17:20 +0300)]
openh264dec: On ::finish() stop trying if the decoder returned that no output is available
Sebastian Dröge [Fri, 3 Oct 2014 10:54:22 +0000 (13:54 +0300)]
openh264: Run gst-indent over everything
Sebastian Dröge [Fri, 3 Oct 2014 10:52:32 +0000 (13:52 +0300)]
openh264: Remove unused codecparsers lib
Sebastian Dröge [Thu, 2 Oct 2014 13:46:25 +0000 (16:46 +0300)]
openh264: Add FIXME comment about missing API in openh264
Sebastian Dröge [Thu, 2 Oct 2014 13:33:30 +0000 (16:33 +0300)]
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.
Sebastian Dröge [Thu, 2 Oct 2014 13:23:37 +0000 (16:23 +0300)]
openh264dec: Don't drop videocodec frames if we can't decode them *yet*
Fixes jittery playback of streams with B frames.
Sebastian Dröge [Thu, 2 Oct 2014 13:21:37 +0000 (16:21 +0300)]
openh264dec: GstVideoDecoder works on frames, not sub-frames (e.g. NALs)
And we can just pass complete AUs to the decoder without problems.
Sebastian Dröge [Thu, 2 Oct 2014 13:19:46 +0000 (16:19 +0300)]
openh264dec: As we require NAL alignment from upstream we don't need to parse anything
Sebastian Dröge [Thu, 2 Oct 2014 12:48:51 +0000 (15:48 +0300)]
openh264dec: Properly drain codec on ::finish()
Sebastian Dröge [Thu, 2 Oct 2014 12:22:14 +0000 (15:22 +0300)]
openh264enc: Properly drain the encoder on ::finish()
Sebastian Dröge [Thu, 2 Oct 2014 11:36:45 +0000 (14:36 +0300)]
openh264enc: We always get a single frame as output, not a NAL
No need to accumulate NALs.
Sebastian Dröge [Thu, 2 Oct 2014 11:20:21 +0000 (14:20 +0300)]
openh264enc: Fix up caps and stride handling
Sebastian Dröge [Thu, 2 Oct 2014 11:15:49 +0000 (14:15 +0300)]
openh264enc: Add support for GstVideoMeta
This will allow upstream elements to work more efficiently.
Sebastian Dröge [Thu, 2 Oct 2014 11:12:11 +0000 (14:12 +0300)]
openh264dec: Add support for GstVideoMeta
This will make operation with various sinks faster for free.
Sebastian Dröge [Thu, 2 Oct 2014 11:08:49 +0000 (14:08 +0300)]
openh264dec: Optimize frame copying a bit
Sebastian Dröge [Thu, 2 Oct 2014 11:06:58 +0000 (14:06 +0300)]
openh264dec: Don't forget to unref the input state
Sebastian Dröge [Thu, 2 Oct 2014 11:03:43 +0000 (14:03 +0300)]
openh264dec: Fix various crashes on ::stop()
Sebastian Dröge [Thu, 2 Oct 2014 11:00:06 +0000 (14:00 +0300)]
openh264dec: Remove invalid sprops-parameter-set handling
This only exists on RTP caps, not H264 caps.
Sebastian Dröge [Thu, 2 Oct 2014 10:53:01 +0000 (13:53 +0300)]
openh264enc: Don't set caps manually
This will break the order of events in GStreamer.
Sebastian Dröge [Thu, 2 Oct 2014 10:49:14 +0000 (13:49 +0300)]
openh264dec: Fix input state handling and propagation of upstream caps fields
Sebastian Dröge [Fri, 3 Oct 2014 10:45:26 +0000 (13:45 +0300)]
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
Thibault Saunier [Thu, 18 Sep 2014 15:14:22 +0000 (17:14 +0200)]
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
Thibault Saunier [Fri, 3 Oct 2014 10:34:15 +0000 (12:34 +0200)]
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
Vineeth T M [Mon, 29 Sep 2014 04:45:39 +0000 (10:15 +0530)]
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
Aurélien Zanelli [Wed, 1 Oct 2014 14:19:02 +0000 (16:19 +0200)]
vc1parse: unref caps when it is empty in renegotiate()
https://bugzilla.gnome.org/show_bug.cgi?id=737724
Sebastian Dröge [Thu, 2 Oct 2014 07:26:43 +0000 (10:26 +0300)]
androidmedia: Fix calculation of the frame size for COLOR_FormatYUV420Planar
https://bugzilla.gnome.org/show_bug.cgi?id=734156
Sebastian Dröge [Wed, 1 Oct 2014 14:22:59 +0000 (17:22 +0300)]
videoaggregator: Also copy over the chroma siting and colorimetry when deciding on a conversion
Sebastian Dröge [Wed, 1 Oct 2014 14:18:05 +0000 (17:18 +0300)]
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.
Sebastian Dröge [Wed, 1 Oct 2014 14:11:16 +0000 (17:11 +0300)]
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
Sebastian Dröge [Wed, 1 Oct 2014 13:04:36 +0000 (16:04 +0300)]
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.
Sebastian Dröge [Wed, 1 Oct 2014 08:55:13 +0000 (11:55 +0300)]
gl/cocoa: Handle NSView::renewGState() properly
Don't update the screen until we redraw, this prevents flickering during
scrolling, clipping, resizing, etc
Tim-Philipp Müller [Tue, 30 Sep 2014 23:53:59 +0000 (00:53 +0100)]
fluiddec: don't crash on 0-sized input buffers
https://bugzilla.gnome.org/show_bug.cgi?id=737658
Lubosz Sarnecki [Tue, 30 Sep 2014 12:58:06 +0000 (14:58 +0200)]
gltransformation: requires graphene 1.0.0
Lubosz Sarnecki [Thu, 25 Sep 2014 15:01:31 +0000 (17:01 +0200)]
gltransformation: graphene multiplication order has changed
https://bugzilla.gnome.org/show_bug.cgi?id=733510
Matthew Waters [Tue, 30 Sep 2014 10:39:36 +0000 (20:39 +1000)]
glvideomixer: update element documentation
Matthew Waters [Tue, 30 Sep 2014 08:26:34 +0000 (18:26 +1000)]
tests/glcolorconvert: do reorder checking for rgba formats
Matthew Waters [Tue, 30 Sep 2014 04:46:14 +0000 (14:46 +1000)]
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.
Matthew Waters [Mon, 29 Sep 2014 15:45:20 +0000 (01:45 +1000)]
tests/glmemory: add simple transfer test
tests transferring to/from the GL with a 1x1 RGBA pixel.
Matthew Waters [Mon, 29 Sep 2014 15:38:05 +0000 (01:38 +1000)]
glmemory: unset the opposite corresponding transfer flags when mapped with write
fixes consistency with consecutive gst_memory_map()'s with
flags & GST_MAP_WRITE
Sebastian Dröge [Mon, 29 Sep 2014 06:33:42 +0000 (09:33 +0300)]
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.
Jesper Larsen [Mon, 29 Sep 2014 08:01:27 +0000 (10:01 +0200)]
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
David Waring [Thu, 31 Jul 2014 21:57:40 +0000 (22:57 +0100)]
dash: Use GstUri to join URIs
Sebastian Dröge [Mon, 29 Sep 2014 07:49:46 +0000 (10:49 +0300)]
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.
Sebastian Dröge [Mon, 29 Sep 2014 06:24:49 +0000 (09:24 +0300)]
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.
Sebastian Dröge [Fri, 26 Sep 2014 11:21:46 +0000 (14:21 +0300)]
gl/cocoa: Call UI related API from the application main thread
Sebastian Dröge [Fri, 26 Sep 2014 10:05:27 +0000 (13:05 +0300)]
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.
Edward Hervey [Mon, 29 Sep 2014 06:54:29 +0000 (08:54 +0200)]
glcontext: Initialize variable
Avoids the following warning:
gstglcontext.c:647:58: error: 'prev' may be used uninitialized in
this function [-Werror=maybe-uninitialized]
Josep Torra [Sun, 28 Sep 2014 16:03:09 +0000 (18:03 +0200)]
video: fix build in gst-uninstalled setup
Include the base video lib appropriately and resort all of them as
thaytan suggested.
Jan Schmidt [Sun, 28 Sep 2014 14:23:57 +0000 (00:23 +1000)]
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
Jan Schmidt [Sun, 28 Sep 2014 10:21:50 +0000 (20:21 +1000)]
examples: port GL/Qt examples to Qt5
Update the GL Qt integration examples for Qt5 changes and for GstGL
signal signature changes.
Matthew Waters [Sun, 28 Sep 2014 14:32:05 +0000 (00:32 +1000)]
glcontext: fixup error in sharegroup comment
Matthew Waters [Sun, 28 Sep 2014 14:27:30 +0000 (00:27 +1000)]
Revert accidental push: "gltestsrc: implement checkers pattern with GLSL"
This reverts commit
eae09179f0b4eb584c8fc7b6560d8fc8e86eed4c.
Matthew Waters [Sun, 28 Sep 2014 14:24:28 +0000 (00:24 +1000)]
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.
Wang Xin-yu (王昕宇) [Sun, 28 Sep 2014 02:51:09 +0000 (10:51 +0800)]
gltestsrc: implement checkers pattern with GLSL
Matthew Waters [Sun, 28 Sep 2014 11:18:32 +0000 (21:18 +1000)]
glfilter: silence a warning with empty input caps
discovered with the doublecube example
gst_caps_get_features: assertion 'index < GST_CAPS_LEN (caps)' failed
Matthew Waters [Sun, 28 Sep 2014 10:37:04 +0000 (20:37 +1000)]
examples/gl: update for signal signature change
Matthew Waters [Sun, 28 Sep 2014 06:58:42 +0000 (16:58 +1000)]
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
Matthew Waters [Fri, 26 Sep 2014 12:29:56 +0000 (22:29 +1000)]
gloverlay: fix zero output frames with YUY2/UYVY
also, be nice and disable blending for other elements
Matthew Waters [Fri, 26 Sep 2014 12:22:06 +0000 (22:22 +1000)]
gloverlay: protect desktop gl specific tokens with #if
Matthew Waters [Fri, 26 Sep 2014 02:28:10 +0000 (12:28 +1000)]
gloverlay: free the image memory every time the location changes
fixes a memory leak
Sebastian Dröge [Thu, 25 Sep 2014 17:48:59 +0000 (20:48 +0300)]
gloverlay: Include into the build with GLES2 only too
Matthew Waters [Thu, 25 Sep 2014 15:45:22 +0000 (01:45 +1000)]
gltestsrc: free the shader on stop
Matthew Waters [Thu, 25 Sep 2014 15:34:54 +0000 (01:34 +1000)]
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).
Matthew Waters [Thu, 25 Sep 2014 15:14:35 +0000 (01:14 +1000)]
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
Luis de Bethencourt [Thu, 25 Sep 2014 15:04:33 +0000 (16:04 +0100)]
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
Luis de Bethencourt [Thu, 25 Sep 2014 14:45:57 +0000 (15:45 +0100)]
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
Sebastian Dröge [Thu, 25 Sep 2014 13:13:19 +0000 (16:13 +0300)]
gl/cocoa: Switch from our custom main loop to a GMainLoop
Simplifies code a lot and makes it more similar to the other backends.
Sebastian Dröge [Thu, 25 Sep 2014 13:12:24 +0000 (16:12 +0300)]
gl/cocoa: Clear the current GL context when it should happen
Lihua Liu [Wed, 24 Sep 2014 10:42:23 +0000 (12:42 +0200)]
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
Stefan Sauer [Thu, 25 Sep 2014 08:14:41 +0000 (10:14 +0200)]
curl*sink: add more logging
Stefan Sauer [Thu, 25 Sep 2014 06:05:50 +0000 (08:05 +0200)]
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.
Stefan Sauer [Wed, 24 Sep 2014 20:24:49 +0000 (22:24 +0200)]
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.