Commit graph

3311 commits

Author SHA1 Message Date
Tim-Philipp Müller
b0d581eadc riff: create palette_data buffer correctly
gst_buffer_copy_into() will append to any existing
memory region, so don't create a buffer and alloc
some memory, but just create an empty buffer and
let _copy_into() append the memory we want. Fixes
the palette being 2048 bytes with the first half
being filled with garbage.

https://bugzilla.gnome.org/show_bug.cgi?id=686046
2012-10-16 00:55:56 +01:00
Mark Nauwelaerts
162433795a audio: properly handle clipping of empty buffer 2012-10-15 18:48:01 +02:00
Tim-Philipp Müller
336842d35c rtsprange: fix formatting and parsing of range floating-point values
Other locales might use a comma instead of a floating point
for floats, which might lead to parsing errors.

https://bugzilla.gnome.org/show_bug.cgi?id=684411
2012-10-13 00:19:54 +01:00
Tim-Philipp Müller
b772d5d271 riff: 8-bit paletted video is format RGB8P, not RGB8_PALETTED
https://bugzilla.gnome.org/show_bug.cgi?id=686046
2012-10-12 21:31:25 +01:00
Josep Torra
d8d9f0db97 audiodecoder: set of base_ts for segment formats other than time
Fixes setting of converted segment start as base_ts when estimate rate
is allowed.
2012-10-11 13:17:01 +02:00
Sebastian Dröge
e779002cfd audiodecoder: Don't unref caps twice
Thanks to Josep Torra for noticing.
2012-10-10 15:50:31 +02:00
Mark Nauwelaerts
706498cb6e videodecoder: finetune missing timestamp estimating
Monitor for reordered output timestamps, and then avoid oldest DTS
as PTS approach, and try for an oldest PTS as out PTS approach,
if at least all valid PTS available.

Avoids bogus estimating upon sparse available input PTS, and tries
to handle all-keyframe input, or input PTS which are actually DTS.
2012-10-10 15:04:10 +02:00
Wim Taymans
3591df23b1 docs: playbin2 -> playbin 2012-10-09 12:20:10 +02:00
Andoni Morales Alastruey
8a5cf5ef4d audio/video: update documentation for vfunc's that require chaining up 2012-10-08 13:04:02 +02:00
Wim Taymans
c1d67d9bd6 video: small docs fix 2012-10-08 09:21:16 +02:00
Tim-Philipp Müller
cdb22274e6 audioencoder: make stop() vfunc also optional
Just change default value, since we also don't want to fail
if we want to deactivate and aren't active or want to activate
and are already active.

https://bugzilla.gnome.org/show_bug.cgi?id=685490
2012-10-04 13:40:32 +01:00
Andoni Morales Alastruey
795d366a0c audioencoder: don't fail if the start vfunc is not implemented
Fix behaviour to match documentation and decoder class behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=685490
2012-10-04 13:14:10 +01:00
Michael Smith
92560517e8 Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base 2012-10-03 10:45:26 -07:00
Michael Smith
a29c4f9489 meta registration: use g_once functions to register these threadsafely. 2012-10-03 10:44:59 -07:00
Sebastian Dröge
9d59b789c7 videodecoder: Fix unused variable compiler warning if debugging is disabled 2012-10-02 09:29:49 +02:00
Sebastian Pölsterl
e8fed7f04b rtsp: mark url argument of gst_rtsp_url_parse() as out arg
https://bugzilla.gnome.org/show_bug.cgi?id=685242
2012-10-01 22:36:06 +01:00
Olivier Crête
531a5af30c videodecoder: Also use the object lock to protect the output_state
Hold both the stream and the object lock to modify the output_state,
this way it can be safely modified while hold either one or the other.

Also, only hold the object lock in the query

https://bugzilla.gnome.org/show_bug.cgi?id=684832
2012-10-01 14:43:29 -04:00
Tim-Philipp Müller
80e45be3d0 appsrc: fix max-latency property getter
Was returning the min-latency value.
2012-09-29 21:42:46 +01:00
Mark Nauwelaerts
4adfff03ef video{de,en}coder: fix missing timestamp estimating
... by having some more timestamp tracking in a private frame field.
Not doing so would lead to (a.o.) losing the needed minimum timestamp in
an earlier sent frame.
2012-09-28 13:59:24 +02:00
Mark Nauwelaerts
dc2f2c9a40 videodecoder: use oldest frame DTS to estimate missing outgoing PTS 2012-09-27 11:31:34 +02:00
Mark Nauwelaerts
dbc89e3ab6 videoencoder: use oldest frame PTS to estimate missing outgoing DTS 2012-09-26 16:32:37 +02:00
Mark Nauwelaerts
d247301aec videoencoder: incoming buffer DTS is irrelevant
... and bogus anyway if PTS != DTS
2012-09-26 16:32:37 +02:00
Mark Nauwelaerts
6973a66813 videoencoder: clip input buffers to current input segment
... rather than to output segment, which will only be set
to current input segment if some output is produced
(coming from non-clipped input).

Also fixup debug message.
2012-09-25 17:19:15 +02:00
Tim-Philipp Müller
62c111f1e4 videodecoder: don't take STREAM_LOCK on upstream events
Don't try to take STREAM_LOCK on upstream events such as QOS.
Protect qos-related variables with object lock instead. Fixes
possible deadlock when shutting down in certain situations.

