Commit graph

3130 commits

Author SHA1 Message Date
Edward Hervey
115fb15a40 qt: Only include qtgui-config.h on qt >= 5.9.0
The file does not exist in previous versions
2017-09-01 15:57:25 +02:00
Matthew Waters
20d51d876f qt: the defines for QT_OPENGL_ES_2 have moved
Update the includes to account for that
2017-08-31 14:40:44 +10:00
Jochen Henneberg
0e47176b40 qt: ensure GL_DRAW_FRAMEBUFFER 2017-08-31 12:41:52 +10:00
Tim-Philipp Müller
02af0e857b twolame: hook up to build system
https://bugzilla.gnome.org/show_bug.cgi?id=774252
2017-08-26 09:43:34 +01:00
Tim-Philipp Müller
f3f9e13c12 Moving twolame mp2 encoder plugin from -ugly
https://bugzilla.gnome.org/show_bug.cgi?id=774252
2017-08-26 09:21:44 +01:00
Tim-Philipp Müller
1473b662de lame: hook up to build system
https://bugzilla.gnome.org/show_bug.cgi?id=774252
2017-08-26 09:14:55 +01:00
Tim-Philipp Müller
53ec444963 Moving lame mp3 encoder plugin from -ugly
https://bugzilla.gnome.org/show_bug.cgi?id=774252
2017-08-25 21:13:58 +01:00
Julien Isorce
96a2092b45 qt: fix broken build due to commit 2fd84a6c for gstgl
https://bugzilla.gnome.org/show_bug.cgi?id=784779
2017-08-22 13:44:20 +01:00
Julien Isorce
a4d74fda9a gl: do not include GL headers in public gstgl headers
Except for gst/gl/gstglfuncs.h

It is up to the client app to include these headers.
It is coherent with the fact that gstreamer-gl.pc does not
require any egl.pc/gles.pc. I.e. it is the responsability
of the app to search these headers within its build setup.

For example gstreamer-vaapi includes explicitly EGL/egl.h
and search for it in its configure.ac.

For example with this patch, if an app includes the headers
  gst/gl/egl/gstglcontext_egl.h
  gst/gl/egl/gstgldisplay_egl.h
  gst/gl/egl/gstglmemoryegl.h
it will *no longer* automatically include EGL/egl.h and GLES2/gl2.h.
Which is good because the app might want to use the gstgl api only
without the need to bother about gl headers.

Also added a test: cd tests/check && make libs/gstglheaders.check

https://bugzilla.gnome.org/show_bug.cgi?id=784779
2017-08-22 10:00:19 +01:00
Tim-Philipp Müller
5547901a37 mpg123: hook up to build system
https://bugzilla.gnome.org/show_bug.cgi?id=774252
2017-08-20 15:50:22 +01:00
Tim-Philipp Müller
4b1f43ebe3 Moving mpg123 plugin from -ugly 2017-08-20 13:48:48 +01:00
Carlos Rafael Giani
d9a294ac9f qmlglsink: Add itemInitialized signal to QML item
This is useful for autoplay for example. With autoplay, it is necessary to
wait until the scene graph is fully set up. This signal is emitted once the
QML item node is ready. So, inside a connected slot, the pipeline's state
can be set to PLAYING to automatically start playback as soon as the QML
script is loaded.

https://bugzilla.gnome.org/show_bug.cgi?id=786246
2017-08-14 14:51:43 +03:00
George Kiagiadakis
36fc2a747a vpxenc: discard frames that have been dropped by libvpx
This fixes a memory leak. When dropframe-threshold has been set,
libvpx may output less frames than the input ones, which causes
some GstVideoCodecFrames to queue up in GstVideoEncoder's internal
frame queue with no chance of ever being all released. And because
the frames keep references to the input buffers, the input buffer
pool keeps allocating new buffers and memory usage grows very fast.
For example the following pipeline's memory usage grows at a rate
of about 1GB per minute!

