Commit graph

2637 commits

Author SHA1 Message Date
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
Sebastian Dröge
4944183061 jpegdec: Use base class error handling function instead of replicating it here 2013-07-25 14:26:37 +02:00
Sebastian Dröge
6f39f5d49f jpegdec: Clean up handling of reset/start/stop 2013-07-25 14:26:37 +02:00
Sebastian Dröge
c123519fed dvdemux: Add support for group-id in the stream-start event 2013-07-22 15:30:12 +02:00
Arnaud Vrac
37458a4a17 vpx: fix compilation when encoder or decoder headers are not installed
https://bugzilla.gnome.org/show_bug.cgi?id=704547
2013-07-19 14:21:28 +02:00
Wim Taymans
5750a67765 sink: alaw/mulaw caps don't have a layout property 2013-07-12 12:32:42 +02:00
Wim Taymans
8248ff8232 pulse: relax mulaw and alaw format checks
The audio library considers them as encoded formats and does not fill in the
sample width. The audio ringbuffers identifies the format as alaw/mulaw and that
is always 8 bits.
2013-07-12 12:32:42 +02:00
Thiago Santos
9a7321872f souphttpsrc: ignore errors from HEAD request
HEAD requests are used to check the server headers to see if it
seekable. Ignore errors from those requests as they shouldn't be
critical.

https://bugzilla.gnome.org/show_bug.cgi?id=704053
2013-07-12 10:01:26 +02:00
Andoni Morales Alastruey
66dbe3151a souphttpsrc: also consider stop positions in seeks
Use seek stop position as range end for requests

https://bugzilla.gnome.org/show_bug.cgi?id=702206
2013-07-01 13:55:13 -03:00
Thiago Santos
5bc5f4a0f6 souphttpsrc: allow seeks in ready
On is_seekable, check if the server's headers have already been
received. If not, do a HEAD request to get them before responding
to basesrc.

https://bugzilla.gnome.org/show_bug.cgi?id=702206
2013-07-01 13:55:13 -03:00
Kishore Arepalli
5d98c9d500 gdkpixbufoverlay: Allow negative offsets to specify offset from bottom/right
https://bugzilla.gnome.org/show_bug.cgi?id=702826
2013-07-01 13:08:39 +02:00
Sebastian Dröge
943520382f vp8dec: Error out gracefully if we get an unsupported color format
In theory we can only get I420 though, just to be on the safe side.
2013-06-22 10:59:17 +02:00
Sebastian Dröge
9b7a6a3f90 vp9: Add support for YV12, Y42B and Y444 color formats
The encoder does not work with Y42B and Y444 yet it seems.
2013-06-22 10:57:41 +02:00
Sebastian Dröge
9788976fd4 vp9dec: Update default postproc settings from vp9_dx_iface.c 2013-06-22 10:26:18 +02:00
Sebastian Dröge
f67af2936f vpx: Add initial, experimental VP9 support 2013-06-21 18:22:12 +02:00
Arun Raghavan
7486e2fc53 Revert "pulsesink: Make 2.0 dependency optional"
This reverts commit 01457027e0.

We'll just depend on PulseAudio 2.0 or above instead of having the bug
partially fixed based on the installed libpulse version.
2013-06-13 14:23:08 +05:30
Arun Raghavan
01457027e0 pulsesink: Make 2.0 dependency optional
The getcaps function we added uses some pa_format_info_get_prop...
accessor functions that were only added in 2.0, so we only have our
getcaps implementation exist if we're compiling against libpulse 2.0 or
above.

Eventually, we could bump the minimum requirement to 2.0 or above.

https://bugzilla.gnome.org/show_bug.cgi?id=686459
2013-06-13 12:44:32 +05:30
Arun Raghavan
c7e65777e1 pulsesink: Cache the getcaps/acceptcaps probe stream
getcaps is called frequently during stream setup, and creating a new
stream each time is very inefficient. There's some more room for
optimisation by caching the queried sink formats as well, but this needs
some more changes to listen for format changes on the sink (for when
supported formats change between probe stream creation and sink
querying).

https://bugzilla.gnome.org/show_bug.cgi?id=686459
2013-06-10 13:05:43 +05:30
Arun Raghavan
14e784f9fc pulsesink: Add a getcaps function
This allows us to have more fine-tuned caps in READY or above. However,
this is _really_ inefficient since we create a new stream and query sink
for every getcaps in READY, which on a simple gst-launch line happens
about 35 times. The next step is to cache getcaps results.

https://bugzilla.gnome.org/show_bug.cgi?id=686459
2013-06-10 13:05:24 +05:30
Arun Raghavan
84238d3ea4 pulsesink: Take a lock on the ringbuffer in acceptcaps
This is needed as a concurrent state change could pull the context or
stream out from under our feet.

https://bugzilla.gnome.org/show_bug.cgi?id=686459
2013-06-10 13:05:16 +05:30
Sebastian Dröge
bae53878e6 png: Link with libgstbase for GstByteReader and GstAdapter 2013-06-07 15:38:25 +02:00
Arun Raghavan
e5fad95306 pulsesink: Get rid of acceptcaps side-effects
The sink info callback should not have side-effects on the GstPulseSink
object since we are sometimes using with a dummy stream in acceptcaps.

https://bugzilla.gnome.org/show_bug.cgi?id=686459
2013-06-06 16:15:48 +05:30
Sebastian Dröge
f287756f87 gdkpixbufdec: Keep serialized events in order, and don't send SEGMENT before CAPS 2013-05-28 15:47:38 +02:00
Tom Greenwood
5532989728 vp8enc: Add property to manually specify the timebase of the encoder
https://bugzilla.gnome.org/show_bug.cgi?id=695709
2013-05-26 10:23:08 +02:00
Thiago Santos
a8460654d5 jpegdec: fix compiler warning on type check 2013-05-07 19:29:17 -03:00
Sebastian Dröge
8ca4a47cdc jpegdec: By default assume that we're working on non-packetized input
Only detecting this in set_format() does not work because we might
not get any caps at all, e.g. from filesrc.
2013-05-07 16:32:03 +02:00
Sebastian Dröge
0392a0dc3d pngdec: Implement parsing functionality
This allows to plug pngdec directly without a parser if that
is desired.

Parsing code is based on pngparse.
2013-05-07 16:31:59 +02:00
Sebastian Dröge
797ebfc32b cacasink: Fix support for RGB formats and add support for more of them 2013-05-07 15:54:24 +02:00
Sebastian Dröge
c43e7001ab souphttpsrc: Don't consider the content size from the HTTP headers as absolutely correct
The HTTP server could give wrong information, e.g. if the HTTP stream is
chunk-encoded or compressed, or if the server does not know the complete size
at the time when the file is requested by the client.

