Commit graph

2939 commits

Author SHA1 Message Date
Sebastian Dröge
e2b2185029 souphttpclientsink: Set sent_buffers and streamheader_buffers to NULL after freeing
Otherwise we might use an already freed list later and crash or worse.
2016-05-19 12:44:17 +03:00
Carlos Rafael Giani
e9a795fa8b souphttpsrc: Use audio/x-unaligned-raw instead of audio/x-raw for L16 data
Directly setting audio/x-raw caps leads to problems when the delivered
data blocks do not align properly at sample boundaries (for example, a
data block with 391 bytes). So, instead, set audio/x-unaligned-raw to
let a parser be autoplugged.

https://bugzilla.gnome.org/show_bug.cgi?id=689460
2016-05-15 13:18:02 +03:00
Thiago Santos
325741d37d souphttpsrc: check if request was cancelled when sending message
It might be that the request was aborted by the application and
we can return immediatelly
2016-05-15 06:40:01 -03:00
Thiago Santos
075a6260fd souphttpsrc: proxy resolver is on by default
Remove from the session creation parameters
2016-05-15 06:36:25 -03:00
Thiago Santos
9b52a5b9af soup: update build to warn about newer deprecated functions
We already depend on 2.48
2016-05-15 06:36:25 -03:00
Thiago Santos
8816764112 souphttpsrc: reduce reading latency by using non-blocking read
Non-blocking read will return the amount of data available without
blocking to wait for the full requested size.

The downside is that now it souphttpsrc needs to have a waiting
mechanism in case there is no data available yet to avoid busy
looping arond the inputstream.
2016-05-15 06:36:25 -03:00
Thiago Santos
183695c61a souphttpsrc: refactor to use Soup's sync API
Replace the async API with the sync API to remove all the extra mainloop
and context handling. Currently it blocks reading until 'blocksize'
bytes are available but that can be improved by using:

https://developer.gnome.org/gio/unstable/GPollableInputStream.html#g-pollable-input-stream-read-nonblocking

https://bugzilla.gnome.org/show_bug.cgi?id=693911
2016-05-14 08:40:12 -03:00
Sebastian Dröge
83d5797a58 dv: Use correct pixel-aspect-ratio values
The previous ones resulted in odd display aspect ratios and were different
from the ones used by e.g. ffmpeg. The new ones now result in display aspect
ratios of 4:3 and 16:9.

https://bugzilla.gnome.org/show_bug.cgi?id=765946
2016-05-05 13:37:27 +03:00
Mario Sanchez Prada
8740313504 vpxenc: Properly handle frames with too low duration
When a frame's duration is too low, calling gst_util_uint64_scale()
to scale its value can result into it being truncated to zero, which
will cause the vpx encoder to return an VPX_CODEC_INVALID_PARAM error
when trying to encode.

To prevent this from happening, we simply ignore the duration when
encoding if it becomes zero after scaling, logging a warning message.

https://bugzilla.gnome.org/show_bug.cgi?id=765391
2016-04-23 13:56:56 +01:00
Tim-Philipp Müller
5e7a4b4d62 mpg123: fix build with msvc
Fix syntax errors when compiling against cerbero-provided libmpg123
headers. We do the same as the libmpg123 internal visual studio
build here.

mpg123.h(1378): error C2143: syntax error: missing ')' before '('
mpg123.h(1378): error C2081: 'ssize_t': name in formal parameter list illegal
mpg123.h(1378): error C2143: syntax error: missing ')' before '*'
mpg123.h(1378): error C2091: function returns function
mpg123.h(1378): error C2143: syntax error: missing '{' before '*'
mpg123.h(1378): error C2059: syntax error: ')'
mpg123.h(1379): error C2143: syntax error: missing ')' before '*'
mpg123.h(1379): error C2365: 'off_t': redefinition; previous definition was 'typedef'
...
2016-04-15 19:55:03 +01:00
Jan Schmidt
46a3c9ac8b Revert "pulsesink: uncork if needed upon commit"
This reverts commit 0dd46accf6.

With some audiosinks, starting the ringbuffer on the first commit
causes audio glitches at startup by starting to output segments
from the ringbuffer before it has been filled / fully prerolled. This
doesn't usually happen with pulsesink because we map the pulseaudio
ringbuffer directly, but we should keep things consistent with
other sinks with regards to startup latency, plus it gives more
headway to avoid glitching, should the initial 2nd segment take
more than 10ms to generate.

https://bugzilla.gnome.org/show_bug.cgi?id=657076
2016-04-16 02:21:14 +10:00
Sebastian Dröge
bc2d4c4c31 souphttpclientsink: If no proxy is set by properties, use the default libsoup proxy resolver
That is, use whatever system settings there might exist. This is the same
behaviour we use in the HTTP source.
2016-04-15 11:36:36 +03:00
Nicolas Dufresne
284d723a9a vpxdec: Use threads on multi-core systems
This is a redo of commit b848c1b6ff. The
code was lost when the elements where ported to use a baseclass.