videotestsrc ! capsfilter caps=video/x-raw,width=1920,height=1080,framerate=30/1,format=I420 ! \
  vp8enc target-bitrate=1000000 end-usage=cbr dropframe-threshold=95 ! fakesink

https://bugzilla.gnome.org/show_bug.cgi?id=783086
2017-08-11 14:32:37 +03:00
Tim-Philipp Müller
bc1c321b27 taglib: use -fvisibility=hidden with this C++ plugin in meson too
Also pass args as cpp_args.
2017-08-10 14:54:51 +01:00
Nicola Murino
ab3b289bf2 jpegenc: declare quality property changeable in PLAYING state
https://bugzilla.gnome.org/show_bug.cgi?id=785012
2017-07-24 10:03:42 +01:00
Tim-Philipp Müller
e0714f67b3 mpg123audiodec: fix caps leak
The pad template takes its own ref, so we should unref the caps.

https://bugzilla.gnome.org/show_bug.cgi?id=784982
2017-07-15 14:57:49 +01:00
Sebastian Dröge
d0dfbb04c0 souphttpsrc: Post an element message with the HTTP headers on the bus too
Instead of just sending a sticky event with them downstream. This allows
getting the HTTP headers easily in the application, and especially also
on errors.
2017-07-13 14:50:44 +03:00
Jan Schmidt
ac068bd2b9 qt: Use a proxy object for access to the QML widget
QML can destroy the video widget at any time, leaving
us with a dangling pointer. Use a lock and a proxy
object to cope with that, and block in the widget
destructor if there are ongoing calls into the widget.
2017-07-12 15:51:11 +10:00
Philippe Renon
c8204780b2 shout2: use gint and guint in place of int and uint
this fixes a compilation error with gcc 7.1.0 on mys2 where uint is not defined

https://bugzilla.gnome.org/show_bug.cgi?id=784758
2017-07-11 09:26:35 +03:00
Thibault Saunier
0444342c05 caca: Do not include, unused, sys/time.h
Which moreover makes building on windows (mingw/msvc) fail:
 https://ci.appveyor.com/project/thiblahute/gst-build-ge9m5
2017-07-04 11:51:47 -04:00
Seungha Yang
b0f09d4ad0 souphttpsrc: Unset limit on the number of connection if soup session sharing is used
Soup allows only up to two connections per host in a session,
if we use default value. When session sharing is used, however,
more connections might be required in a session.
(e.g., multi-audio adaptive streaming case)

https://bugzilla.gnome.org/show_bug.cgi?id=784495
2017-07-04 09:13:12 +03:00
Nicolas Dufresne
52eb761acc souphttpsrc: Allow any type of proxy
Currently we only allowed HTTP proxy. Don't filter for the scheme, just check
if it looks like an URI. Soup will warn if the URI is invalid or if
proxy protocol is not supported. This enables using SOCKS 4/5 which is
directly implemented into GIO.

https://bugzilla.gnome.org/show_bug.cgi?id=783012
2017-06-29 15:24:30 -04:00
Tim-Philipp Müller
6a6f7fc48f meson: build raw1394 plugin
https://bugzilla.gnome.org/show_bug.cgi?id=784134
2017-06-24 00:21:00 +01:00
Tim-Philipp Müller
dd13973c6b meson: build aalib plugin
https://bugzilla.gnome.org/show_bug.cgi?id=784134
2017-06-23 23:50:00 +01:00
Tim-Philipp Müller
173d99e7e2 meson: build caca plugin
https://bugzilla.gnome.org/show_bug.cgi?id=784134
2017-06-23 23:38:27 +01:00
Jan Schmidt
c4eabb1a87 qt: Remove misleading reference to GTK in qtitem.cc 2017-06-22 01:01:40 +10:00
Thibault Saunier
5ff3106445 flactag: Fix warning with the newly added GstStateChange values
https://bugzilla.gnome.org/show_bug.cgi?id=783798
2017-06-19 15:10:31 -04:00
Edward Hervey
efebda5a34 dvdemux: Remove un-needed variable check
if pad wasn't present by now everything would have broken before