Also see
https://bugs.webkit.org/show_bug.cgi?id=115354
2013-05-04 13:22:04 +02:00
Arun Raghavan
cc5562a8d9 pulsesink: Better error message when server version is too old
We check for the library version at configure time, but the server
version can only really be checked at run-time.

https://bugzilla.gnome.org/show_bug.cgi?id=698768
2013-04-29 11:54:26 +05:30
Stefan Sauer
7e3793e378 flactag: forward caps event
This ensures that the downstream element will get the event and negotiates. Add
a FIXME for updating the streamheader field on th caps.
2013-04-17 21:12:55 +02:00
Stefan Sauer
ddedf6b797 flac: add more logging 2013-04-17 20:29:02 +02:00
Philippe Normand
d975a70f12 souphttpsrc: fix SCHEDULING query support
Chain the query up to parent before adding _BANDWIDTH_LIMITED flag,
so that all the other flags get set, and push mode gets added as
supported activation mode.

https://bugzilla.gnome.org/show_bug.cgi?id=693484
https://bugzilla.gnome.org/show_bug.cgi?id=698156
2013-04-16 19:53:18 +01:00
Philippe Normand
b857cb38dd souphttpsrc: basic scheduling query support
Answer to scheduling queries with default parameters and the new
_BANDWIDTH_LIMITED_FLAG so that downstream is advised to minimize seek
operations and perform on-disk buffering if possible.

Bug 693484
2013-04-16 16:46:20 +02:00
Sebastian Dröge
b0b0557c48 gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
Tim-Philipp Müller
24bc3c46f9 souphttpsrc: add back "iradio-mode" property to disable sending of icecast request headers
In 1.0 we now always send the icecast request headers by default, which
makes the server send icecasts metadata inserted into the stream if it
supports that. However, there are some use cases where this is not
desirable, like when just saving a radio stream to disk, so add back
the "iradio-mode" property to allow people to disable this.

https://bugzilla.gnome.org/show_bug.cgi?id=697984
2013-04-14 12:39:28 +01:00
Stefan Sauer
33752425e7 pulsesink: add a little more docs to the audioclock 2013-04-11 20:47:18 +02:00
Thibault Saunier
c82102b158 gdkpixbufsink: Add timestamp/running-time/stream-time to the emited message 2013-04-06 15:10:06 -03:00
Tom Greenwood
3d335cb1ed vp8dec: Improve logging when vpx_codec_peek_stream_info fails
Decode failures and missing keyframes should get different debug
output.

https://bugzilla.gnome.org/show_bug.cgi?id=697232
2013-04-04 11:48:53 +02:00
Stefan Sauer
ce06005f2a flacenc: remove old since comments and update logging
Don't pretend that we have a timestamp on a buffer when we never set one.
2013-04-03 20:30:09 +02:00
Tom Greenwood
4d0542220e vp8enc: Fix for divide by zero when using 0/1 framerate
https://bugzilla.gnome.org/show_bug.cgi?id=695709
2013-03-25 10:05:25 +01:00
Tim-Philipp Müller
83f9cfb928 flacenc: add more example pipelines 2013-03-23 13:11:02 +00:00
David Schleef
220d341b77 pngenc: unmap source frame when done 2013-03-22 15:19:19 -07:00
Kishore Arepalli
3b943a56da dvdemux: don't return FALSE when dropping sink events
Fixes problem in conjunction with avidemux.

https://bugzilla.gnome.org/show_bug.cgi?id=695643
2013-03-12 09:48:31 +00:00
Arun Raghavan
35f3bea558 pulsesink: Update segdone periodically
This makes sure that we update segdone based on the read index received
during latency updates. As the comment notes, we make some compromises
to deal with the fact that segdone is a segment multiple, while the read
index offers finer granularity. The updates are also not very often
(100ms since that is how often automatic timing updates are provided).

All this is required for the baseaudiosink sample alignment code to work
at all.

https://bugzilla.gnome.org/show_bug.cgi?id=694257
2013-02-23 09:26:19 +05:30
Tim-Philipp Müller
048d256041 souphttpsrc: set SOUP_VERSION_{MIN_REQUIRED,MAX_ALLOWED} to suppress deprecations with newer versions
https://bugzilla.gnome.org/show_bug.cgi?id=693911
2013-02-16 16:49:22 +00:00
Tim-Philipp Müller
a3e1db1292 soup: use default proxy resolver instead of deprecated GNOME proxy resolver
Apparently there's no reason to use it any longer. Drop libsoup-gnome
dependency while at it, now that we don't need anything from it any
more (it only consists entirely of deprecated API now anyways).

https://bugzilla.gnome.org/show_bug.cgi?id=693911
2013-02-16 15:48:06 +00:00
Tim-Philipp Müller
24cdefcb75 jpegdec: remove sof-marker from template caps for now
Now that the subset check actually works, this breaks
things with demuxers that don't put a "sof-marker"
in their jpeg caps, and we don't have a good parser
to plug either yet.
2013-02-14 14:15:34 +00:00
Sebastian Dröge
af5c3fe312 jpegenc: Put the SOF marker into the caps 2013-02-13 12:32:10 +01:00
Tim-Philipp Müller
0c9b039c22 pulsesink: don't error out if pa_stream_proplist_update() with new tags fails
Shouldn't really happen these days, but if it does, it's not really
a problem either.

https://bugzilla.gnome.org/show_bug.cgi?id=656068
2013-01-19 13:27:48 +00:00
Norbert Waschbuesch
c00b142f44 souphttpsrc: error out properly when receiving data along with an error status
When receiving an error code from the http server, such as 404,
data might be sent along with it, like a web page. We don't want
to output that data in this case, and we also want to pass the
FLOW_ERROR return back to the base class, so it can stop properly.