https://bugzilla.gnome.org/show_bug.cgi?id=764169
2016-03-24 19:30:44 -04:00
Vineeth TM
ab281e6038 ugly: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763082
2016-03-24 14:38:13 +02:00
Vineeth TM
31c1ed8b9b ugly: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763082
2016-03-24 14:38:13 +02:00
Vineeth TM
1071309870 good: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Sebastian Dröge
49f4631909 gst: Handle gst_pad_get_current_caps() returning NULL gracefully 2016-02-23 18:27:47 +02:00
Dave Craig
211c8492b3 gst: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps()
Remove calls to gst_pad_has_current_caps() which then go on to call
gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just
use gst_pad_get_current_caps() and check for NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=759539
2016-02-23 18:11:42 +02:00
Vineeth TM
777d773c23 plugins-bad: Fix example pipelines
rename gst-launch --> gst-launch-1.0
replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**)
fix caps in examples

https://bugzilla.gnome.org/show_bug.cgi?id=759432
2016-02-16 10:40:40 +00:00
Tim-Philipp Müller
1ab089dfc1 mpg123: still reset pending audio info on hard flush
Follow-up to previous commit.

https://bugzilla.gnome.org/show_bug.cgi?id=752431
2016-02-16 10:40:40 +00:00
Jason Litzinger
9ffe409138 mpg123: fix handling of sample rate change during playback
If the sample rate of the media changes, the resulting flush will
clear the has_next_audioinfo flag, and the caps won't be sent
downstream.

https://bugzilla.gnome.org/show_bug.cgi?id=752431
2016-02-16 10:40:40 +00:00
Thiago Santos
e8110b7167 audiodecoders: use default pad accept-caps handling
Avoids useless check of downstream caps when handling an
accept-caps query

Elements: dtsdec, faad, gsmdec, mpg123audiodec, opusdec,
          sbcdec, adpcmdec, sirendec
2016-02-16 10:40:40 +00:00
Tim-Philipp Müller
b344d7ba47 Remove obsolete Android build cruft
This is not needed any longer.
2016-02-16 10:40:40 +00:00
Tim-Philipp Müller
e42f8627b6 mpg123: fix compiler warning and simplify checks in set_caps
https://bugzilla.gnome.org/show_bug.cgi?id=740195
2016-02-16 10:40:40 +00:00
Carlos Rafael Giani
2fe38328d2 mpg123: rework set_format code so mpg123audiodec works with decodebin/playbin
The old code was using gst_caps_normalize() and was generally overly
complex. Simplify by picking sample rate and number of channels from
upstream and the sample format from the allowed caps. If the format caps
is a list of strins, just pick the first one. And if the srcpad isn't
linked yet, use the default format (S16).

https://bugzilla.gnome.org/show_bug.cgi?id=740195
2016-02-16 10:40:40 +00:00
Tim-Philipp Müller
bbd6b14d46 Fix up one-element lists in template caps 2016-02-16 10:40:39 +00:00
Carlos Rafael Giani
387e6480d6 mpg123: improved error report and checks
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
2016-02-16 10:40:39 +00:00
Sebastian Dröge
04e05eb93f mpg123audiodec: Require caps to be set before any data processing 2016-02-16 10:40:39 +00:00
Edward Hervey
f383e63beb mpg123: Remove dead assignment
harder ? :)
2016-02-16 10:40:39 +00:00
Sebastian Dröge
0f5461be15 gst: Add better support for static plugins 2016-02-16 10:40:39 +00:00
David Schleef
773092940d mpg123: Add conditional on API version for new enum 2016-02-16 10:40:39 +00:00
Nicolas Dufresne
905e28a0f3 jpegdec: Don't pass the same data over and over
We already pass the entire frame to the decoder. If the decoder ask for
more data, don't pass the same data again as this leads to infinit loop.
Instead, simply fail the fill function to signal the problem with that
frame. It will then be skipped properly.

https://bugzilla.gnome.org/show_bug.cgi?id=761670
2016-02-08 10:19:31 -05:00
Sebastian Dröge
70db210315 vp8enc: Ensure that we always have valid frame user data before using it
Otherwise we're going to dereference NULL pointers.
2016-01-20 13:41:33 +02:00
Sebastian Dröge
7eee775d5f vpxdec: Unref frame in all code paths of handle_frame()
https://bugzilla.gnome.org/show_bug.cgi?id=760666
2016-01-20 10:02:48 +02:00
Thibault Saunier
01f995b8dd vpxenc: Unref frame on ERROR
All code paths for handle_frame() must somehow take ownership of the frame, be
it by actually unreffing, forwarding the frame elsewhere or storing it for
later.

http://bugzilla.gnome.org/show_bug.cgi?id=760666
2016-01-20 10:02:44 +02:00
Thibault Saunier
17838829eb vp8enc: Return FLOW_ERROR when an error accures
FALSE would mean FLOW_OK

https://bugzilla.gnome.org/show_bug.cgi?id=760666
2016-01-16 08:58:48 +01:00
Sebastian Dröge
bed1f0a0a6 vpxdec: Initialize buffer variable to NULL
False positive but trivial to fix and possibly causing compiler warnings at
some point in the future too.

CID 1346535
2015-12-29 17:58:38 +02:00
Ravi Kiran K N
58fcc0a0ab dvdec: Remove unused fields
Remove unused fields frame_len and space

https://bugzilla.gnome.org/show_bug.cgi?id=759614
2015-12-18 11:30:19 +01:00
Luis de Bethencourt
2c54ea5ba9 dv1394: log error if failed to set socket status flag
Log an error message if failed to set write or read socket as
non-blocking.

