Commit graph

2478 commits

Author SHA1 Message Date
Sebastian Dröge
edc7d9027e souphttpsrc: Add custom sticky event to contain the HTTP request and response headers
This can be useful to e.g. get cookie information downstream.

https://bugzilla.gnome.org/show_bug.cgi?id=729707
2014-05-28 09:20:21 +02:00
Edward Hervey
ce4bb3ffef vp8enc: Don't dereference NULL variable
CID #1139838
2014-05-20 08:24:48 +02:00
Edward Hervey
5263f91e13 vp9enc: Don't dereference NULL checks
CID #1197703
2014-05-20 08:24:48 +02:00
Sebastian Dröge
f5b2b6e696 flacdec: Add support for variable block size files and remove dead code
This dead code wasn't used since the 1.0 port and would need to
be modified heavily for variable block size support.

https://bugzilla.gnome.org/show_bug.cgi?id=729894
2014-05-10 09:30:16 +02:00
Sebastian Dröge
2a7abc98db souphttpsrc: Clean up all pending operations from libsoup before unreffing our context
When we cancel connection attempts and similar things, there are still
some operations pending on our main context from the GCancellables. We
should let them all run before unreffing our context, otherwise we leak
file descriptors.

Unfortunately this requires libsoup 2.47.0 or newer as earlier versions
steal our main context from us and we can't use it for cleanup later
without assertions and funny crashes.

Based on a patch by Dmitry Shatrov <shatrov@gmail.com>.

https://bugzilla.gnome.org/show_bug.cgi?id=663944
2014-05-08 10:18:38 +02:00
Vincent Penquerc'h
1da2fd457d vp9enc: do not dereference NULL pointer
Coverity 1197703
2014-05-05 14:33:38 +01:00
Olivier Crête
39bbccdf79 pulsedevicemonitor: Index are per facility, not global
So need to keep the type of device in the device object
2014-05-04 01:14:39 -04:00
Olivier Crête
6c8e42944a pulsedevicemonitor: pa_subscription_event_t are enums, not flags
Coverity 1195132
2014-05-04 01:14:39 -04:00
Vincent Penquerc'h
a6e7948711 vp8enc: guard against NULL pointer dereference
Coverity 1139838
2014-05-02 14:02:52 +01:00
Vincent Penquerc'h
d2f66f5394 flacdec: fix theoretical integer overflow
This code isn't actually used at the moment, unsure if I should
just remove it or not...

Coverity 1139811
2014-05-02 13:59:07 +01:00
Vincent Penquerc'h
74c93b8fc7 speexdec: remove dead code
fpp can never equal 0 here, or the loop would not execute at all.
Zero fpp was possible before as the loop condition was allowing
it specifically, but no more.

Coverity 1139681
2014-05-02 09:45:07 +01:00
Vincent Penquerc'h
14ceb5727c flacdec: remove dead code
For 8 bit width, we always have depth==gdepth==width==8.

Coverity 1139678
2014-04-30 18:06:40 +01:00
Sebastian Dröge
3b6c17c2b6 souphttpsrc: Remember if a redirect is permanent or not and store it in the query 2014-04-28 10:04:03 +02:00
Tim-Philipp Müller
c9597298f9 docs: remove outdated and pointless 'Last reviewed' lines from docs
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-26 23:35:17 +01:00
Rafał Mużyło
b32de2794b pngdec: enable libpng interlaced picture handling
Makes libpng deinterlace Adam7 interlaced pictures
by default. It is the only interlaced format available
and if the picture isn't interlaced the code should behave
as before.

https://bugzilla.gnome.org/show_bug.cgi?id=726161
2014-04-11 19:12:25 -03:00
Sebastian Dröge
37609c0a82 souphttpsrc: Only keep-alive the connection in stop() if we have finished all previous messages
After cancelling a request we need to create a new connection.
2014-04-11 13:30:53 +02:00
Edward Hervey
09ea92848b dvdec: Don't set bogus timestamp/duration
This will happen if we have an incoming stream with a non-TIME segment

Could be improved later to figure out proper pts/duration.