https://bugzilla.gnome.org/show_bug.cgi?id=678429
2013-01-01 19:11:42 +00:00
Tim-Philipp Müller
e3dbf9e256 cairo: remove old cairo-based text renderering element
They haven't worked well or at all in a very long time
and were rather bit-rotten, and there's no need for them
any more.
2013-01-01 12:12:02 +00:00
Tim-Philipp Müller
08702be68f cairo: port cairooverlay to 0.11
The other elements are not that interesting now that we're
using pangocairo in the pango plugin, and should probably
just be removed.
2013-01-01 11:52:09 +00:00
Wim Taymans
441cfeb2ce 1394clock: mark our clock type as OTHER 2012-12-20 16:44:24 +01:00
Wim Taymans
30f5125fca jpegenc: pass flowreturn upstream 2012-12-20 15:55:02 +01:00
Thijs Vermeir
9b8a3a40ce wavpack: use appropriate printf format for gsize 2012-12-18 16:02:09 +01:00
Thijs Vermeir
2bf798b11e taglib: use appropriate printf format for gsize 2012-12-18 16:02:09 +01:00
Thijs Vermeir
8e9dc9491a gdkpixbuf: use appropriate printf format for gsize 2012-12-18 16:02:09 +01:00
Sebastian Dröge
0726b71ceb ext/sys: Fix some compilation errors caused by circular includes 2012-12-12 17:35:04 +00:00
Tim-Philipp Müller
81b9e197df shout2send: accept audio/webm as well as video/webm
https://bugzilla.gnome.org/show_bug.cgi?id=689336
2012-11-30 17:23:23 +00:00
Sebastian Dröge
9ad88d265c vp8enc: Don't leak GstVideoCodecFrames that cause the creation of invisible frames
Fixes bug #682714.
2012-11-12 13:01:23 +01:00
Sebastian Dröge
5e9adc4936 pulse: Use new GType for GThread instead of just G_TYPE_POINTER 2012-11-12 11:47:43 +01:00
Sebastian Dröge
63fd591044 pngdec: Actually use the stop() vfunc implementation 2012-11-12 10:44:01 +01:00
Sebastian Dröge
dc5db0e980 vp8dec: Fix last commit 2012-11-12 10:31:59 +01:00
Sebastian Dröge
f37fca4e00 pngdec: Keep the input state in reset()
It's still valid after a flush and we might not get a new one.
2012-11-12 10:11:32 +01:00
Sebastian Dröge
ef2cc91eb9 vp8dec: Also destroy decoder in set_format() if it was created already
Fixes a memory leak.
2012-11-12 10:11:32 +01:00
Sebastian Dröge
bd0ef7fec3 vp8dec: Don't clear input state in reset()
The input state is still valid after flushing until
new caps arrive.

Fixes bug #688092.
2012-11-12 10:11:32 +01:00
Debarshi Ray
8a4a6b770f vp8dec: Don't give up so easily if failed to decode a frame
https://bugzilla.gnome.org/show_bug.cgi?id=687436
2012-11-09 16:43:58 +01:00
Debarshi Ray
8c44361bca speexdec: Don't unmap or finish_frame an invalid GstBuffer
https://bugzilla.gnome.org/show_bug.cgi?id=687464
2012-11-06 19:49:50 +00:00
Tim-Philipp Müller
230cf41cc9 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Sebastian Dröge
f0640f205c vp8dec: Immediately return if opening the decoder failed
Instead of ignoring any errors.
2012-11-02 09:34:25 +01:00
Debarshi Ray
3c216600f5 vp8dec: Short circuit gst_vp8_dec_handle_frame if keyframe is missing
https://bugzilla.gnome.org/show_bug.cgi?id=687376
2012-11-02 09:34:08 +01:00
Tim-Philipp Müller
cd9706e9e9 pulsesrc: don't assert in get_time() when called after shutdown
Which might happen if the source gets set to NULL state before
the rest of the pipeline.

https://bugzilla.gnome.org/show_bug.cgi?id=686985
2012-10-30 23:26:39 +00:00
Antoine Tremblay
a1c86de09a gst: add various missing GST_PLUGINS_BASE_LIBS in Makefile.am
Those plugins depend on either libgstaudio or libgstvideo,
which are in gst-plugins-base.

https://bugzilla.gnome.org/show_bug.cgi?id=687013
2012-10-27 23:26:41 +01:00
Sebastian Dröge
69246dfef7 pulsesink: Flush the ringbuffer on GAP events without duration
This is required to properly start the ringbuffer and clock.
2012-10-24 11:19:52 +02:00
Oleksij Rempel
83a47cdd0e vp8enc: set DECODE_ONLY flag on invisible AltRef frames
https://bugzilla.gnome.org/show_bug.cgi?id=654216
2012-10-23 16:14:43 +01:00
Tim-Philipp Müller
5ab46eff83 pulsesink: fix caps leak in acceptcaps function 2012-10-20 11:32:27 +01:00
Tim-Philipp Müller
d2fdc26c38 pulsesink: in accept_caps() check if ring buffer is NULL before de-referencing
And sprinkle some thread-safety (take object lock for
accessing ring buffer, and pa main loop lock for the
context).

https://bugzilla.gnome.org/show_bug.cgi?id=683782
2012-10-19 15:11:07 +01:00
Tim-Philipp Müller
9dcdc413a7 jpeg, png, vpx: use gst_element_class_set_static_metadata()
Avoids some string copies.
2012-10-17 17:03:39 +01:00
Sebastian Dröge
7ceef442a7 vp8enc: And this time fix the default target-bitrate value for real 2012-10-15 15:36:04 +02:00
Sebastian Dröge
1962384cff vp8enc: Fix default target-bitrate value 2012-10-15 15:32:22 +02:00
Sebastian Dröge
2dc8425f03 dvdemux: The convert and duration queries are not supposed to change the format 2012-09-27 11:03:28 +02:00
Edward Hervey
e39fd693d7 vp8enc: Disable GLIB deprecation warnings
GValueArray has been deprecated since 2.32 ... but there's no usable
replacement for it.

See https://bugzilla.gnome.org/show_bug.cgi?id=667228
2012-09-25 14:47:25 +02:00
Arun Raghavan
027cc0e463 pulsesrc: Mute stream post-connection if required
A bug in PulseAudio causes PA_STREAM_START_MUTED to be rejected on
record streams. Until this is fixed upstream, we mute the stream
manually at startup. Based on a patch by Alban Browaeys
<prahal@yahoo.com>.

https://bugzilla.gnome.org/show_bug.cgi?id=684469
2012-09-21 16:58:43 +08:00
Arun Raghavan
f46475ee37 pulsesink: Specify endianness in IEC 61937 payloading
Corresponds to an API change in gst-plugins-base.