CID #1409854
2017-05-26 17:48:01 +02:00
Haihua Hu
cbcd0a12b6 glframebuffer: check frame buffer status need use specific fbo target
https://bugzilla.gnome.org/show_bug.cgi?id=783065
2017-05-25 12:34:04 +03:00
Carlos Rafael Giani
fdb2784491 qmlglsink: Add dummy texture that is shown as placeholder for NULL buffers
https://bugzilla.gnome.org/show_bug.cgi?id=782917
2017-05-21 16:52:23 +02:00
George Kiagiadakis
b26d44501c shout2send: use non-blocking I/O and a configurable network operations timeout
This allows timing out on network errors much earlier
(currently it takes ~15min to timeout) and we can still
unlock and change state in the meantime.

https://bugzilla.gnome.org/show_bug.cgi?id=571722
2017-05-21 16:30:04 +03:00
Tim-Philipp Müller
34d08a0169 meson: make C++ compiler optional
It's only needed for the taglib plugin which is optional.
2017-05-21 10:37:19 +01:00
Ravi Kiran K N
de3e54690b dvdemux: Push tag event to both pads
Tags are pushed to "videosrcpad"/"audiosrcpad" in
gst_dvdemux_add_pad() method, however they will be NULL
in this method, hence tags are not pushed.
Instead, send tag event to "pad" created gst_dvdemux_add_pad().

Signal no-more-pads when both pads are created

https://bugzilla.gnome.org/show_bug.cgi?id=743657
2017-05-20 16:01:34 +01:00
Simon Himmelbauer
b33563294f qt: Use GST_GL_HAVE_PLATFORM_CGL instead of GST_GL_HAVE_PLATFORM_COCOA
The latter is not used/available anymore since years. Also fix a typo
in the include path for the Cocoa GL display header.
2017-05-18 15:24:13 +03:00
Sebastian Dröge
1f2e48852e souphttpsrc: Make session sharing thread-safe on our side
https://bugzilla.gnome.org/show_bug.cgi?id=780140
2017-05-18 15:11:01 +03:00
Tim-Philipp Müller
6cb49cf2c3 Fix up package name and origin in some plugins 2017-05-18 10:44:07 +01:00
Sebastian Dröge
defbe06d0e 1394: Sink the clock reference in the constructor
This is now needed as GstClock does not do that internally anymore,
because that broke bindings.

https://bugzilla.gnome.org/show_bug.cgi?id=743062
2017-05-17 10:41:01 +03:00
Haihua Hu
5178fcdfda qml: Add EGL platform support for x11 backend
Add support for EGL platform when x11 is available. This can work
e.g. on imx6 platform.

https://bugzilla.gnome.org/show_bug.cgi?id=782718
2017-05-17 10:33:48 +03:00
Nicolas Dufresne
bd2ce0fb67 pulse: Accept MPEG 1 layer 3 version 2.5
https://bugzilla.gnome.org/show_bug.cgi?id=781929
2017-05-16 15:38:00 -04:00
Nicolas Dufresne
b68d936ae0 Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:41:19 -04:00
Nicolas Dufresne
0751b10ab9 Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:07:56 -04:00
Nicolas Dufresne
3169f86edd Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:07:56 -04:00
Nicolas Dufresne
d68fc85d60 Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:07:56 -04:00
Nicolas Dufresne
5c8d4271d6 Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:05:52 -04:00
Nicolas Dufresne
e44d936487 Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:05:52 -04:00
Nicolas Dufresne
6ebafb7daf qmlgl: Make the plugin name match the pugin file name 2017-05-09 09:47:10 -04:00
Sebastian Dröge
eee911bd1e souphttpsrc: Use a in-memory cookie jar by default in sessions we created
This ensures that cookies are stored and used as set by the server, and
shared with other souphttpsrc that use the same SoupSession.

