Commit graph

9861 commits

Author SHA1 Message Date
Tim-Philipp Müller dc08c01935 typefindfunctions: minor cosmetic change
Don't write < 1 when we mean == 0.
2012-02-08 19:34:57 +00:00
David Schleef beacccc396 videoscale: Add nearest/linear scaling for NV12 2012-02-04 13:41:47 -08:00
David Schleef e4f01106d0 videoscale: Add AYUV64 path to Lanczos 2012-02-04 13:41:47 -08:00
David Schleef 19141759c1 theoraenc: Use GAP flag when possible
Set TH_ENCCTL_SET_DUPLICATE_FLAG when we see a gap flag, to
indicate to the encoder that the current frame is a duplicate
of the previous frame.
2012-02-04 13:41:47 -08:00
Ryan Lortie e21501043b autogen.sh: allow calling from out-of-tree
https://bugzilla.gnome.org/show_bug.cgi?id=667665
2012-02-02 17:25:08 +00:00
Vincent Penquerc'h b4d6263f38 oggdemux: fix granpos interpolation violating max keyframe distance
In case many packets fit on a page, we may not see a granpos for
a while, and granpos interpolation can wrap the 'frames since last
keyframe' part of the granpos, generating a granpos which is smaller
than what it should be.

This is fixed by detecting keyframe packets (at least for Theora),
and updating the last keyframe granpos from this.

This may still be generating potentially wrong granpos for streams
which have a Theora like granpos (keyframes, a max keyframe distance
and a count of frames since last keyframe), and which allow implicit
granules on packets. For these streams, a custom keyframe detection
routine should be plugged into their GstOggStream mapper.

https://bugzilla.gnome.org/show_bug.cgi?id=669164
2012-02-02 13:06:29 +00:00
Vincent Penquerc'h b647c627e4 vorbisparse: pedantically recognize undefined headers too 2012-02-01 16:46:13 +00:00
Vincent Penquerc'h 809546c324 vorbisparse: fix header detection
It was matching non header packets.

This fixes various leaks, where buffers would be pushed onto a headers
list, but never popped.

Might also fix corruption as those buffers were dropped from the output
silently...

https://bugzilla.gnome.org/show_bug.cgi?id=669167
2012-02-01 16:40:35 +00:00
George Kiagiadakis 6f6f079dd9 tests: test 16-bit rgb formats in test_parse_caps_rgb
https://bugzilla.gnome.org/show_bug.cgi?id=667681
2012-01-30 15:56:45 +00:00
George Kiagiadakis 1251fb3fc0 video: Use host endianness when generating caps for 16-bit rgb formats
This is necessary in order to match what the caps strings in
video.h contain for 16-bit rgb formats and also to match how
gst_video_format_parse_caps expects them.

https://bugzilla.gnome.org/show_bug.cgi?id=667681
2012-01-30 15:56:44 +00:00
Vincent Penquerc'h bf82cc10c5 v4l: include the glib compatiblity header for the deprecated mutex API 2012-01-27 15:47:46 +00:00
Edward Hervey 629d734e83 Suppress deprecations in selected files 2012-01-25 12:51:46 +01:00
Sebastian Dröge 711e6a12ef Revert "decodebin2: Prune old groups before switching to the new one"
This reverts commit e2a038acee.

This wasn't entirely correct yet and needs some changes here
and there.
2012-01-25 12:25:05 +01:00
David Schleef bd900a6c85 propertyprobe: fix documentation 2012-01-23 09:29:45 -08:00
Vincent Penquerc'h c433ef9b70 playbin2: do not try to deactivate an inactive group
A group may have failed to activate due to an error (for instance,
having set the URI to a non existent location in about-to-finish).

https://bugzilla.gnome.org/show_bug.cgi?id=666395
2012-01-23 11:56:50 +00:00
Anssi Hannula dd8f9aca92 subtitleoverlay: fix state change stall on PAUSED->READY->PAUSED
After a PAUSED->READY change the sink pads are currently not set to
blocking state. When the element is set back to PAUSED, the change will
be done asynchronously, but as the _pad_blocked_cb() callback is now not
called, the state change never completes.