https://bugzilla.gnome.org/show_bug.cgi?id=684658
2012-09-24 10:56:35 +01:00
Sebastian Dröge
1e8f5a0b06 videodecoder: Update comments about forwarding/not-forwarding serialized events immediately 2012-09-20 10:04:30 +02:00
Olivier Crête
ebae8ffa71 videodecoder: Protect all accesses to priv->output_frame with the stream lock
Fixes segfault as queries/events can happen after a reset
2012-09-19 21:16:01 -04:00
Arun Raghavan
9f9718715a audio: Explicitly specify endianness for IEC 61937 payloading
This is required since some systems (DirectSound and OS X) manage the
final byte order themselves.

https://bugzilla.gnome.org/show_bug.cgi?id=678021
2012-09-19 09:15:16 +05:30
Tim-Philipp Müller
5e0dfec62c Remove -DGST_USE_UNSTABLE_API 2012-09-17 16:05:37 +01:00
Mark Nauwelaerts
c629a44162 replace gst_tag_list_free with gst_tag_list_unref 2012-09-14 17:53:21 +02:00
Mark Nauwelaerts
f7c247b6a3 replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:02:59 +02:00
Wim Taymans
a57198a0ba audio: improve property description
Improve the description of the latency-time and buffer-time properties in the
audio sink and source.
2012-09-14 16:08:50 +02:00
Sebastian Dröge
6e33f2d464 audiodecoder: Don't output an (unreffed) buffer in error cases 2012-09-14 14:54:22 +02:00
Wim Taymans
24bab1e5a8 fix for appsink GstFlowReturn 2012-09-14 13:39:20 +02:00
Wim Taymans
e46b45b0b8 appsink: add GstFlowReturn from signal handler
Expect a GstFlowReturn from the signal handler, just like from the callback.
Also use the return value.
2012-09-14 13:31:36 +02:00
Tim-Philipp Müller
f7c6aa5abd Release 0.11.94 2012-09-14 02:47:54 +01:00
Olivier Crête
b35bc51ed6 audio: Fix annotations 2012-09-13 17:11:56 -04:00
Jan Schmidt
6159817c95 videodecoder: Handle GAP events
Drain out the decoder when encountering a gap. Needed for DVD 'still'
sequences which consist of a single video frame, and a large gap
while audio plays.
2012-09-12 23:07:29 -07:00
Jan Schmidt
52cfce851a Fix still-frame handling.
Still frame events are not OOB downstream. Also, always send
immediately downstream.
2012-09-12 23:07:28 -07:00
Stefan Sauer
2fb27fa463 xmptag: migrate to the _full version of the API and drop the _full postfix
Fix up all invocations.
2012-09-12 21:32:04 +02:00
Michael Smith
79f0210aed video: Add support for 4:2:2 10 bit video.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683838
2012-09-12 09:59:26 +02:00
Tim-Philipp Müller
ec27f4e13c tagdemux: also read tags if downstream activates us in pull mode right away
Fix reading of tags for the case filsrc ! footagdemux ! fooparse ! ..
where we would not read the tags because we never start our own
streaming thread.

https://bugzilla.gnome.org/show_bug.cgi?id=673185
2012-09-11 20:53:16 +01:00
Mark Nauwelaerts
899a809330 ext, gst-libs: only activate in pull mode if upstream is seekable 2012-09-11 17:37:27 +02:00
Wim Taymans
cbb78eb610 video-info: don't do alignment on the palette
Don't align the palette data. Fixes endless loop when trying to align
paletted formats.
2012-09-11 12:53:01 +02:00
Tim-Philipp Müller
d2237b2276 tagdemux: operate in pull mode
When we are operating in pull mode, we need to pull from upstream and push
downstream. Also make sure to push tags first.
2012-09-10 17:16:26 +02:00
Mark Nauwelaerts
214b7b6d1d video: add some padding
... and clean up some related resolved FIXMEs
2012-09-10 14:03:49 +02:00
Wim Taymans
0ce33461c8 audiosrc: check for flushing state in provide_clock
Only provide a clock when we are not flushing, this means that we have posted a
PROVIDE_CLOCK message. We used to check if we were acquired but that doesn't
work anymore now that we do the negotiation async in the streaming thread: it's
possible that we are still negotiating when the pipeline asks us for a clock.
2012-09-10 12:19:22 +02:00
Wim Taymans
44dab50b7a ringbuffer: add method to check the flushing state 2012-09-10 12:19:22 +02:00
Mark Nauwelaerts
75fe950c33 gst-libs: restore original full padding 2012-09-10 11:45:44 +02:00
Pontus Oldberg
a2f8ec4f5a ringbuffer: add support for timestamps
Make it possible for subclasses to provide the timestamp (as an absolute time
against the pipeline clock) of the last read data.
Fix up alsa to provide the timestamp received from alsa. Because the alsa
timestamps are in monotonic time, we can only do this when the monotonic clock
has been selected as the pipeline clock.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=635256
2012-09-10 11:34:14 +02:00
Mark Nauwelaerts
a29fab200c audio{de,en}coder: use GstClockTime parameters where appropriate
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683672
2012-09-10 11:20:50 +02:00