https://bugzilla.gnome.org/show_bug.cgi?id=780140
2017-05-09 14:27:00 +02:00
Sebastian Dröge
7cb70e7aea souphttpsrc: Implement soup session sharing
souphttpsrc now shares its SoupSession with other elements in the
pipeline via GstContext if possible (session-wide settings are all the
defaults), or if the context was forced by the application.

This allows multiple souphttpsrcs to reuse connections, cookies, etc.

https://bugzilla.gnome.org/show_bug.cgi?id=780140
2017-05-09 14:27:00 +02:00
Sebastian Dröge
e4cbefcb6c vpxdec: Set fb->priv to NULL after freeing just in case
https://bugzilla.gnome.org/show_bug.cgi?id=782359
2017-05-09 11:41:25 +02:00
Tim-Philipp Müller
55c7e77d2c vpx: fix build against older libvpx versions
Such as 1.3.0 as on raspbian.
2017-05-08 16:07:32 +01:00
Edward Hervey
8586150aec souphttpsrc: Make more usage of error macro
And make sure we actually use the provided soup_msg argument in the macro
2017-04-13 08:00:30 +02:00
Thibault Saunier
1ee15d67b0 docs: Port all docstring to gtk-doc markdown 2017-04-12 12:57:57 -03:00
Nirbheek Chauhan
b7434f8d9c meson: Print message when disabling taglib on MSVC 2017-04-12 18:48:27 +05:30
Jan Schmidt
cd309f31a0 vp9dec: Add warnings for unsupported frame formats
At least output an element warning on the bus when we
encounter a frame format GStreamer doesn't currently support.
2017-04-05 16:09:53 +10:00
Tim-Philipp Müller
f26edcdf34 docs: update two references to the removed 'mad' plugin
https://bugzilla.gnome.org/show_bug.cgi?id=776140
2017-03-20 17:03:54 +00:00
Sebastian Dröge
b1ba5f10ce souphttpsrc: Include GStreamer souphttpsrc version in default User-Agent string 2017-03-16 13:53:16 +02:00
Matthew Waters
f451d9be8d gl: GL_ARRAY_BUFFER is not a part of VAO state
As a result we need to bind it on every draw in order to have the
correct state in the GL state machine.
2017-03-14 14:15:00 +11:00
Matthew Waters
f647a79aa8 gl/format: use our own GL format enum's instead of gstvideo's
They can describe in more detail (such as component sizes) the requested format.
2017-03-13 21:10:58 +11:00
Nicolas Dufresne
b7d332022c Rename plugin filesnames to match plugin names
- libgstgtksink.so -> libgstgtk.so
- libgstteletextdec.so -> libgstteletex.so
- libgstcamerabin2.so -> libgstcamerabin.so
- libgstonvif.so -> libgstrtponvif.so (meson only)
- sdp -> sdpelem (avoid clash with libgstsdp)
- gstsiren -> siren
- libgstkmssink.so -> libgstkms.so

https://bugzilla.gnome.org/show_bug.cgi?id=779344
2017-03-08 20:04:23 -05:00
Nicolas Dufresne
ca0ed8a134 Fix plugin filenames to match plugin names
- libgstpulse.so becomes libgstpulseaudio.so
- libgstsouphttpsrc.so becomes libgstsoup.so
- libgstoss4audio.so becomes libgstoss4.so

https://bugzilla.gnome.org/show_bug.cgi?id=779344
2017-03-08 20:04:20 -05:00
Sebastian Dröge
219f485c2c qml: Add support for Vivante EGL FS windowing system
https://bugzilla.gnome.org/show_bug.cgi?id=778825
2017-02-27 10:42:05 +02:00
Seungha Yang
804f238b3e souphttpsrc: Extract redirection uri on libsoup's restarted callback
Let libsoup handle redirection automatically.
And then, to figure out redirection uri, extract it on "restarted"
callback which will be fired before soup_session_send() is returned.