https://bugzilla.gnome.org/show_bug.cgi?id=678021
2012-09-19 09:18:19 +05:30
Sebastian Dröge
ee295d3fd5 vp8enc: Correctly finish frames
Previously we would always get the same frame if multiple frames are pending,
leaking memory of the previous frames and breaking timestamps.
2012-09-17 09:48:56 +02:00
Sebastian Dröge
3e86ea8fb5 vp8enc: Allow changing bitrate and other parameters during playback
Fixes bug #648276.
2012-09-17 09:40:41 +02:00
Sebastian Dröge
4815036708 vp8enc: Store configuration in the vpx_codec_enc_cfg_t struct instead of duplicating all variables
Also protect encoder with a mutex.
2012-09-17 09:29:26 +02:00
Sebastian Dröge
8ed85c7538 vp8enc: Update documentation to reflect new property names
...and also link to the WebM encoder parameters website.
2012-09-16 16:03:06 +02:00
Sebastian Dröge
acd0824cf6 vp8enc: Make some property names more readable 2012-09-16 15:58:51 +02:00
Sebastian Dröge
d4eaa932e5 vpx: Integrate into the build system 2012-09-16 15:43:39 +02:00
Sebastian Dröge
2a4e3d2110 vpx: Rename vp8 plugin to vpx
This is using libvpx, which can support more codecs than just VP8
and will likely support future codecs.
2012-09-16 15:33:57 +02:00
Sebastian Dröge
eed915b05e vp8: Apply remaining changes that got lost while moving the plugin via git am thanks to merges 2012-09-16 15:32:24 +02:00
Sebastian Dröge
c4e0aff12b [MOVED FROM BAD 134/134] vp8dec: Unref input/output states when stopping the decoder 2012-09-16 15:32:04 +02:00
Sebastian Dröge
9c0ff2f381 [MOVED FROM BAD 133/134] vp8enc: Update realtime profile to the new properties 2012-09-16 15:32:04 +02:00
Sebastian Dröge
b9ba9a28da [MOVED FROM BAD 132/134] vp8: Require latest libvpx release (1.1.0 from May 2012)
Fixes bug #684116 and simplifies configure checks.
2012-09-16 15:32:04 +02:00
Sebastian Dröge
711ae3c94b [MOVED FROM BAD 131/134] vp8enc: Use a string field for the profile in the caps
Just for consistency with all the other codecs.
2012-09-16 15:32:04 +02:00
Sebastian Dröge
1639d1e150 [MOVED FROM BAD 130/134] vp8enc: Correctly set profile in caps 2012-09-16 15:31:57 +02:00
Sebastian Dröge
35520df7c0 [MOVED FROM BAD 129/134] vp8: Update copyright and authors 2012-09-16 15:31:57 +02:00
Sebastian Dröge
392bd12a45 [MOVED FROM BAD 128/134] vp8enc: Rework encoder properties to be more in line with the libvpx tools and API
Also add all available properties.
2012-09-16 15:31:57 +02:00
Mark Nauwelaerts
c70dc304f4 [MOVED FROM BAD 127/134] replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-16 15:31:48 +02:00
Edward Hervey
210742d934 [MOVED FROM BAD 126/134] vp8dec: Call gst_video_decoder_negotiate() 2012-09-16 15:31:38 +02:00
Sebastian Dröge
d61c1e9e02 [MOVED FROM BAD 125/134] vp8dec: Add support for multiple decoding threads 2012-09-16 15:31:38 +02:00
Sebastian Dröge
59d906b6c3 [MOVED FROM BAD 124/134] vp8dec: Add support for the MFQE postprocessing flag
Which is enabled by default if postprocessing is enabled.
2012-09-16 15:31:27 +02:00
Sebastian Dröge
58e8efb6f7 [MOVED FROM BAD 123/134] vp8: Use pkg-config file for getting the LIBS and CFLAGS 2012-09-16 15:31:27 +02:00
Sebastian Dröge
26f1269486 [MOVED FROM BAD 122/134] vp8enc: Update the per-component strides for every frame too
This is necessary because of GstVideoAlignment
2012-09-16 15:31:10 +02:00
Oleksij Rempel
4cb020932c [MOVED FROM BAD 121/134] vp8enc: initiate encoder to fix a crash.
Without this patch vp8enc send header before and after first
key frame. On second keyframe vp8dec will crash without getting
decoded frame. With this pipe it is easy to reproduce this issue:
gst-launch-1.0 videotestsrc ! vp8enc ! vp8dec ! fakesink

https://bugzilla.gnome.org/show_bug.cgi?id=680667
2012-09-16 15:31:10 +02:00
Sebastian Dröge
16db1b677a [MOVED FROM BAD 120/134] tag: Update for taglist/tag event API changes 2012-09-16 15:31:10 +02:00
Sebastian Dröge
1fdf044acf [MOVED FROM BAD 119/134] ext: Update for video base classes API changes 2012-09-16 15:31:10 +02:00
Oleksij Rempel
2d7cbc8113 [MOVED FROM BAD 118/134] vp8enc: fix memory leak
unref frame. i hope it is correct place to do it.

Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
2012-09-16 15:31:10 +02:00
Wim Taymans
c45fcd0f01 [MOVED FROM BAD 117/134] update for query api changes 2012-09-16 15:31:10 +02:00
Wim Taymans
365557edc1 [MOVED FROM BAD 116/134] update for query api changes 2012-09-16 15:31:10 +02:00
Wim Taymans
af3ddea42d [MOVED FROM BAD 115/134] update for allocation query changes 2012-09-16 15:31:10 +02:00
Vincent Penquerc'h
c76f4fe3ef [MOVED FROM BAD 114/134] vp8: fix codec state leaks
I only tested that vp8enc ! vp8dec does not crash, as valgrind does not grok
at least one of the instructions used by vp8enc, preventing me from checking
a leak, and the lack of one after the patch.
2012-09-16 15:31:10 +02:00
Wim Taymans
e644f68e26 [MOVED FROM BAD 113/134] update for tag event change 2012-09-16 15:31:10 +02:00
Sebastian Dröge
dcb3fc514e [MOVED FROM BAD 112/134] vp8: Port to 0.11 again 2012-09-16 15:31:10 +02:00
Vincent Penquerc'h
01b86b6b2a [MOVED FROM BAD 111/134] vp8enc: fix target bitrate config with libvpx 1.1.0
libvpx 1.1.0 disallows a bitrate of 0, which was used by
vp8enc as a default value.

Instead, we use the default libvpx bitrate, scaled to our
video size, if no bitrate was specified.

This fixes encoding VP8 video with libvpx 1.1.0.