CID 1139608
CID 1139609
2015-12-16 11:48:30 +00:00
Nicolas Dufresne
9808cff566 vpx: Add missing headers in Makefile.am
This fixes distcheck.

https://bugzilla.gnome.org/show_bug.cgi?id=755510
2015-12-15 14:27:22 -05:00
Prashant Gotarne
5c7eb0f886 vpx: created common baseclass GstVPXEnc
GstVP8Enc and GstVP9Enc has almost 80% code in common.
created common baseclass GstVPXEnc for GstVP8Enc and GstVP9Enc

https://bugzilla.gnome.org/show_bug.cgi?id=755510
2015-12-15 14:03:29 -05:00
Nicolas Dufresne
90dcc3921a vpxdec: Remove unneeded add video_meta
This also remove copies for VP8, which was not correctly in place
in previous related patch.
2015-12-15 12:57:53 -05:00
Prashant Gotarne
75fb614c1e vpx: created common base class GstVPXdec for vpx decoders
Base class for the vp8dec and vp9dec.

https://bugzilla.gnome.org/show_bug.cgi?id=755510
2015-12-15 12:06:45 -05:00
Xavier Claessens
10044b1d0f souphttpsrc: Add GTlsInteraction property
https://bugzilla.gnome.org/show_bug.cgi?id=750709
2015-12-14 14:56:02 -05:00
Nicolas Dufresne
189c291805 vpxdec: Use GstMemory to avoid copies
With the VPX decoders it's not simple to use downstream buffer pool,
because we don't know the image size and alignment when buffers get
allocated. We can though use GstAllocator (for downstream, or the system
allocator) to avoid a copy before pushing if downstream supports
GstVideoMeta. This would still cause a copy for sink that requires
specialized memory and does not have a GstAllocator for that, though
it will greatly improve performance for sink like glimagesink and
cluttersink. To avoid allocating for every buffer, we also use a
internal buffer pool.

https://bugzilla.gnome.org/show_bug.cgi?id=745372
2015-12-04 17:29:15 -05:00
Vineeth TM
bd701b8ee5 souphttpclientsink: Fix error leak and handle error
g_thread_try_new allows for possiblity of failures. In case it fails,
error is not handled and leaked.

https://bugzilla.gnome.org/show_bug.cgi?id=758260
2015-11-18 09:31:42 +02:00
Nicolas Dufresne
b848c1b6ff vpxdec: Use threads on multi-core systems
This adds an automatic mode to the threads property of vpxdec in order to
use as many threads as there is CPU on the platform. This brings back
GStreamer VPX decoding performance closer to what is achieved by other
players, including Chromium.

https://bugzilla.gnome.org/show_bug.cgi?id=758195
2015-11-17 12:27:31 -05:00
Reynaldo H. Verdejo Pinochet
f58841c24e shout2: remove unnecessary NULL checks before g_free() 2015-11-15 01:43:08 -08:00
Reynaldo H. Verdejo Pinochet
2b7a1b4bb9 vp9enc: remove unnecessary NULL check before g_free() 2015-11-15 01:43:08 -08:00
Reynaldo H. Verdejo Pinochet
97a94b02ae vp8enc: remove unnecessary NULL check before g_free() 2015-11-15 01:43:08 -08:00
Reynaldo H. Verdejo Pinochet
c9039751f1 souphttpsrc: remove unnecessary NULL checks before g_free() 2015-11-15 01:43:08 -08:00
Vineeth TM
7ef9dd3761 jpegdec: fix output state memory leak
When jpeg_finish_decompress is called, output state reference is being created.
But if there is any failures in finishing decompress, it jumps to setjmp,
and at that point state was not referenced. Resulting in leak of output state.
Hence adding another setjmp after output state is referenced.
Similarly adding another setjmp to unmap the frame in case error happens before
finish_decompress

https://bugzilla.gnome.org/show_bug.cgi?id=753087
2015-11-10 07:54:08 -03:00
Nirbheek Chauhan
e686ec0c97 pulse: Don't leak caps and structures in the device provider 2015-11-05 17:54:48 +00:00
Sebastian Dröge
51adc9d889 souphttpsrc: EOS immediately if we have an empty seek segment
https://bugzilla.gnome.org/show_bug.cgi?id=748316
2015-10-14 16:56:26 +03:00
Stavros Vagionitis
21c6da6764 souphttpsrc: Make non-inclusive segment boundaries inclusive
The problem is that the filesrc and souphttpsrc are behaving
differently regarding the calculation of the segment boundaries. The
filesrc is using a non-inclusive boundaries, while the souphttpsrc
uses inclusive. Currently the hlsdemux calculates the boundaries as
inclusive, so for this reason there is no problem with the souphttpsrc,
but there is an issue in the filesrc.

The GstSegment is non-inclusive, so the proposed solution is to use
non-inclusive boundaries in the hlsdemux in order to be consistent.
Make the change in the hlsdemux, will break the souphttpsrc, which
will expect inclusive boundaries, but the hlsdemux will offer
non-inclusive. This change makes sure that the non-inclusive
boundaries are converted to inclusive.