CID #1199702
CID #1199703
2014-04-11 11:54:12 +02:00
Edward Hervey
10feb2ba7d dvdec: Properly refuse incoming stream without framerate
The return value wasn't properly propagated back if the caps
didn't contain a framerate
2014-04-11 11:53:42 +02:00
Sebastian Dröge
847ba2a30d souphttpsrc: Also retry on unexpected network failures 2014-04-10 16:47:21 +02:00
Sebastian Dröge
037dfb6723 souphttpsrc: New property to specify the maximum number of retries before we give up 2014-04-10 16:47:07 +02:00
Alexander Zallesov
b089524b21 souphttpsrc: Change default timeout to 15 seconds
If nothing happens after 15 seconds, chances are good that
our connection will never will work. Stop after 15 seconds
instead of waiting until the system's default timeout, which
can be > 1 minute.
2014-04-10 11:11:35 +02:00
Sebastian Dröge
d918212e12 souphttpsrc: Use GST_FLOW_FLUSHING when flushing, not GST_FLOW_EOS
... and reset it properly after flushing is done. Fixes playback
in many cases when buffering is used.

https://bugzilla.gnome.org/show_bug.cgi?id=727821
2014-04-09 10:56:29 +02:00
Sebastian Dröge
94bfdc7a56 jpegdec: All frames are sync points 2014-03-26 08:03:46 +01:00
Sebastian Dröge
5eb4901a8c pngdec: All frames are sync points 2014-03-26 08:03:46 +01:00
Olivier Crête
019a0009af pulse: Add device monitors
https://bugzilla.gnome.org/show_bug.cgi?id=678402
2014-03-16 20:37:54 -04:00
Tim-Philipp Müller
5f0ea73d28 pulse: fix format info to caps conversion for mulaw 2014-03-16 15:55:00 +00:00
Olivier Crête
e714ab9dba pulse: Make gst_pulse_format_info_to_caps() shared
https://bugzilla.gnome.org/show_bug.cgi?id=678402
2014-03-16 15:28:29 +00:00
Sebastian Dröge
5d06735dbd souphttpsrc: Add properties for selecting SSL/TLS certificate checking
And by default properly check certificates against the system's CA
certificates. Everything else is not a good default at all.
2014-03-12 15:32:55 +01:00
Sebastian Dröge
ac83961033 souphttpsrc: Make sure to not return EOS immediately if we finished a range request
Only return EOS the next time create() is called, if at all. basesrc
should already take care of not calling it again.

Also always return immediately if the previous flow return was
not OK. This indicates an error somewhere.
2014-03-07 16:56:51 +01:00
Sebastian Dröge
9701051485 souphttpsrc: Don't forget to quit mainloop after we cancelled when we got data after the stop position 2014-03-06 13:38:09 +01:00
Sebastian Dröge
0c6f1ce998 souphttpsrc: If we had a stop position, allow for the server to finish our connection instead of just cancelling
Otherwise keep-alive does not make much sense and also the server will have
confusing things in the logs.
2014-03-06 13:36:38 +01:00
Thiago Santos
04bd422432 jpegdec: mark all parsed frames as sync points
all jpeg frames are sync points, so mark them as such so
reverse playback can properly work with the video decoder
base class

https://bugzilla.gnome.org/show_bug.cgi?id=725104
2014-02-27 19:08:15 -03:00
Stefan Sauer
117fa7c3e4 jack: add some simple log handlers for jack
Add log handlers for jack that write to the gst debug log. This avoids spamming
the console when e.g. using autoaudiosink, having the jack elements installed,
but not running jack.
2014-02-23 00:17:00 +01:00
Branislav Katreniak
6f1d4da8b4 souphttpsrc: do not emit error when connection with unknown size ends
Commit 46fd12ae5e introduced connection
recovery. But when server does not specify content-size,
souphttpsrc tries to reconnect even after regular end of stream.
Http server replies  with SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE
but souphttpsrc still emits error instead of EOS.

https://bugzilla.gnome.org/show_bug.cgi?id=724717

Signed-off-by: Branislav Katreniak <bkatreniak@nuvotechnologies.com>
2014-02-19 16:59:16 +01:00
Stefan Sauer
3abad7af66 pulsesink: fix crash when getting the current-device in NULL->READY
The "goto unlock" is wrong as in this code path we haven't take the lock yet.
Fixes #724619
2014-02-18 11:28:18 +01:00
Sebastian Dröge
fdb39a9f7b souphttpsrc: Use new automatic_eos API from basesrc
We want to notice ourselves that we're EOS. Otherwise we will
always cancel requests in the very end and confuse the server...
and also make it impossible to use persistent connections.
2014-02-13 12:09:13 +01:00
Sebastian Dröge
4dfad42e81 souphttpsrc: Consistently use have_size instead of content_size!=0 2014-02-13 11:11:13 +01:00
Sebastian Dröge
dde171ac30 souphttpsrc: Free extra headers when finalizing the element
It's set as property by the application, we should not just reset
properties when going back to READY.
2014-02-13 10:36:29 +01:00
Sebastian Dröge
a79f92ee9d souphttpsrc: Properly close the session when going back to NULL
Don't wait for that until the element is disposed.
2014-02-13 10:36:29 +01:00
Andoni Morales Alastruey
4d80d3fad9 souphttpsrc: add support for keep-alive sessions
https://bugzilla.gnome.org/show_bug.cgi?id=699926
2014-02-13 10:36:29 +01:00
Sebastian Dröge
106bc2b17b souphttpsrc: Add "compress" property to enable/disable automatic gzip/deflate content encoding handling 2014-02-12 13:00:13 +01:00
Sebastian Dröge
9cac68709a souphttpsrc: Retry connection if we're finished before the content size only if we actually have a content size
https://bugzilla.gnome.org/show_bug.cgi?id=722185
2014-02-12 12:39:10 +01:00
Sebastian Dröge
436d41fa8e souputils: Fix compiler warning
gstsouputils.c:35:25: error: comparison of constant 9 with expression of type
      'SoupLoggerLogLevel' is always false
      [-Werror,-Wtautological-constant-out-of-range-compare]