https://bugzilla.gnome.org/show_bug.cgi?id=676245
2012-09-16 15:30:22 +02:00
Sebastian Dröge
fd598a8e3d [MOVED FROM BAD 110/134] vp8enc: Update for GstVideoCodecFrame API changes 2012-09-16 15:30:22 +02:00
Thiago Santos
1f65326f67 [MOVED FROM BAD 109/134] vp8dec: Improve output_state handling
Avoid getting output_state for every buffer as that requires
getting the objectlock and doing reference counting. Store it locally
when it is created and use it.
2012-09-16 15:30:22 +02:00
Thiago Santos
4484130cbf [MOVED FROM BAD 108/134] vp8dec: Use outputstate when copying output buffer data
Using the input state was causing a crash because the strides/offsets
would be wrong. Fix it by using the output as we are dealing with
the decoded frame.
2012-09-16 15:30:05 +02:00
Edward Hervey
74aa2e7c6a [MOVED FROM BAD 107/134] vp8: Port to -base video base classes
Conflicts:

	ext/vp8/Makefile.am
	ext/vp8/gstvp8dec.c
	ext/vp8/gstvp8enc.c

Back to 0.10 state for now, need to be ported again.
2012-09-16 15:29:52 +02:00
Vincent Penquerc'h
dccf3dc0b6 [MOVED FROM BAD 106/134] vp8enc: fix target bitrate config with libvpx 1.1.0
libvpx 1.1.0 disallows a bitrate of 0, which was used by
vp8enc as a default value.

Instead, we use the default libvpx bitrate, scaled to our
video size, if no bitrate was specified.

This fixes encoding VP8 video with libvpx 1.1.0.

https://bugzilla.gnome.org/show_bug.cgi?id=676245
2012-09-16 15:28:18 +02:00
Sebastian Dröge
4fa72a5c23 [MOVED FROM BAD 105/134] gst: Update for GST_PLUGIN_DEFINE() API changes 2012-09-16 15:28:18 +02:00
Sebastian Dröge
9894fc2abe [MOVED FROM BAD 104/134] gst: Update versioning 2012-09-16 15:28:18 +02:00
Sebastian Dröge
3cfb400de1 [MOVED FROM BAD 103/134] vp8enc: Fix 'argument to 'sizeof' in 'memset' call is the same expression as the destination' compiler warning 2012-09-16 15:28:18 +02:00
Wim Taymans
0eeb65f989 [MOVED FROM BAD 102/134] update for HEADER flag 2012-09-16 15:28:18 +02:00
Mark Nauwelaerts
85c73e93f3 [MOVED FROM BAD 101/134] port some more to new memory API
Fixes #668677.
2012-09-16 15:28:18 +02:00
Oleksij Rempel (Alexey Fisher)
ec7f8034af [MOVED FROM BAD 100/134] vp8enc: trace outgoing timestamps
add info level prints for outgoing timestamps.

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-09-16 15:28:18 +02:00
Oleksij Rempel (Alexey Fisher)
03d9022587 [MOVED FROM BAD 099/134] vp8dec: use is_alt_data option to prevent timestamp collisions
altref/invisible frames usually stored in container with same timestamp as
dependet frame. This make basevideodecoder to update timestamp for dependet
frame and couse TS colision on next frame:

                 ^- here is altref
time     : 1 2 3 4 5 6 7 8 9
webm ts  : 1   3 5 5   7   9
vp8dec ts: 1   3   7   7   9

Fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=655245

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-09-16 15:28:18 +02:00
Oleksij Rempel (Alexey Fisher)
772f7b6605 [MOVED FROM BAD 098/134] vp8: add initial preset file
This is initial preset file, currently with only one profile
for realtime encoding.

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-09-16 15:28:18 +02:00
Vincent Penquerc'h
d286b04ee0 [MOVED FROM BAD 097/134] various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2012-09-16 15:28:18 +02:00
Tim-Philipp Müller
020b7c902d [MOVED FROM BAD 096/134] vp8dec: use new basevideodecoder API to drop frames and get QoS messages posted 2012-09-16 15:27:15 +02:00
Mart Raudsepp
8fe80026a5 [MOVED FROM BAD 095/134] mimic, opencv, vp8, acmmp3dec, linsys: Don't build static plugins
Pass --tag=disable-static to libtool everywhere where it's been forgotten

https://bugzilla.gnome.org/show_bug.cgi?id=663768
2012-09-16 15:27:15 +02:00
Edward Hervey
c03ae2f3c2 [MOVED FROM BAD 094/134] vp8: Port to 0.11 2012-09-16 15:27:15 +02:00
David Schleef
653ad8b286 [MOVED FROM BAD 093/134] vp8enc: fix drop-frame property
Fixes #656929.
2012-09-16 15:27:15 +02:00
Vincent Penquerc'h
b20d432046 [MOVED FROM BAD 092/134] vp8: probe for the new tuning API to keep building with older libvpx
https://bugzilla.gnome.org/show_bug.cgi?id=656928
2012-09-16 15:27:15 +02:00
Sebastian Dröge
8e143b1c7d [MOVED FROM BAD 091/134] vp8enc: Remove unused and useless variable in tags handling 2012-09-16 15:27:15 +02:00
Sebastian Dröge
c58dd70675 [MOVED FROM BAD 090/134] vp8enc: Update for basevideoencoder ::get_caps() removal 2012-09-16 15:27:15 +02:00
David Schleef
73a6edbfe2 [MOVED FROM BAD 089/134] vp8enc: Add more properties 2012-09-16 15:27:15 +02:00
Alexey Fisher
1764be1296 [MOVED FROM BAD 088/134] vp8enc: add min/maxsection-pct option
This options should be good to redeuce decode CPU load.
for lowend hardware:
minsection-pct=15 maxsection-pct=400

for hiend hw:
minsection-pct=5 maxsection-pct=800

see example:
http://www.webmproject.org/tools/encoder-parameters/#2-pass_vbr_encoding_for_smooth_playback_on_low-end_hardware

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: David Schleef <ds@schleef.org>
2012-09-16 15:27:15 +02:00
Alexey Fisher
01ec7efbe4 [MOVED FROM BAD 087/134] vp8enc: add lag-in-frames option.
This option set maximum of frames codec should remember,
to make better prediktion for alt-ref frames.

See example:
http://www.webmproject.org/tools/encoder-parameters/#2-pass_best_quality_vbr_encoding

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: David Schleef <ds@schleef.org>
2012-09-16 15:27:15 +02:00
Alexey Fisher
24d21d5e5f [MOVED FROM BAD 086/134] vp8enc: use multipass.cache file name as default for multipass mode.
Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: David Schleef <ds@schleef.org>
2012-09-16 15:27:15 +02:00
Sebastian Dröge
6af5e9ce38 [MOVED FROM BAD 085/134] vp8enc: Update for GstBaseVideoEncoder::finish() signature change 2012-09-16 15:27:15 +02:00
Olivier Crête
140bd5c092 [MOVED FROM BAD 084/134] vp8: Fix set-but-unused warnings 2012-09-16 15:27:15 +02:00
Sebastian Dröge
c498e188b9 [MOVED FROM BAD 083/134] vp8enc: Use destroy notify to free the coder hook 2012-09-16 15:27:15 +02:00
David Schleef
ec126d9589 [MOVED FROM BAD 082/134] vp8enc: update for new libvpx api 2012-09-16 15:27:15 +02:00
Alexey Fisher
2d8a989c95 [MOVED FROM BAD 081/134] vp8enc: generate a timestamp for alt-ref frames.
It will fix handling of altref/invisible frames since matroska-mux
drop any fram with no timestamp.