https://bugzilla.gnome.org/show_bug.cgi?id=748316
2015-10-14 16:56:22 +03:00
Graham Leggett
af25e3cc93 souphttpclientsink: Add the retry and retry-delay properties
These allow a failed request to be retried after the given number of seconds
instead of failing the pipeline. Take account of the Retry-After header if
present. Add retries parameter that controls the number of times an HTTP
request will be retried before failing.

https://bugzilla.gnome.org/show_bug.cgi?id=756318
2015-10-14 15:23:00 +03:00
Vineeth TM
6eb8db8afd souphttpclientsink: Check if soup message is created
If soup message is not created then the same should not be passed
on, which is resulting in segfault. Hence throwing a warning message
and returning

https://bugzilla.gnome.org/show_bug.cgi?id=755326
2015-10-12 16:53:29 +03:00
Vineeth TM
2ee7b2b94d souphttpclientsink: Check if location being set is valid
Adding a check in set_property to find if the location uri is valid
and printing warning if not valid.

https://bugzilla.gnome.org/show_bug.cgi?id=755326
2015-10-12 16:53:28 +03:00
Vineeth TM
cece69003c souphttpclientsink: Fix memory leaks during failures
freeing streamheader_buffers and sent_buffers during failure cases.

https://bugzilla.gnome.org/show_bug.cgi?id=755326
2015-10-12 16:53:28 +03:00
Vineeth TM
b1d4e7e222 souphttpclientsink: Replace redundant free_buffer_list function
Removing free_buffer_list and replacing it with already available function
g_list_free_full

https://bugzilla.gnome.org/show_bug.cgi?id=755326
2015-10-12 16:53:28 +03:00
Vineeth TM
4000d97a81 gdkpixbufdec: Fix pixbuf_loader leak during failures
https://bugzilla.gnome.org/show_bug.cgi?id=756219
2015-10-08 15:01:53 +01:00
Tim-Philipp Müller
d77891406d gdkpixbufsink: don't leak old pixel buffer when setting a new overlay
https://bugzilla.gnome.org/show_bug.cgi?id=755773
2015-09-29 11:12:48 +01:00
Tim-Philipp Müller
6c09710292 flacenc: avoid potential string overflow
We don't necessarily have full control over the input tags, so
it's possible that the ISRC tag contains a longer string than
expected, in which case we'd write over the end of the static-size
13 byte buffer that is FLAC__StreamMetadata_CueSheet_Track::isrc.
Make sure to only copy the ISRC if it's not too long, and make
sure the buffer we write to is always NUL-terminated by using
g_strlcpy().

CID 1324931.
2015-09-28 20:25:22 +01:00
Jan Schmidt
866c86dd37 Fix some compiler warnings when building with G_DISABLE_ASSERT
Touches rtpmanager and gdkpixbufsink
2015-09-26 22:18:26 +10:00
Vineeth TM
1d23930cd7 wavpackdec: fix taglist memory leak
When passing the taglist to gst_audio_decoder_merge_tags, the reference is increased
by audiodecoder and the caller should free the taglist being passed.

https://bugzilla.gnome.org/show_bug.cgi?id=753903
2015-08-21 10:22:14 +03:00
Thiago Santos
13d49d9b3e flacenc: actually return true for accept-caps query handling 2015-08-17 14:33:35 -03:00
Thiago Santos
0899529222 flacenc: remove single entry if from loop
Iterate from the 2nd channel on and create the 1 channel struct
outside to make loop structure simpler and only slightly faster.
2015-08-16 14:30:57 -03:00
Thiago Santos
a00546e078 flacenc: implement proper accept-caps
Should just compare with what can be immediatelly accepted by
the element. flacenc can't renegotiate so if it has a caps already
it should only accept if it is that caps otherwise just use the
template caps
2015-08-16 14:30:57 -03:00
Thiago Santos
3553493d96 flacenc: improve sink pad template caps
Removes the need for custom caps query handling and makes it more
correct from the beginning on the template. It is a bit uglier
to read because there is 1 entry per channel but makes code easier
to maintain.
2015-08-16 14:30:57 -03:00
Thiago Santos
a1aa942acf audioencoders: use template subset check for accept-caps
It is faster than doing a query that propagates downstream and
should be enough

Elements: speexenc, wavpackenc, mulawenc, alawenc
2015-08-16 14:30:57 -03:00
Thiago Santos
1b27badcfd videoencoders: use template subset check for accept-caps
It is faster than doing a query that propagates downstream and
should be enough

Elements: jpegenc, pngenc, vp8enc, vp9enc, y4menc
2015-08-16 14:30:57 -03:00
Thiago Santos
ef773697a8 audioencoders: use template subset check for accept-caps
It is faster than doing a query that propagates downstream and
should be enough

Elements: amrnbenc, lamemp3enc, twolamemp2enc
2015-08-15 22:15:26 -03:00
Thiago Santos
f781e62e09 audioencoders: use template subset check for accept-caps
It is faster than doing a query that propagates downstream and
should be enough

Elements: amrnbenc, lamemp3enc, twolamemp2enc
2015-08-15 22:15:26 -03:00
Thiago Santos
65676c22ee audiodecoders: use default pad accept-caps handling
Avoids useless check of downstream caps when handling an
accept-caps query