Fix that by setting the sink pads to blocking state on a PAUSED->READY
change, which ensures that the _pad_blocked_cb() is called when needed
on any future READY->PAUSED change. The sink pads are already put to
blocking state on NULL->READY change, so this behavior is consistent.

Fixes bug #668097.
2012-01-20 17:29:06 +00:00
Mark Nauwelaerts 71f70c98ef streamsynchronizer: avoid unlikely NULL dereference 2012-01-19 16:43:40 +01:00
Mark Nauwelaerts e82ff60a4c videoscale: prevent implicit upgrade to integer type and sign extension 2012-01-19 16:43:38 +01:00
Mark Nauwelaerts 656423bd65 gst-discoverer: remove extraneous variable 2012-01-19 16:43:35 +01:00
Mark Nauwelaerts be34d4c78e playsink: verify linking to overlay element 2012-01-19 16:43:32 +01:00
Mark Nauwelaerts e5f6675ea3 playsink: avoid finding sink in NULL bin in corner case 2012-01-19 16:43:30 +01:00
Mark Nauwelaerts 2d3b3395cc tag: exif: add missing break 2012-01-19 16:43:27 +01:00
Tim-Philipp Müller c6ac975468 Add --disable-fatal-warnings configure option 2012-01-19 14:07:34 +00:00
Youness Alaoui e2a038acee decodebin2: Prune old groups before switching to the new one
In order to allow for proper functionality when a decoder only supports
one instance at a time (dsp), we must block the demuxer pads when they
get created if they are not part of the active group, preventing buffers
from being sent to the decoder (and initializing it through setcaps),
then after we switch to a new group, we unblock the demuxer pads for
the active groups. In the callback for the unblock, we prune the old
groups, making sure the previous decoder instance is destroyed before
we push a buffer to the new instance.
2012-01-19 09:04:52 +01:00
Mark Nauwelaerts 3e312e6e16 baseaudiosink: commit correct number of samples when not syncing 2012-01-17 21:46:58 +01:00
Mark Nauwelaerts 34d767c6a8 oggstream: initialize variable
... to help out challenged compiler.
2012-01-17 18:19:30 +01:00
Mark Nauwelaerts 974c678ec8 audiodecoder: register state change function 2012-01-17 11:53:51 +01:00
Vincent Penquerc'h 8d29fe8834 alsasink: fix high sample rates being rejected
An ALSA sink may select a different rate (as we use the _set_rate_near
API, which is not guaranteed to set the exact target rate).
The rest of the code seems to already handle this well, as output
from a 88200 Hz file seems to have the correct pitch when selecting
a 96 kHz rate.
2012-01-16 11:46:05 +00:00
Vincent Penquerc'h 361f2b169c alsasink: fix rate match message mistaking error code for sample rate 2012-01-16 11:46:05 +00:00
Vincent Penquerc'h e60027c795 alsasink: log API errors along with the error code and string 2012-01-16 11:46:05 +00:00
Reynaldo H. Verdejo Pinochet d32ce909f1 Android, Add explicit path for zlib
This change fixes building gst-libs/gst/tag/ code with
the Android buildsystem.
2012-01-13 16:57:15 -03:00
Reynaldo H. Verdejo Pinochet 87bb5dddb2 Fix wrong access to undefined struct member
For the USE_TREMOLO case, GstVorbisDec doesn't have
a vb member. Besides, Tremolo's vorbis_dsp_synthesis()
expects a vorbis_dsp_state to be passed as first
argument. Not a vorbis_block.
2012-01-13 14:50:49 -03:00
Reynaldo H. Verdejo Pinochet 22e6c28284 Fix TREMELO -> TREMOLO typo 2012-01-13 14:47:13 -03:00
Vincent Penquerc'h a8a3e3f7d5 xvimagesink: fix leak when images are freed after the X context
I'm not 100% sure this is valid on any other X server than mine,
but since the XFree call does not take the context as a parameter,
it seems pretty certain it's the right thing to do, but I'll put
this caveat here in case someone checks in the future.
2012-01-13 16:52:23 +00:00
Tim-Philipp Müller 70c6c2ae0c tests: discoverer test is now valgrind clean 2012-01-12 17:31:44 +00:00
Vincent Penquerc'h 3fbd95d85e theoraparse: fix array leak 2012-01-12 16:24:01 +00:00
Vincent Penquerc'h ab7e72ad70 discoverer: fix structure leak
I hit the 'misc' one, but let's also make sure the topology
one get freed as well, though I do not know if this can happen
twice.
2012-01-12 14:27:25 +00:00
Reynaldo H. Verdejo Pinochet 1a8ee4536c Add missing DEFAULT_INCLUDES on androgenizer call
Fix building of the libgstvideo module on Android by adding the
missing and needed $(DEFAULT_INCLUDES) to CFLAGS for the
androgenizer call on gst-libs/gst/video/Makefile.am