see also:
http://www.webmproject.org/code/specs/container/
The encoder will currently set the AR's timestamp as close as possible
to the previous frame while attempting to provide a timestamp that is
strictly increasing. In cases where the time base given to the encoder
at configure time is not granular enough to allow for this the AR
will share the same timestamp as D, but should be
treated as having no duration.

Fixes bug #652951

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
2012-09-16 15:27:15 +02:00
Alexey Fisher
293d378289 [MOVED FROM BAD 080/134] vp8dec: add check if we have legal aspect-ratio before reset it.
the commit f9b552f049 (vp8dec: set par to 1/1)
will fix situation where no aspect-ratio is set, but it brake
stream with available aspect-ratio. This patch fix it.

Fixes: #652902.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
2012-09-16 15:27:15 +02:00
David Schleef
e46f4318f7 [MOVED FROM BAD 079/134] vp8dec: set par to 1/1 2012-09-16 15:27:15 +02:00
Sebastian Dröge
24519a0ad3 [MOVED FROM BAD 078/134] vp8enc: Name max/min quantizer properties {max,min}-quantizer
Also improve quality property description.
2012-09-16 15:27:15 +02:00
Alexey Fisher
fbf253c632 [MOVED FROM BAD 077/134] vp8enc: Add properties to select a maximum and minimum quantizer
Fixes bug #641405.
2012-09-16 15:27:15 +02:00
Alexey Fisher
b6a52550b4 [MOVED FROM BAD 076/134] vp8enc: Fix quality to (constant) quantizer mapping
This now allows to select all possible quantizers between
0 and 63.

See bug #641405.
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
81d2ba6c9d [MOVED FROM BAD 075/134] vp8dec: debug code style fixes 2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
28ec65b5a4 [MOVED FROM BAD 074/134] vp8dec: propagate downstream flow return to upstream 2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
e8a200c6a2 [MOVED FROM BAD 073/134] basevideodecoder: really and only set src pad caps whenever requested
... since subclass is expected to be wise enough to know when to do so.
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
47067f7d1e [MOVED FROM BAD 072/134] basevideodecoder: invoke subclass start method at state change and use set_format
While this changes API slightly (e.g. actually uses set_format now), which is OK
for unstable API, it has following merits:
* symmetric w.r.t. stop at state change
* in line with other base class practice
* otherwise no subclass method at state change (global activation time)
Moreover, subclassese are either unaffected or trivially adjusted accordingly.
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
e03fefc740 [MOVED FROM BAD 071/134] basevideodecoder: subsume skip_frame into finish_frame 2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
1d8a499ceb [MOVED FROM BAD 070/134] basevideoencoder: provide proper upstream flow return handling 2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
ddd32f1b05 [MOVED FROM BAD 069/134] vp8enc: minor optimization in setting up image buffer 2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
b6ca1c8171 [MOVED FROM BAD 068/134] vp8enc: refactor frame processing 2012-09-16 15:27:14 +02:00
Mark Nauwelaerts
a24df7d3c7 [MOVED FROM BAD 067/134] vp8enc: do init at set_format time 2012-09-16 15:27:14 +02:00
Mark Nauwelaerts
33ec5fd08f [MOVED FROM BAD 066/134] vp8enc: fix keyframe forcing 2012-09-16 15:27:14 +02:00
Mark Nauwelaerts
e68033782b [MOVED FROM BAD 065/134] basevideocodec: remove redundant caps field
... as it is already at hand as the src pad's negotiated caps.
2012-09-16 15:27:14 +02:00
Mark Nauwelaerts
402879a52e [MOVED FROM BAD 064/134] vp8enc: use baseclass event virtual handler 2012-09-16 15:27:14 +02:00
David Schleef
280354df3f [MOVED FROM BAD 063/134] basevideo: merge utils header into basevideocodec 2012-09-16 15:27:14 +02:00
Tim-Philipp Müller
32505ef105 [MOVED FROM BAD 062/134] vp8: fix LIBADD order in Makefile.am 2012-09-16 15:27:14 +02:00
Alexey Fisher
4d5ad6d0ca [MOVED FROM BAD 061/134] vp8enc: Add description for bitrate units. 2012-09-16 15:27:14 +02:00
David Schleef
7734336a97 [MOVED FROM BAD 060/134] vp8enc: Readd setting of granulepos
Revert parts of last patch that removed setting of granulepos.
oggmux still requires correct granulepos in incoming packet.
2012-09-16 15:27:14 +02:00
David Schleef
161b89d552 [MOVED FROM BAD 059/134] vp8enc: Don't override timestamps set by base class
Because the base class does it correctly.
Fixes: #635720, #625558.
2012-09-16 15:27:14 +02:00
Edward Hervey
785bf960dd [MOVED FROM BAD 058/134] vp8: Remove dead assignments 2012-09-16 15:27:14 +02:00
David Schleef
49d0bcce24 [MOVED FROM BAD 057/134] basevideo: Move common fields/functions to basecodec 2012-09-16 15:27:14 +02:00
David Schleef
d1d6fe1b8d [MOVED FROM BAD 056/134] basevideo: Move deadline to frame structure 2012-09-16 15:27:14 +02:00
Philip Jägenstedt
7af2375a46 [MOVED FROM BAD 055/134] vp8dec: Set GstBaseVideoDecoder::packetized to TRUE as soon as possible
This fixes an infinite loop if an EOS event is received before
GstBaseVideoDecoder::start() is called, e.g. immediately when the
pads are activated.