Elements: flacdec, speexdec, wavpackdec, mulawdec, alawdec
2015-08-15 11:46:34 -03:00
Thiago Santos
16fbd4f86f videodecoders: use default pad accept-caps handling
Avoids useless check of downstream caps when handling an
accept-caps query

Elements: jpegdec, pngdec, vp8dec, vp9dec
2015-08-15 11:46:32 -03:00
Tim-Philipp Müller
98527a6ea2 vp8enc, vp9enc: reset multipass file index when stopping encoder
Fixes multipass encoding when re-using the same element/pipeline
for subsequent encoding runs.

https://bugzilla.gnome.org/show_bug.cgi?id=747728
2015-08-15 11:21:02 +01:00
Tim-Philipp Müller
0e10e92953 vp9enc: provide support for multiple pass cache files
Some files may provide different caps insight of one stream. Since
vp9enc support caps reinit, we should support cache reinit too.
If more then file cache file will be created, the naming will be:
cache cache.1 cache.2 ...

Based on patch by: Oleksij Rempel <linux@rempel-privat.de>

https://bugzilla.gnome.org/show_bug.cgi?id=747728
2015-08-15 11:09:42 +01:00
Oleksij Rempel
abc33c928f vp8enc: provide support for multiple pass cache files
Some files may provide different caps insight of one stream. Since vp8enc
support caps reinit, we should support cache reinit too.
If more then file cache file will be created, the naming will be:
cache
cache.1
cache.2
...

https://bugzilla.gnome.org/show_bug.cgi?id=747728
2015-08-14 11:40:58 +01:00
Thiago Santos
cb852cd128 souphttpsrc: remove unnecessary if, g_free is null safe 2015-08-14 06:43:13 -03:00
Alex Ashley
9dcc7d9cac souphttpsrc: add property to set HTTP method
To allow souphttpsrc to be use HTTP methods other than GET
(e.g. HEAD), add a "method" property that is a string. If this
property is not set, GET is used.

https://bugzilla.gnome.org/show_bug.cgi?id=752413
2015-08-14 06:37:55 -03:00
Tim-Philipp Müller
e1143041ed soup: fix typo in translated string
https://bugzilla.gnome.org/show_bug.cgi?id=753240
2015-08-04 16:28:17 +01:00
Eunhae Choi
8b6a261703 souphttpsrc: handle empty http proxy string
1) If the system http_proxy environment variable is not set
or set to an empty string, we must not set proxy to avoid
http connection error.

2) In case of proxy property setting, if user want to clear
the proxy setting, they should be able to set it to NULL or
an empty string again, so this is fixed too.

3) Check if the proxy string was parsed correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=752866
2015-07-31 10:54:02 +01:00
Ravi Kiran K N
0968487071 dvdemux: remove unused variable
Remove unused variable 'framecount' from dvdemux

https://bugzilla.gnome.org/show_bug.cgi?id=753008
2015-07-30 14:36:15 +01:00
Wim Taymans
0421d40d9c pulse: add properties to GstDevice
Add the extra properties we get from pulse to the GstDevice we expose
with the device monitor
2015-07-15 18:29:21 +02:00
Vineeth TM
3f6a868f7e flacdec: improve error handling
for files which have corrupted header, libflac is not able to
process the metadata properly. We just try to ignore the error
and continue with the processing, since metadata parsing is not
making much of a difference to libflac

https://bugzilla.gnome.org/show_bug.cgi?id=751334
2015-07-06 14:57:11 +01:00
Tim-Philipp Müller
8b759eb460 mikmod: remove ancient unported plugin
This hasn't been touched in 11 years, and
clearly no one's been missing it.
2015-06-25 10:06:07 +01:00
Vineeth T M
5828713771 mikmod_reader: Possible null pointer dereference:
gst_reader variable is being used before actually checking if it
allocated properly

https://bugzilla.gnome.org/show_bug.cgi?id=751306
2015-06-22 12:17:54 +01:00
Arun Raghavan
8e236fa2e1 pulsesrc: Fix mapping of latency parameters to buffer attributes 2015-06-12 12:49:28 +05:30
Xavier Claessens
64e4df3fe2 souphttpsrc: Add tls-database property
https://bugzilla.gnome.org/show_bug.cgi?id=750298
2015-06-10 14:10:39 -04:00
Xavier Claessens
5ada1a6cf8 souphttpsrc: fix getter of "ssl-use-system-ca-file"
https://bugzilla.gnome.org/show_bug.cgi?id=750298
2015-06-10 12:02:16 +01:00
Sebastian Dröge
a0b69c8dac vp[89]enc: Properly convert between GStreamer and encoder timebase
... by switching numerator and denominator when scaling.

https://bugzilla.gnome.org/show_bug.cgi?id=749122
2015-05-12 12:13:16 +03:00
Sebastian Dröge
eb365cc3bb vp[89]enc: Don't set timebase from the framerate
The framerate very often is just an indication of the ideal framerate, not the
actual framerate of the stream. By just using the framerate, we confuse the
rate control algorithm algorithm as multiple frames will map to the same PTS
or have durations of 0.