Before this change, building was failing due to gst-plugins-base/
and gst-plugins-base/gst-libs/gst/video being left out of the
include path.
2012-01-11 21:04:40 -03:00
Vincent Penquerc'h 9f4b71b2a7 oggdemux: fix push mode chain leak
When I first implemented push mode seeking, I removed the chain
freeing there as it could be used later. The current code does not
seem to do that though, so I'm restoring the previous freeing,
which plugs the leak while apparently not reintroducing use of
freed data with chained and normal files, both with gst-launch
playbin2 and Totem.
2012-01-11 16:17:42 +00:00
Vincent Penquerc'h 426f991b52 discoverer: fix leaks caused by some base class dtors not being called 2012-01-11 12:52:17 +00:00
Vincent Penquerc'h 96e40584ce discoverer: fix caps and discoverer object ref leaks 2012-01-11 12:16:28 +00:00
Vincent Penquerc'h 9ab18d7a68 discoverer: add a few consts where appropriate 2012-01-11 11:55:59 +00:00
Vincent Penquerc'h 7ad6431837 discoverer: fix pad leak 2012-01-11 11:55:36 +00:00
Vincent Penquerc'h 83c9396850 Revert "oggmux: fix pad leak"
This reverts commit 5df30c1b90.

I must have dreamt the Valgrind logs, reverting this reintroduces
no leak, and gets rid of the test failures it introduced :S
2012-01-10 19:02:31 +00:00
Tim-Philipp Müller b155e094ed discoverer: use GST_TYPE_TAG_LIST for tag lists
They may not be structures in 0.11/1.0.
2012-01-10 18:29:22 +00:00
Tim-Philipp Müller 5f20af6ce5 discoverer: fix potential tag list leaks
Not that I have ever seen these in practice, but if they
can't happen we may just as well just assign the new tag
list. Merge properly to be on the safe side, and also
avoid a useless tag list copy in the normal case where
there is no tag list yet.
2012-01-10 18:29:21 +00:00
Tim-Philipp Müller b794f78d26 discoverer: fix potential caps leak
in last else chunk.
2012-01-10 18:29:21 +00:00
Vincent Penquerc'h 35df9d2ad9 oggstream: fix tag list leak 2012-01-10 16:57:04 +00:00
Vincent Penquerc'h a718b859a7 oggdemux: fix pad leak 2012-01-10 16:51:09 +00:00
Vincent Penquerc'h ef1469fc8b oggdemux: fix hang on small truncated files
A first hang was happening when trying to locate a page backwards,
where we'd sync forever on the same page.
With that fixed, a second hang would happen after preparing an EOS
event, but with no chain created yet to send it to, the pipeline
would stay idle forever.
An element error is now emitted for this case.
2012-01-10 16:20:23 +00:00