Fixes bug #626815.
2012-09-16 15:27:14 +02:00
Sebastian Dröge
3509034bc9 [MOVED FROM BAD 054/134] vp8enc: Add support for enabling automatic insertion of alt-ref frames by the encoder 2012-09-16 15:27:14 +02:00
Sebastian Dröge
084d1588a9 [MOVED FROM BAD 053/134] vp8enc: Fix handling of invisible/alt ref frames 2012-09-16 15:27:14 +02:00
Sebastian Dröge
6be4d8efe0 [MOVED FROM BAD 052/134] vp8: Add initial documentation, based on the theoradec/theoraenc documentation 2012-09-16 15:27:14 +02:00
Sebastian Dröge
2856d8a6fa [MOVED FROM BAD 051/134] vp8: Move structure definitions, etc to public header files for gtk-doc 2012-09-16 15:27:14 +02:00
Sebastian Dröge
83ffb384d0 [MOVED FROM BAD 050/134] vp8enc: Implement multipass encoding
Fixes bug #621348.
2012-09-16 15:27:14 +02:00
Sebastian Dröge
7f3e1a1484 [MOVED FROM BAD 049/134] vp8enc: Set VP8E_SET_CPUUSED to 0
This setting controls how much CPU can be used by the encoder, specified
in fractions of 16. Negative values mean strict enforcement of this
while positive values are adaptive.

The default value is -4, which means that we're not running as fast
as possible and probably are wasting some quality. 0 is the recommended
default by libvpx upstream.
2012-09-16 15:27:14 +02:00
Sebastian Dröge
ec2c2b5fcc [MOVED FROM BAD 048/134] vp8enc: Use VPX defines for REALTIME, GOOD/BEST quality deadlines instead of our own
These are the values used for the speed property.
2012-09-16 15:27:14 +02:00
Tim-Philipp Müller
87fee9151b [MOVED FROM BAD 047/134] vp8enc: fix printf format warning in log message
gstvp8enc.c:564: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
gstvp8enc.c:744: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
2012-09-16 15:27:14 +02:00
Tim-Philipp Müller
86db423828 [MOVED FROM BAD 046/134] basevideo, vp8: guard unstable API with GST_USE_UNSTABLE_API
Add some guards and fat warnings to the header files with still unstable
API, so people who just look at the installed headers know that it
actually is unstable API.

Merging previous commit into current codebase.
2012-09-16 15:27:14 +02:00
David Schleef
b8cd2ec0f6 [MOVED FROM BAD 045/134] basevideo: Move base video from vp8 to gst-libs 2012-09-16 15:27:14 +02:00
Sebastian Dröge
2014a7eee2 [MOVED FROM BAD 044/134] vp8: Use VPX_PLANE_* instead of PLANE_* 2012-09-16 15:27:14 +02:00
Sebastian Dröge
b9e31e22c6 [MOVED FROM BAD 043/134] vp8: Add compatilibity defines to work with older versions of libvpx too 2012-09-16 15:27:14 +02:00
Philip Jägenstedt
70305a8088 [MOVED FROM BAD 042/134] vp8dec: s/IMG_FMT_I420/VPX_IMG_FMT_I420/
This corresponds to upstream libvpx commit 6cd4a10e167203d1deb79abf60ee72599e97891b
2012-09-16 15:27:14 +02:00
Sebastian Dröge
0de97a2e85 [MOVED FROM BAD 041/134] vp8enc: Allow a maximum keyframe distance of 0, i.e. all frames are keyframes 2012-09-16 15:27:14 +02:00
Sebastian Dröge
f431917418 [MOVED FROM BAD 040/134] vp8dec: Set decoder deadline from the QoS information 2012-09-16 15:27:14 +02:00
Sebastian Dröge
8e3994ad8f [MOVED FROM BAD 039/134] vp8enc: Move debug output one line above where the packet is still valid 2012-09-16 15:27:13 +02:00
Sebastian Dröge
e0aa93f455 [MOVED FROM BAD 038/134] vp8enc: Correctly ignore non-frame packets from the encoder
Fixes bug #619916.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
951b3a1594 [MOVED FROM BAD 037/134] basevideodecoder: Take the frame duration into account when calculating the earliest time
This formula is used in many other elements too.

Fixes bug #619318.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
c90e9b3127 [MOVED FROM BAD 036/134] basevideodecoder: Reset QoS values when necessary 2012-09-16 15:27:13 +02:00
Sebastian Dröge
13dbfc2fa9 [MOVED FROM BAD 035/134] vp8enc: Use GST_VIDEO_CAPS_YUV(I420) instead of handwritten I420 caps for the pad template
Fixes bug #619344.
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
c28c23b63d [MOVED FROM BAD 034/134] vp8dec: drop late frames after decoding them
This saves a memcpy, which is always something.
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
ee152678af [MOVED FROM BAD 033/134] vp8enc: threads property
Increasing from 1 to 2 threads on an Thinkpad X60s decreased encode time
in a test from ~24 s to ~19 s, so this is quite useful.

Ideally we should let 0 be the default and automatically match the number
of CPU cores (or something).
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
109a4f4e12 [MOVED FROM BAD 032/134] vp8enc: add mode property to switch between CBR/VBR
Always using CBR when bitrate is used isn't that great, VBR mode
can produce meaningful results too.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
d2d3aefa94 [MOVED FROM BAD 031/134] vp8dec: Only enable postprocessing if the decoder supports it 2012-09-16 15:27:13 +02:00
Philip Jägenstedt
9918341dd0 [MOVED FROM BAD 030/134] vp8: typo: s/HAVE_VP8_DECODER/HAVE_VP8_ENCODER/
Fixup for bug #619172.
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
7f56565f76 [MOVED FROM BAD 029/134] vp8: move #ifdef HAVE_VP8_ENCODER/DECODER
Otherwise we'll try including e.g. <vpx/vp8cx.h> which doesn't exist.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
70015da68e [MOVED FROM BAD 028/134] vp8enc: Write GStreamer element and version in the vorbiscomment vendor string 2012-09-16 15:27:13 +02:00
Sebastian Dröge
9cb55fb96b [MOVED FROM BAD 027/134] vp8: Only enable the encoder or decoder if it's available in libvpx
Fixes bug #619172.
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
2c0d247ad9 [MOVED FROM BAD 026/134] vp8: exlcude dec/enc based on CONFIG_VP8_DECODER/ENCODER
This may not be very autotoolish, but works with libvpx in the state
that libvpx is actually in. Moved the debug init to the elements
themselves to minimize amount of #ifdefs
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
80d2b43443 [MOVED FROM BAD 025/134] vp8enc: Limit max-latency to 25 to match libvpx
From libvpx/vp8/encoder/onyx_int.h:
 #define MAX_LAG_BUFFERS (CONFIG_REALTIME_ONLY? 1 : 25)