https://bugzilla.gnome.org/show_bug.cgi?id=749122
2015-05-12 11:54:40 +03:00
Tim-Philipp Müller
f7661aae4b docs: update example pipelines in element docs
Mostly gst-launch -> gst-launch-1.0, but also
use autoaudiosink/autovideosink in more places
and update pipelines a little or flesh out
descriptions.
2015-05-10 11:34:33 +01:00
Tim-Philipp Müller
b33f30c658 docs: update example pipelines in element docs
Mostly gst-launch -> gst-launch-1.0, but also
use autoaudiosink/autovideosink in more places
and update pipelines a little or flesh out
descriptions.
2015-05-10 11:34:33 +01:00
Tim-Philipp Müller
2e412a447a docs: update example pipelines in element docs
Mostly gst-launch -> gst-launch-1.0
Use autovideosink/autoaudiosink more often.
Sprinkle some converters here and there.
2015-05-10 11:05:00 +01:00
Guillaume Desmottes
1421fc558e jpegdec: fix frame leaks in handle_frame() implementation
handle_frame() is supposed to consume @frame, so if we don't call
gst_video_decoder_drop_frame() or gst_video_decoder_finish_frame() we have to
release it manually.

https://bugzilla.gnome.org/show_bug.cgi?id=748909
2015-05-05 13:56:05 -04:00
Ravi Kiran K N
ebbefbb792 dvdemux: extract recording time
Extracts the recorded time of the dv file from
the metadata and puts it into the global tags.

https://bugzilla.gnome.org/show_bug.cgi?id=743657
2015-04-28 19:36:03 +01:00
Thiago Santos
5c7c90ff2c vp8dec: optimize vpx image to gstbuffer copy when strides match
Solving this FIXME. Copy the full plane when strides are the same
2015-04-17 14:27:27 -03:00
Thiago Santos
3270137702 vp9dec: optimize vpx image to gstbuffer copy when strides match
Solving this FIXME. Copy the full plane when strides are the same
2015-04-17 13:06:41 -03:00
Olivier Crête
12867fcb3d vp8enc: Expose VP8 width/height limitations in the caps template
The VP8 format specification (RFC 6386 section 18.1) specifies
that the maximum size is 16383x16383.
2015-04-01 19:31:18 -04:00
Luis de Bethencourt
3763f4057a vp9enc: remove duplicate declaration of function 2015-03-09 16:25:43 +00:00
Sebastian Dröge
a52e432fda vp[89]enc: Reset the encoder when flushing
https://bugzilla.gnome.org/show_bug.cgi?id=745704
2015-03-09 16:47:57 +01:00
Arun Raghavan
3751c87f00 pulsesink: Make sure to filter caps in all cases during CAPS query
We were skipping the filter step while returning template caps, for
example.
2015-03-09 11:55:40 +05:30
Sebastian Dröge
8965619f13 souphttpclientsink: Implement cookies property 2015-03-08 18:04:34 +01:00
Sebastian Dröge
b2bcb3d61f souphttpclientsink: Implement automatic-redirect property 2015-03-08 18:02:51 +01:00
Sebastian Dröge
814f741a28 souphttpclientsink: Implement proxy support
The properties were there before, but not used anywhere.
2015-03-08 17:54:42 +01:00
Sebastian Dröge
627e492b7e vp[89]dec: Drop frames that have no output buffer because of errors
finish_frame() assumes that there is an output buffer.
2015-03-05 10:01:09 +01:00
Sebastian Dröge
379621fd0b vp8enc: Use 0 as duration for the EOS "frame" 2015-03-02 15:06:09 +01:00
Sebastian Dröge
51ebca3c03 vp{8,9}enc: Tell the encoder about actual timestamps and durations of frames
... instead of just counting frames. The values are supposed to be in timebase
units, not frame units. This fixes various quality problems with VP8/VP9
encoding and in general makes the encoder behave better.

Thanks to Nirbheek Chauhan for noticing this bug.
2015-03-02 15:03:49 +01:00
Nicolas Dufresne
501a53b26d vpxdec: Fix calculation of width in bytes
Right now we only support I420, but vpx seems to support more formats.
This will prevent hard to find bug in the future.
2015-03-01 14:03:05 -05:00
Nicolas Dufresne
1521f65e8d vpxdec: Don't memcpy in frame map failed
This avoid a crash if mapping the frame failed.
2015-03-01 14:03:04 -05:00
Luis de Bethencourt
8e5a16e662 jack: case missing break statement
commit b1098c2ea5 added a new case in
gst_jack_audio_src_get_property() but forgot to add the break statement to it.
2015-02-19 11:20:55 +00:00
hark
b1098c2ea5 jack: Add property port-pattern to specify which JACK ports to connect to
https://bugzilla.gnome.org/show_bug.cgi?id=690719
2015-02-17 13:45:43 +02:00
Jimmy Ohn
f9a8f0ebfe pulsesink: Enhance code readability in pulsesink_query
In pulsesink_query function, we use a switch for the query
type. In the CAPS case, there is no 'break', instead we
return right away. Use a break and return at the end of
the function instead for better code readability.

https://bugzilla.gnome.org/show_bug.cgi?id=744461
2015-02-13 22:27:49 +00:00
Sebastian Dröge
f4b5107796 Improve and fix LATENCY query handling
This now follows the design docs everywhere, especially the maximum latency
handling.