2014-02-12 10:08:50 +01:00
Reynaldo H. Verdejo Pinochet
4f42fff349 souphttp*: add ability to do HTTP session logging
This changeset adds the loggin infrastructure and
mods both souphttpsrc and souphttclientsink to use it.

https://bugzilla.gnome.org/show_bug.cgi?id=721764
2014-02-11 17:50:44 -03:00
Sebastian Dröge
cf31a4284b souphttpsrc: Add mapping for NOT_FOUND and NOT_AUTHORIZED errors 2014-02-11 13:25:46 +01:00
Sebastian Dröge
5514bc2785 souphttpsrc: Don't duplicate status_code to GStreamer error mapping 2014-02-11 13:25:22 +01:00
Sebastian Dröge
fd55cb324d id3v2mux: Fix another compiler warning 2014-02-08 21:01:32 +01:00
Sebastian Dröge
f299fc899c id3v2mux: Fix unitialized variable compiler warning
error: variable 'image_type' is used uninitialized
whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
2014-02-08 17:27:51 +01:00
Tim-Philipp Müller
85501e6c2a flacenc: order format in template caps by preference
To minimise risk of bad fixation, though audioconvert
at least should be smart enough to avoid it.
2014-02-04 21:26:56 +01:00
Rafał Mużyło
ac4df5e2c5 gst: Don't use endianness-specific S8 audio format
It does not exist.

https://bugzilla.gnome.org/show_bug.cgi?id=723331
2014-02-04 13:44:29 +01:00
Julien Isorce
90b01fce61 cairooverlay: add support for RGB16
https://bugzilla.gnome.org/show_bug.cgi?id=723289
2014-01-31 14:17:54 +00:00
Tim-Philipp Müller
4480a25844 shout2send: error out if no caps were received
Instead of assuming that input is ogg.
2014-01-21 10:56:19 +00:00
Tim-Philipp Müller
d7210befdc shout2send: accept audio/webm, audio/ogg and video/ogg as well
Those are advertised in the template caps, but the
setcaps handler didn't handle them. But then oggmux
and oggparse at least for now still always output
application/ogg anyway, so that wasn't a real problem.
2014-01-21 00:49:44 +00:00
Reynaldo H. Verdejo Pinochet
0e159e3b03 souphttpsrc: use status code macro instead of 407
Rest of the code is using the _PROXY_AUTHENTICATION_REQUIRED
macro too. Easier to understand if you don't recall HTTP
error codes by heart.
2014-01-03 14:15:59 -03:00
Reynaldo H. Verdejo Pinochet
ac7d346355 shout2send: change audio_format field to format
This element and the underlying libshout2 library
can handle video media files too. The code already
handles video/webm so the name gets confusing. Also
add and use DEFAULT_FORMAT macro Instead of hardwiring
SHOUT_FORMAT_VORBIS at init

https://bugzilla.gnome.org/show_bug.cgi?id=721342
2014-01-03 14:15:59 -03:00
Reynaldo H. Verdejo Pinochet
667c803730 shout2send: clarify meaning of the URL prop
https://bugzilla.gnome.org/show_bug.cgi?id=721342
2014-01-03 14:15:59 -03:00
Reynaldo H. Verdejo Pinochet
e6321ecb74 shout2send: docs, add a sample pipeline
And finish adding shout2send to the docs while at it