While we don't need to be tied to what libvpx does internally, it
doesn't make sense to pretend to support longer frame lags than are
actually possible.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
67adf511fd [MOVED FROM BAD 024/134] vp8: Undef HAVE_CONFIG_H before including libvpx headers
A public libvpx header includes private headers if this is
defined, causing compilation failures because the private headers
are not installed of course.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
78fc2011db [MOVED FROM BAD 023/134] vp8enc: Some more minor adjustments for the Ogg mapping 2012-09-16 15:27:13 +02:00
Sebastian Dröge
93def25c8a [MOVED FROM BAD 022/134] vp8dec: Fix memory leak 2012-09-16 15:27:13 +02:00
Sebastian Dröge
b7e64c7c69 [MOVED FROM BAD 021/134] vp8enc: Adjust Ogg mapping for the changes 2012-09-16 15:27:13 +02:00
Sebastian Dröge
5ce64cf8ad [MOVED FROM BAD 020/134] vp8dec: Add properties to control the VP8 decoder post processing feature
This is disabled by default for now.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
f4f6bc62f4 [MOVED FROM BAD 019/134] vp8enc: Rename keyframe-interval to max-keyframe-distance
And use default settings for buffer sizes until we expose this
somehow.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
6ce8a5609f [MOVED FROM BAD 018/134] vp8: Improve error handling and debug output 2012-09-16 15:27:13 +02:00
Sebastian Dröge
3028d1abc0 [MOVED FROM BAD 017/134] vp8: Use correct strides and plane offsets for GStreamer 2012-09-16 15:27:13 +02:00
Sebastian Dröge
5d397656f9 [MOVED FROM BAD 016/134] vp8enc: Implement GstTagSetter interface 2012-09-16 15:27:13 +02:00
Sebastian Dröge
e3ede57f5e [MOVED FROM BAD 015/134] vp8enc: Fix setting of the keyframe flag on encoded frames 2012-09-16 15:27:13 +02:00
Sebastian Dröge
b1f35fff9d [MOVED FROM BAD 014/134] vp8enc: Post an error message on the bus if encoder initialization fails 2012-09-16 15:27:13 +02:00
Sebastian Dröge
087ecc20eb [MOVED FROM BAD 013/134] vp8dec: Fix memory leaks and fail if initializing the decoder fails 2012-09-16 15:27:13 +02:00
David Schleef
ba0c0c6bbb [MOVED FROM BAD 012/134] vp8enc: Set timebase
Also misc cleanup.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
dd38c5c993 [MOVED FROM BAD 011/134] vp8dec: Fix decoding of invisible frames 2012-09-16 15:27:12 +02:00
Sebastian Dröge
de308639da [MOVED FROM BAD 010/134] vp8enc: Update the latency when initializing the encoder 2012-09-16 15:27:12 +02:00
Sebastian Dröge
42300e5ee7 [MOVED FROM BAD 009/134] vp8dec: Correctly initialize stream info before peeking at the stream
Otherwise peeking will fail and we'll get invalid values
2012-09-16 15:27:12 +02:00
Sebastian Dröge
08a5311f85 [MOVED FROM BAD 008/134] vp8dec: Make sure to pass a keyframe as first frame to the decoder, copy output frames only once and require width/height/etc on the input caps 2012-09-16 15:27:12 +02:00
Sebastian Dröge
091ba8f6aa [MOVED FROM BAD 007/134] vp8enc: Add support for invisible frames and the Ogg mapping 2012-09-16 15:27:12 +02:00
David Schleef
75d31dabe8 [MOVED FROM BAD 006/134] vp8dec: Fix reset after seeking
Also remove some unused code.
2012-09-16 15:27:12 +02:00
Sebastian Dröge
4a733f9083 [MOVED FROM BAD 005/134] vp8enc: Set frame numbers as buffer offsets 2012-09-16 15:27:12 +02:00
Sebastian Dröge
4d3759bbe6 [MOVED FROM BAD 004/134] vp8enc: Always get as many frames as possible from the encoder 2012-09-16 15:27:12 +02:00
Sebastian Dröge
522e0cb779 [MOVED FROM BAD 003/134] vp8enc: Fill the oldest pending frame instead of the newest 2012-09-16 15:27:12 +02:00
Sebastian Dröge
5f7655d481 [MOVED FROM BAD 002/134] vp8enc: Correctly set delta unit flag for non-keyframes 2012-09-16 15:27:12 +02:00
David Schleef
a27682279d [MOVED FROM BAD 001/134] vp8: Add encoder/decoder 2012-09-16 15:27:12 +02:00
Mark Nauwelaerts
a32398fee5 replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:07:40 +02:00
Wim Taymans
829c80ce6c fix more caps 2012-09-14 13:30:37 +02:00
Wim Taymans
e59498c33d pulsesrc: disable reconfigure
See https://bugzilla.gnome.org/show_bug.cgi?id=683902
2012-09-13 10:25:48 +02:00
Stefan Sauer
f874922e1c collectpads: remove gst_collect_pads_add_pad_full
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:05:44 +02:00
Mark Nauwelaerts
f12ef67f56 ext, gst: only activate in pull mode if upstream is seekable 2012-09-11 17:44:51 +02:00
Wim Taymans
c47c410e7b pulsesrc: consider stream alive when not connected yet
When we start and renegotiate, there is a moment where the stream is created but
not yet connected. Make sure all functions deal with this situation correctly
instead of erroring out.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681247
2012-09-10 13:35:15 +02:00
Wim Taymans
619b2bd1a9 pulsesrc: don't fail when not negotiated yet
When get_time is called but we are not yet negotiated, return 0 instead of
posting an error. It's possible that the base class is still negotiating when
our get_time is called.
2012-09-10 12:15:25 +02:00
Wim Taymans
497ff16355 update for audio base src api change 2012-09-10 11:32:25 +02:00
Wim Taymans
148ab7539b pulse: improve debug 2012-09-06 10:43:52 +02:00
Mark Nauwelaerts
8d53318e22 dvdemux: remove obsolete update newsegment handling code 2012-09-05 11:50:05 +02:00
Tim-Philipp Müller
b27ac94af2 gst_message_new_duration -> gst_message_new_duration_changed 2012-09-02 01:31:53 +01:00
Mark Nauwelaerts
67f3d6ac16 gdkpixbuf: adjust to modified video overlay composition API 2012-08-30 12:21:01 +02:00
Tim-Philipp Müller
4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Tim-Philipp Müller
e4cb67fad8 docs: gst-launch-0.11 -> gst-launch-1.0 2012-08-27 21:20:29 +01:00
Sjoerd Simons
01665d9da3 pulsesrc: Only print caps if they're provided 2012-08-27 09:00:45 +02:00