https://bugzilla.gnome.org/show_bug.cgi?id=778428
2017-02-22 16:15:22 +02:00
Arnaud Vrac
03db374144 souphttpsrc: retry request on early termination from the server
Fix a regression introduced by commit 183695c61a (refactor to use
Soup's sync API). The code previously attempted to reconnect when the
server closed the connection early, for example when the stream was put
in pause for some time.

Reintroduce this feature by checking if EOS is received before the
expected content size is downloaded. In this case, do the request
starting at the previous read position.

https://bugzilla.gnome.org/show_bug.cgi?id=776720
2017-01-26 15:59:46 +02:00
Sebastian Dröge
d3f6497f50 qt: The code requires at least C++11
... and clang requires this to be specified on the commandline while gcc
nowadays defaults to C++11 or even newer.
2017-01-25 19:21:03 +02:00
Arnaud Vrac
c08a0493ff souphttpsrc: report a useful error message when soup_session_send fails
This helps to understand cases where libsoup doesn't set the message
status code after running soup_session_send.

https://bugzilla.gnome.org/show_bug.cgi?id=777222
2017-01-23 12:54:17 +02:00
Arnaud Vrac
c4cf67cfe5 souphttpsrc: properly check that seek range was respected
This check must be done only when we are sure the request was
successfully sent. soup_session_send() might fail without setting the
status code. In this case status code is 0 so we would only catch the
error after the seek range check. In this case we would report an error
saying that the seek range was not respected, instead of reporting the
underlying error that triggered the soup_session_send() failure.

https://bugzilla.gnome.org/attachment.cgi?bugid=777222
2017-01-23 12:54:17 +02:00
Mark Nauwelaerts
24b2422bf3 gdkpixbufoverlay: add a positioning coefficient pair
... so as to allow one clearly defined (absolute) positioning mode
that can cater for a variety of absolute but also relative positioning
with respect to edge or center.
2017-01-22 10:18:27 +01:00
Mark Nauwelaerts
387da78da3 gdkpixbufoverlay: update composition in _before_transform
... since we need to determine passthrough mode for buffer preparation before
calling into _transform_ip.
2017-01-22 10:18:27 +01:00
Mark Nauwelaerts
2715daebf3 gdkpixbufoverlay: handle setting NULL gdkpixbuf
... which is a clearer way to clear any current overlay, other than
fiddling with alpha or positioning properties to make it virtually go away.
2017-01-22 10:18:27 +01:00
Edward Hervey
41fa3fc499 souphttpsrc: Initialize return variable
In the normal use-case we would end up with ret being unitialized
causing havoc.

https://bugzilla.gnome.org/show_bug.cgi?id=777222
2017-01-19 08:38:45 +01:00
Arnaud Vrac
02317496c6 souphttpsrc: make flow return values handling clearer
The flow return values was stored in the element before because the
result had to be set from callbacks. This is not the case anymore, we
can return the flow result directly from functions, making the code
easier to understand.

https://bugzilla.gnome.org/show_bug.cgi?id=777222
2017-01-17 22:16:15 -03:00
Arnaud Vrac
9b23732559 souphttpsrc: properly track redirections
The current code configures libsoup to handle redirections
transparently, without informing the caller, thus preventing the element
to record the redirect code and location uri.

Fix this by always setting the SOUP_MESSAGE_NO_REDIRECT, preventing
libsoup from handling the redirection. When we receive a redirection
request and libsoup can safely handle it, return a custom error which
triggers a retry with the new URI.

https://bugzilla.gnome.org/show_bug.cgi?id=777222
2017-01-17 22:16:15 -03:00
Tim-Philipp Müller
7717d08835 flacenc: fix other icon counter check
It's never going to be 0 if we first increment and then check.
2017-01-14 15:27:37 +00:00
Tim-Philipp Müller
bc6a9327f4 flacenc: also set PICTURE tag width and height if available 2017-01-14 15:05:36 +00:00
Tim-Philipp Müller
23fb9ead5d flacenc: fix encoder init error with some GST_TAG_PREVIEW_IMAGEs
The encoder fails to initialise when we try to set GST_TAG_PREVIEW_IMAGEs
sent to use by qtdemux from iTunes-generated m4a files. We should
not just blindly translate the PREVIEW tag to file icon image types,
but check if the specific conditions required are met (i.e. image
type 1 must be a 32x32 PNG icon, and what we're getting is 500x500).

https://bugzilla.gnome.org/show_bug.cgi?id=776962
2017-01-14 14:58:52 +00:00
Matthew Waters
cd9db288b2 gl/utils: also take care of the local GL context in query functions
Simplifies a deduplicates a lot of code in elements retrieving/setting
the local OpenGL context.
2017-01-13 11:20:51 +11:00
Matthew Waters
64394fc296 gl/utils: also take care of the local GL context in query functions
Simplifies a deduplicates a lot of code in elements retrieving/setting
the local OpenGL context.
2017-01-13 11:20:51 +11:00
Haihua Hu
f54fcb0349 qmlglsrc: use glBlitFramebuffer to copy texture for GLES3.0
If support glBlitFrameBuffer, use it for texture copy instead
of glCopyTexImage2D

https://bugzilla.gnome.org/show_bug.cgi?id=777078
2017-01-10 21:34:30 +11:00
Thibault Saunier
9d1942f286 meson: Install presets files 2017-01-05 09:49:21 -03:00
Tim-Philipp Müller
01a462a4c9 qt: improve element and property descriptions a bit 2016-12-17 13:42:34 +00:00
Reynaldo H. Verdejo Pinochet
6c8c9a6492 shout2: fix 404 in package origin 2016-12-14 14:16:53 -08:00
Sergey Borovkov
d1f4c207a8 qml: Fix egl being deinitialized on display cleanup
Use the with_egl_display() variant in order to not destroy the
EGLDisplay on destruction.

https://bugzilla.gnome.org/show_bug.cgi?id=775793
2016-12-09 21:44:05 +11:00
Matthew Waters
01b6c38ec9 qml/item: also unref the display on destruction
Leaking objects (and a thread!) is never a good idea.

https://bugzilla.gnome.org/show_bug.cgi?id=775746
2016-12-07 23:02:02 +11:00
Nirbheek Chauhan
6df682c6f9 Revert "meson: dv plugin now works on MSVC"
This reverts commit 05a89613fe.

Let's not put in stuff that needs unreleased Meson. This can go in
for the next cycle.
2016-11-28 19:57:55 +05:30
Sebastian Dröge
37f991f06e souphttpsrc: Handle non-UTF8 headers and error reasons more gracefully
Especially don't put them into GstStructures in one way or another, just
ignore them or error out cleanly depending on the importance of their
content.
2016-11-28 12:00:09 +02:00
Sebastian Dröge
ae2dd54a24 vpxdec: libvpx's release buffer is sometimes called with fb->priv==NULL
Don't assert on this but just ignore these cases.
2016-11-22 20:33:29 +02:00
Sebastian Dröge
f32603bcf8 dvdec: Fix handling of negotiation failures
Return NOT_NEGOTIATED if sending the caps event fails, or FLUSHING if
the pad was flushing at that point.

https://bugzilla.gnome.org/show_bug.cgi?id=774623
2016-11-18 12:04:45 +02:00
Haihua Hu
4450152a9e qmlglsrc: some enhancements for qmlglsrc
1. Need set use-default-fbo to qquickwindow during set property
   to support change render target on the fly.
2. Calculate qmlglsrc refresh frame rate in qtglwindow

https://bugzilla.gnome.org/show_bug.cgi?id=774035
2016-11-08 02:05:20 +11:00
Matthew Waters
c51210f2a8 gl: GST_GL_TYPE -> GST_TYPE_GL
Some deprecated symbols are kept for backwards compatibility
2016-11-03 16:16:12 +11:00
Matthew Waters
389e386d50 gl: GST_GL_TYPE -> GST_TYPE_GL
Some deprecated symbols are kept for backwards compatibility
2016-11-03 16:16:12 +11:00
Jagadish
d94287c047 gdkpixbufoverlay: Fixing x and y offset computation
While computing the x and y offsets, it's the video resolution and
resized overlay resolution to be used instead of actual overlay image
resoltuion. Due to this, the overlay image used to get wrongly overlayed
in undesired location

https://bugzilla.gnome.org/show_bug.cgi?id=757292
2016-11-01 20:09:32 +02:00
Sebastian Dröge
60d30db912 Revert "souphttpsrc: reduce reading latency by using non-blocking read"
This reverts commit 8816764112.

It causes issues with the timeouts, and causes connections to be closed
without actual reason. Needs further investigation.

https://bugzilla.gnome.org/show_bug.cgi?id=773509
2016-10-31 18:00:07 +02:00
Nirbheek Chauhan
05a89613fe meson: dv plugin now works on MSVC
Needs a Meson patch to filter out the useless -lpthread

https://github.com/mesonbuild/meson/pull/962
2016-10-27 22:49:09 +05:30
Michael Olbrich
8666b7d871 souphttpsrc: reset read_position when reading fails
souphttpsrc maintains two variables for the position:
 * 'request_position' is where we want to be
 * 'read_position' is where we are
During Normal operations both are updated in sync when data arrives. A seek
changes 'request_position' but not 'read_position'.
When the two positions get out of sync, then a new request is send and the
'Range' header is adjusted to the current 'request_position'.

Without this patch, if reading fails, then the source is destroyed. This
triggers a new request, but the range remains unchanged. As a result, the
old range is used and old data will be read.

Changing the 'read_position' to -1 makes it explicitly different from
'request_position' and as a result the 'Range' header is updated correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=773509
2016-10-26 16:57:28 +03:00
Sergey Borovkov
642e12ed9f qt: Fix failing build on RPI
https://bugzilla.gnome.org/show_bug.cgi?id=773026
2016-10-18 11:25:03 +11:00
Tim-Philipp Müller
787f47604d meson: add unit tests
Only works properly in an installed setup currently, most
likely won't work with a subprojects setup yet.
2016-09-26 14:31:09 +01:00
Arun Raghavan
4833f02e47 pulsesrc: Don't negotiate to less than two segments
GstAudioRingBuffer doesn't needs us to have at least 2 segments. We make
sure that if our buffer parameters are such that the maxlength is not at
least 2x fragsize, we still request the ringbuffer to keep that much
space so it continues to work.

https://bugzilla.gnome.org/show_bug.cgi?id=770446
2016-09-25 01:20:14 +05:30
Tim-Philipp Müller
2179b9b9d6 meson: fix build with vpx 1.3.x
vpx >= 1.4.0 is optional
2016-09-18 20:55:31 +01:00
Tim-Philipp Müller
cae9ec0ad8 ext, gst: fix indentation 2016-09-15 09:53:07 +01:00
Thomas Scheuermann
1215849e69 jack: Fix pipeline hang when jack changes sample rate or buffer size
If jackd changes the buffer size or sample rate, jackaudiosink hangs
and can't be stopped. This also happens if jack is configured as slave
and a gstreamer pipeline is started on the slave machine while the jack
master isn't running yet. If the the jack master is started it changes
the buffer size / sample rate and jackaudiosink can't be stopped.

This fix calls jack_shutdown_cb when jack_sample_rate_cb or
jack_buffer_size_cb is called.

https://bugzilla.gnome.org/show_bug.cgi?id=771272
2016-09-13 14:19:47 +02:00