https://bugzilla.gnome.org/show_bug.cgi?id=721342
2014-01-03 14:15:59 -03:00
Reynaldo H. Verdejo Pinochet
4182f42f7b gdkpixbufoverlay: remove spurious @see_also 2014-01-03 14:15:59 -03:00
Reynaldo H. Verdejo Pinochet
9dd6e22ba9 shout2send: drop IP only requirement for _set_host()
libshout2 (we require > 2.0 at config time) supports
both IP and hostname for _set_host(). Dropped an
outdated FIXME regarding this limitation, adjusted
some comments and changed the param blurb to reflect
this too.
2013-12-27 01:31:33 -03:00
Reynaldo H. Verdejo Pinochet
786f87ef30 shout2send: Retarget FIXME to 2.0 2013-12-27 01:31:20 -03:00
Sebastian Dröge
92c3211c79 id3v2mux: Set picture type in the APIC frames 2013-12-16 16:17:07 +01:00
Sebastian Dröge
d60ac3cfea id3v2mux: Set image-description from the info struct, not the caps 2013-12-16 16:14:52 +01:00
Sebastian Dröge
d9deb95012 wavpackdec: Require caps to be set before accepting any data 2013-12-05 12:15:19 +01:00
Sebastian Dröge
c880e36779 speexdec: Require caps to be set before accepting any data 2013-12-05 12:13:33 +01:00
Sebastian Dröge
774e56b051 flacdec: Require caps to be set before accepting any data 2013-12-05 12:13:10 +01:00
Sebastian Dröge
5c8163a685 vpx: Use new gst_video_decoder_set_needs_format() API 2013-12-05 11:42:34 +01:00
Olivier Crête
dc782af133 pulsesink: Free device_info in accepts caps
https://bugzilla.gnome.org/show_bug.cgi?id=719811
2013-12-04 16:24:06 -05:00
Thiago Santos
6bb6a5cdf4 jpegdec: deprecate max-errors
The property wasn't use internally, let the base class handle the
number of errors to tolerate.
2013-11-25 11:58:58 -03:00
Thiago Santos
be2f2f196a jpegdec: let the base class decide when to return an error
The base videodecoder class has an error counting feature to tolerate
a few errors before posting an error message. So don't force the
error and let the base class decide when it should happen

https://bugzilla.gnome.org/show_bug.cgi?id=710762
2013-11-25 11:03:34 -03:00
Thiago Santos
673b8ca1c1 jpegdec: Add data skipping on input
Add missing bytes skipping when bad input is received.

https://bugzilla.gnome.org/show_bug.cgi?id=710762
2013-11-25 11:03:26 -03:00
Tim-Philipp Müller
d9c2914c90 g_memmove() is deprecated
Just use plain memmove(), g_memmove() is deprecated in
recent GLib versions.

https://bugzilla.gnome.org/show_bug.cgi?id=712811
2013-11-21 15:30:34 +00:00
Tim-Philipp Müller
d506409af5 docs: get rid of 'Since: 0.10.x' markers
And some gtk-doc markup fixes.
2013-11-18 14:47:35 +00:00
Sebastian Dröge
4f288a5234 wavpackenc: Fix writing of MD5 sums and other metadata blocks
These don't have the FINAL_BLOCK flag set.
2013-10-31 19:15:12 +01:00
Djalma Lúcio Soares da Silva
a22d61007a hdv1394src: Make it possible to select a camera by its GUID
The source hdv1394src has the guid property that permits select a camera
connected from its GUID number.
However when this property is setted the selected camera is not changed.
The source continues using the default camera.

This problem was solved using the function iec61883_cmp_connect.
The reference for the function could be found here:
http://www.dennedy.org/libiec61883/API-iec61883-cmp-connect.html

The solution came from dvgrab source code.

https://bugzilla.gnome.org/show_bug.cgi?id=710415
2013-10-31 17:26:08 +01:00
Thiago Santos
856c07ea00 souphttpsrc: do not emit EOS when connection drops
If the pipeline is stalled for too long, souphttpsrc will block and
stop fetching data from the network. This can cause the connection to
drop and souphttpsrc would handle it as an EOS. This patch makes it
persist and try to fetch more data until the end of the content length
or until receiving an error that it is beyong limits in case the content
is unknown.

https://bugzilla.gnome.org/show_bug.cgi?id=683536
2013-10-11 16:10:16 -03:00
Sebastian Dröge
c65a8881f9 dvdec: Don't send segment event before caps
https://bugzilla.gnome.org/show_bug.cgi?id=709728
2013-10-10 13:52:35 +02:00
Sebastian Dröge
fa399bf834 dvdemux: Send stream-start, caps and segment events in the right order
https://bugzilla.gnome.org/show_bug.cgi?id=709728
2013-10-09 17:46:33 +02:00
Matthieu Bouron
e5c443594f jpegdec: Relax sink caps
Since jpegdec already parse the jpeg stream, the sink caps could be
relaxed. This will allow jpegdec to be selected in more case and in
particular when the jpeg typefinder does not find the width and height.