https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 13:53:02 +01:00
Jimmy Ohn
bf10d33b9b pulsesink: Free format_info in query_getcaps
If we can not create probe stream in query_getcaps function, it will appear
memory leakage from format info.
The following patch prevent memory leakage in pulsesink.

https://bugzilla.gnome.org/show_bug.cgi?id=743178
2015-01-26 12:07:20 -03:00
Sebastian Dröge
db8ee7e7e0 Constify some static arrays everywhere 2015-01-21 09:56:41 +01:00
Sebastian Dröge
0c13b4fa6e Constify some static arrays everywhere 2015-01-21 09:56:41 +01:00
Sebastian Dröge
d5aab81a77 Constify some static arrays everywhere 2015-01-21 09:55:53 +01:00
Mark Nauwelaerts
0dd46accf6 pulsesink: uncork if needed upon commit
... to provide for a running clock.
2015-01-10 13:04:44 +01:00
Sebastian Dröge
bbcfc3b9e6 souphttpsrc: Don't return a buffer when returning not GST_FLOW_OK
basesrc assumes that we don't return a buffer if
something else than OK is returned. It will just
leak any buffer we might accidentially provide
here.

This can potentially happen during flushing.

Maybe fixes https://bugzilla.gnome.org/show_bug.cgi?id=741993
2014-12-30 16:28:09 +01:00
Tim-Philipp Müller
b76595d67e gdkpixbufoverlay: add "positioning-mode" property to allow absolute positions
Set positioning-mode=pixels-absolute to allow positioning with
absolute coordinates, meaning negative x/y offsets will be
interpreted as being to the left/above the video frame instead
of being interpreted as relative to the right/bottom edge of
the video frame (which is a silly default, but that's how it is).

This means we can nicely slide images into and out of the frame,
see gdkpixbufoverlay-test.

https://bugzilla.gnome.org/show_bug.cgi?id=739566
2014-12-25 15:38:37 +00:00
Thibault Saunier
7874bba773 vpXenc: CLOCK_TIME_NONE is not a valid min_latency value
We should just use 0 if we do not have the information
2014-12-09 20:38:22 +01:00
Tim-Philipp Müller
8c2d55d1e9 gdkpixbufoverlay: add "pixbuf" property
So we can set a GdkPixbuf directly instead of
reading it from an image file on the file system.
2014-11-30 14:35:06 +00:00
Tim-Philipp Müller
35f10e4630 gdkpixbuf: remove pixbufscale code that was never ported
Don't think we'll need this again.
2014-11-30 14:34:08 +00:00
Tim-Philipp Müller
023a1637d9 apev2mux: write APE tags at end for wavpack files
http://www.wavpack.com/file_format.txt:
"Both the APEv2 tags and/or ID3v1 tags must come at the end of the
WavPack file, with the ID3v1 coming last if both are present."

WavPack files that contain APEv2 tags at the beginning of the files
are unplayable on players that use FFmpeg (like VLC) and most other
software (except Banshee). Players that use libwavpack directly can
play the files because it skips the tags, but does not recognize the
tag data at that location.

https://bugzilla.gnome.org/show_bug.cgi?id=711437
2014-11-28 13:12:46 +00:00
Tim-Philipp Müller
c53747bdf5 speex: remove support for ancient speex versions 2014-11-22 21:28:35 +00:00
Branislav Katreniak
1e03ffb820 souphttpsrc: log connection events at info level
https://bugzilla.gnome.org/show_bug.cgi?id=739305
2014-11-22 15:14:58 +00:00
Vincent Penquerc'h
0b36fe59e1 flacdec: set the channel positions using the appropriate API
This avoids _set_format setting the unpositioned flag when passed
NULL as channel positions, as it would not be cleared when setting
actual channel positions later.
2014-11-12 14:10:40 +00:00
Aurélien Zanelli
d0e8a385e0 vpx: mark arnr-type properties as deprecated and set them to no-op
ARNR type control in libvpx has been deprecated so this commit mark the
vp8enc and vp9enc associated properties as deprecated and change their
behavior to just display a warning message.

https://bugzilla.gnome.org/show_bug.cgi?id=739476
2014-11-10 16:14:17 +01:00
Vineeth T M
63e0b29291 pngdec: change parse logic
Right now in parse logic the signature is checked every time the parse function
is called, and the whole data is the scanned each and every time, even though the
data is scanned in the previous instance. Changing the logic such that, we skip
the bytes which are already scanned in the previous instances of parse. This
helps in avoiding multiple scan of already scanned data/signature.

https://bugzilla.gnome.org/show_bug.cgi?id=737708
2014-11-04 10:55:32 +00:00
Tim-Philipp Müller
3956f5addc Sprinkle some G_PARAM_DEPRECATED and #ifndef GST_REMOVE_DEPRECATED 2014-11-02 16:58:30 +00:00
Aurélien Zanelli
130873c8fd vpx: remove compatibility defines
We are guaranteed to have VPX_IMG_FMT_I420, VPX_PLANE_Y,
VPX_PLANE_U and VPX_PLANE_V as we require libvpx > 1.1.0.

https://bugzilla.gnome.org/show_bug.cgi?id=739476
2014-11-01 15:40:44 +00:00
Tim-Philipp Müller
29e7b20610 wavpack: remove support for ancient API version 2014-11-01 15:40:44 +00:00
Vincent Penquerc'h
ca9528d0b0 speexenc: update output segment stop time to match clipped samples
This will let oggmux generate a granpos on the last page that properly
represents the clipped samples at the end of the stream.
2014-10-30 14:43:22 +00:00
Vincent Penquerc'h
b18d8b085a flacenc: update output segment stop time to match clipped samples
This will let oggmux generate a granpos on the last page that properly
represents the clipped samples at the end of the stream.
2014-10-30 14:30:30 +00:00
Tim-Philipp Müller
31b8cfecc2 pulse, v4l2: add missing G_END_DECLS in some places 2014-10-28 21:32:06 +00:00
Tim-Philipp Müller
666b596aa2 pulse: remove some unused typedefs 2014-10-23 15:46:29 +01:00
Ananda
ec3af50cc2 speex: Fix segfault when resetting the codecs multiple times
https://bugzilla.gnome.org/show_bug.cgi?id=738793
2014-10-23 10:30:26 +02:00
Arun Raghavan
163155715f pulsesink: Temporarily disable stream status posting
We need a mechanism in PulseAudio to allow running code outside the
mainloop lock. Then we'd be able to post to the bus (taking the
GST_OBJECT_LOCK), without worrying about locking order with the mainloop
lock, which is the current cause of deadlocks while trying to post the
stream status messages.