https://bugzilla.gnome.org/show_bug.cgi?id=709352
2013-10-04 10:33:13 +02:00
Thiago Santos
c84282b9a6 souphttpsrc: do not do http requests in READY
HEAD requests to discover if the server is seekable shouldn't be done in
READY as it might lock the main thread that is doing the state change.

https://bugzilla.gnome.org/show_bug.cgi?id=705371
2013-09-18 18:36:38 +02:00
Tim-Philipp Müller
1dfc1f2686 Don't use setlocale in plugins()
Only apps should call setlocale(), not libraries.
2013-09-01 21:18:38 +01:00
Olivier Crête
e00b8f0a4a pulsesink: Add property to find out the device currently in use
https://bugzilla.gnome.org/show_bug.cgi?id=590768
2013-08-22 15:03:29 -04:00
Olivier Crête
d379e237c1 pulsesink: De-duplicate code to get the current sink input info
https://bugzilla.gnome.org/show_bug.cgi?id=590768
2013-08-22 14:37:28 -04:00
Olivier Crête
8f9fbfa992 pulsesink: Implement changing the device while playing
https://bugzilla.gnome.org/show_bug.cgi?id=590768
2013-08-22 14:25:30 -04:00
Olivier Crête
691b04e5c9 pulsesrc: Add property to find out the device currently in use
https://bugzilla.gnome.org/show_bug.cgi?id=590768
2013-08-22 13:32:04 -04:00
Olivier Crête
d56f4718c2 pulsesrc: De-duplicate code to get the current source output info
https://bugzilla.gnome.org/show_bug.cgi?id=590768
2013-08-22 13:32:04 -04:00
Olivier Crête
c3642e3ecf pulsesrc: Implement changing the device while playing
https://bugzilla.gnome.org/show_bug.cgi?id=590768
2013-08-22 13:32:04 -04:00
Akihiro Tsukada
fda72021d2 pulsesink: Add support for AAC pass-through
https://bugzilla.gnome.org/show_bug.cgi?id=694445
2013-08-21 21:48:56 +02:00
Kishore Arepalli
1e917822a9 gdkpixbufoverlay: crashes if any property changes during playback when location property is not set
https://bugzilla.gnome.org/show_bug.cgi?id=702988
2013-08-21 21:42:02 +02:00
Olivier Crête
db84b928a3 pulse: Share static caps definition between src and sink
The src was also missing 24-bit sample formats
2013-08-21 15:23:12 -04:00
Tim-Philipp Müller
cebfacd1fa jpegenc: don't ignore return value from _finish_frame()
gst_video_encoder_finish_frame() will return FLOW_OK here if
there's no output buffer.
2013-08-21 13:05:00 +01:00
Olivier Crête
dd5d93f0f6 pulse: Remove unused GstPulseProbe 2013-08-19 12:56:27 -04:00
Sebastian Dröge
de7e1cb6dd flacenc: Properly set headers via the base class instead of just pushing them downstream
Prevents buffers from being send before the caps and segment events.
2013-08-16 13:26:50 +02:00
Sebastian Dröge
b1e442236f ext: Use new flush vfunc of video codec base classes and remove reset implementations 2013-08-15 15:08:05 +02:00
Tim-Philipp Müller
604bfa586e soup: don't use deprecated soup_message_headers_get() API 2013-08-14 11:54:19 +01:00
Andoni Morales Alastruey
24b4ea3418 souphttpsrc: fix critical setting a NULL uri redirection 2013-08-13 12:02:29 +02:00
Andoni Morales Alastruey
b9faeab236 souphttpsrc: add redirection to the URI query 2013-08-12 16:40:26 +02:00
Sebastian Dröge
c12c9e7632 flacenc: Fix handling of image tags
The caps should be used to get the mimetype and there is
only an info structure for the GstSample if the image-type
is not NONE.
2013-07-28 18:09:33 +02:00
Sebastian Dröge
2fa5c708f3 flacenc: Don't crash if there is no image tag information
https://bugzilla.gnome.org/show_bug.cgi?id=705018
2013-07-28 18:04:32 +02:00
Arnaud Vrac
e67655608c souphttpsrc: always ignore HEAD errors
https://bugzilla.gnome.org/show_bug.cgi?id=704241
2013-07-25 18:01:30 +02:00
Sebastian Dröge
ef4a21253b jpegenc: Clean up reset/start/stop handling 2013-07-25 14:26:37 +02:00