https://bugzilla.gnome.org/show_bug.cgi?id=736071
2014-10-22 23:12:38 +05:30
Nirbheek Chauhan
f35f3ccf7c souphttpclientsink: Fix lifetime of stream headers and queued buffers
Stream headers are updated whenever ::set_caps is called, so we can't assume
they'll be valid before the message body is written out. We *can* assume that
for queued buffers, but SOUP_MEMORY_STATIC is still wrong for those.

Also, add some debug logging for stream header interactions.

https://bugzilla.gnome.org/show_bug.cgi?id=737771
2014-10-02 12:47:36 +03:00
Nirbheek Chauhan
374552a720 souphttpclientsink: Add some more useful debug logging 2014-10-02 09:48:49 +03:00
Nirbheek Chauhan
745d497318 souphttpclientsink: Free queued buffers in ::reset
::render sets a new callback for writing out new buffers only if there aren't
already buffers queued for writing with a previously-scheduled callback.
However, if the previously-scheduled callback is interrupted by a state change
(either manually or due to an error) and there are still buffers in the queue,
restarting the pipeline will result in buffers being queued forever, and no
callbacks will ever be scheduled, and no buffers will be written out.

https://bugzilla.gnome.org/show_bug.cgi?id=737739
2014-10-02 09:48:27 +03:00
Sebastian Dröge
23a3377b1e vp8enc/vp9enc: Protect the encoder with a mutex in all situations 2014-09-30 11:35:42 +03:00
Sebastian Dröge
df053c997c vp9enc: Allow caps renegotiation
https://bugzilla.gnome.org/show_bug.cgi?id=726329
2014-09-30 11:35:42 +03:00
Sebastian Dröge
ced5d657e3 vp8enc: finish() and drain() should return a GstFlowReturn 2014-09-30 11:35:42 +03:00
Jose Antonio Santos Cadenas
a2e2012ae3 vp8enc: Allow caps renegotiation
https://bugzilla.gnome.org/show_bug.cgi?id=726329
2014-09-30 11:35:35 +03:00
Arun Raghavan
2a3adec2f7 pulse: Add some documentation about threading and synchronisation
This gives a quick introduction to how the pulsesink/pulsesrc code
interacts with the pa_threaded_mainloop that we start up to communicate
with the server.
2014-09-30 06:28:50 +05:30
Arun Raghavan
0ed08ac3fd pulsesink: Make emitting stream status messages synchronous
The stream status messages are emitted in the PA mainloop thread, which
means the mainloop lock is taken, followed by the Gst object lock (by
gst_element_post_message()). In all other locations, the order of
locking is reversed (this is unavoidable in a bunch of cases where the
object lock is taken by GstBaseSink or GstAudioBaseSink, and then we get
control to take the mainloop lock).

The only way to guarantee that the defer callback for stream status
messages doesn't deadlock is to either stop posting those messages, or
make sure that the message emission is completed before we proceed to
any point that might take the object lock before the mainloop lock
(which is what we do after this patch).

https://bugzilla.gnome.org/show_bug.cgi?id=736071
2014-09-30 06:28:50 +05:30
Sanjay NM
26a1344f37 Miscellaneous minor cleanups
Fix redundant variables and assignments,
and unreachable breaks.

https://bugzilla.gnome.org/show_bug.cgi?id=736875
https://bugzilla.gnome.org/show_bug.cgi?id=736876
https://bugzilla.gnome.org/show_bug.cgi?id=736879
https://bugzilla.gnome.org/show_bug.cgi?id=736880
https://bugzilla.gnome.org/show_bug.cgi?id=736881
https://bugzilla.gnome.org/show_bug.cgi?id=736888
https://bugzilla.gnome.org/show_bug.cgi?id=736890
https://bugzilla.gnome.org/show_bug.cgi?id=736892
https://bugzilla.gnome.org/show_bug.cgi?id=736893
https://bugzilla.gnome.org/show_bug.cgi?id=736894
2014-09-24 00:45:31 +01:00