Commit graph

3341 commits

Author SHA1 Message Date
Tim-Philipp Müller
377c806685 video: don't crash when blending onto video formats that unpack to 64 bits per pixel
We only allocate 8 bits per component for our temp buffers, which
causes invalid memory accesses if we try to unpack formats that
unpack into a format with 16 bits per component such as e.g. v210.

We don't support blending onto those yet, so just bail out.
2012-11-07 11:17:14 +00:00
Wim Taymans
4463df5b0d rtp: fix ntp56 parsing 2012-11-06 09:18:54 +01:00
Wim Taymans
82d327fb91 rtp: add helpers for header extensions
Add helpers and defines for the NTP-64 and NTP-56 header extensions.
2012-11-06 09:18:54 +01:00
Ognyan Tonchev
6318a4602a rtsp: fix GstRTSPMessage g-i annotations for out parameters
https://bugzilla.gnome.org/show_bug.cgi?id=687620
2012-11-05 13:21:39 +00:00
Tim-Philipp Müller
5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Miguel Angel Cabrera Moya
244fdcc69a audiobasesink: use the same type as the internal type to return it
https://bugzilla.gnome.org/show_bug.cgi?id=687466
2012-11-02 19:52:38 +00:00
Miguel Angel Cabrera Moya
2d8edb1e86 video-blend: fix memory leak when called with invalid parameters
https://bugzilla.gnome.org/show_bug.cgi?id=687472
2012-11-02 19:37:26 +00:00
Miguel Angel Cabrera Moya
4b083d608e rtspconnection: remove extra return and fix GError leak
https://bugzilla.gnome.org/show_bug.cgi?id=687473
2012-11-02 19:30:23 +00:00
Ognyan Tonchev
ff04a1b4c6 rtspconnection: fix g-i annotations for out parameters
https://bugzilla.gnome.org/show_bug.cgi?id=687421
2012-11-02 12:43:52 +00:00
Wim Taymans
5f44303925 audioringbuffer: reset spec on _release
Reset the caps and the audioinfo when releasing the ringbuffer.
Fixed a bug with reusing pulsesink.
2012-10-30 10:33:04 +00:00
Miguel Angel Cabrera Moya
b1318c86e8 rtpbasedepay: remove unused variable
https://bugzilla.gnome.org/show_bug.cgi?id=687146
2012-10-29 21:20:35 +00:00
Tim-Philipp Müller
5f45069624 pbutils: fix g-i search path for GstBase-1.0.gir
Fixes: Couldn't find include 'GstBase-1.0.gir' build error.
2012-10-29 13:10:15 +00:00
Tim-Philipp Müller
a4f2df6341 Revert "g-i: change g-ir-scanner arg --library=libgstfoo-X.la to --library=gstfoo-X"
This reverts commit e39fbe6b7e.

Looks like we need to pass the full .la file after all in a setup
with libtool, or it might not find the library, e.g. like

  ERROR: can't resolve libraries to shared libraries: gstfft-1.0

Conflicts:
	gst-libs/gst/audio/Makefile.am
	gst-libs/gst/pbutils/Makefile.am

Also see https://bugzilla.gnome.org/show_bug.cgi?id=603710
2012-10-29 12:47:05 +00:00
Sreerenj Balachandran
f816f94995 videodecoder: fix inappropriate compiler optimization hint macro usage
https://bugzilla.gnome.org/show_bug.cgi?id=679456
2012-10-28 23:09:36 +00:00
Miguel Angel Cabrera Moya
e921b5b0f3 exiftag: fix use after free and memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=687055
2012-10-28 20:19:56 +00:00
Miguel Angel Cabrera Moya
51c4e51d9c vorbistag: fix memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=687057
2012-10-28 20:16:06 +00:00
Tim-Philipp Müller
973f4f09ea audio: try harder to make g-i use the build-tree libgsttag
without adding additional --library= tags, which shouldn't be there.

https://bugzilla.gnome.org/show_bug.cgi?id=679315
2012-10-28 17:59:27 +00:00
Tim-Philipp Müller
9453d7c287 pbutils: try harder to make g-i use the build-tree libgsttag,-audio, and -video
without adding additional --library= tags, which shouldn't be there.

https://bugzilla.gnome.org/show_bug.cgi?id=679315
2012-10-28 17:59:08 +00:00
Tim-Philipp Müller
e39fbe6b7e g-i: change g-ir-scanner arg --library=libgstfoo-X.la to --library=gstfoo-X
As it should be according to the man page.

https://bugzilla.gnome.org/show_bug.cgi?id=679315
2012-10-28 17:35:57 +00:00
Tim-Philipp Müller
26b88987ee pbutils: add caps description for Apple ProRes video 2012-10-25 17:16:58 +01:00
Ognyan Tonchev
6e5ea441e7 rtsp: Don't use invalid sockets
return false from dispatch () if the read and write sockets have been
unset in tunnel_complete ()

Setting up HTTP tunnels causes segfaults since the watch for the second
connection is not destroyed anymore in tunnel_complete () and the connection
will still be used even though it is not valid anymore.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686276
2012-10-25 17:59:47 +02:00
Tim-Philipp Müller
883dc41848 pbutils: fix installer detail string version number
Should still be '1.0' not '1.1'. Fixs pbutils unit test.
2012-10-25 14:41:22 +01:00
Mark Nauwelaerts
45d802b63f audiodecoder: track forced decoding state 2012-10-24 14:46:22 +02:00
Sebastian Dröge
3c1041d5eb Revert "gst: Add better support for static plugins"
This reverts commit d2d79e3bc2,
which was accidentially pushed.
2012-10-24 13:26:26 +02:00
Sebastian Dröge
d2d79e3bc2 gst: Add better support for static plugins 2012-10-24 12:10:44 +02:00
Sebastian Dröge
1813701ef2 audiobasesink: Add explanation to the GAP event handling code 2012-10-24 11:22:29 +02:00
Sebastian Dröge
b793d0bfae audiobasesink: Properly handle GAP events
These are now converted into silence buffers if they have
a duration or cause the ringbuffer and clock to be started
if they don't have a duration.

Fixes bug #685273.
2012-10-24 11:19:05 +02:00
Tim-Philipp Müller
60f93735c0 vorbistag: add mapping for 'ALBUM ARTIST' with space
As found in sample file for bug #684701.
2012-10-23 15:56:10 +01:00
Wim Taymans
3787b6d05e riff: add bpp to caps for msvideo
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686298
2012-10-22 10:30:16 +02:00
Tim-Philipp Müller
eb48b4d3cb tag: remove unnecessary g_type_init() call from mklicensestable tool
https://bugzilla.gnome.org/show_bug.cgi?id=686456
2012-10-20 12:59:11 +01:00
Tim-Philipp Müller
277ca04976 audiodecoder: don't leak message strings when error is not fatal
https://bugzilla.gnome.org/show_bug.cgi?id=681192
2012-10-20 11:38:10 +01:00
Tim-Philipp Müller
6c0c3eb967 videodecoder: don't leak message strings when error is not fatal 2012-10-20 11:37:33 +01:00
Thiago Santos
b57d3252ec vorbistag: fix 'TODO' on image tag parsing
Image tag now uses GstSample that has the buffer and caps
associated with it.
2012-10-18 17:50:41 -03:00
Tim-Philipp Müller
3ee2ad255b audiocdsrc: mention TOCs in docs 2012-10-17 19:59:57 +01:00
Tim-Philipp Müller
224fb90469 theora, app: use gst_element_class_set_static_metadata()
Avoids string copies.
2012-10-17 16:54:14 +01:00
Tim-Philipp Müller
efff57d497 videodecoder: return NULL from _allocate_output_buffer() if alloc fails
.. instead of garbage pointer. Also log failure in debug log.
Should've returned the flow return like _allocate_output_frame().

https://bugzilla.gnome.org/show_bug.cgi?id=683098
2012-10-17 10:55:01 +01:00
Tim-Philipp Müller
4834e11da0 riff-media: fix palette extraction some more
We still need to make sure the palette is always at least 1024
bytes.
2012-10-16 11:48:32 +01:00
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
Tim-Philipp Müller
5101adf740 Remove some #define GLIB_DISABLE_DEPRECATION_WARNINGS that are no longer needed 2012-09-10 01:27:18 +01:00
Tim-Philipp Müller
879e6ab35c appsrc: don't clear/free GCond twice 2012-09-10 01:16:41 +01:00
Tim-Philipp Müller
c4bd7c2391 discoverer: port to new GLib thread API 2012-09-10 01:10:33 +01:00
Thibault Saunier
91cdd763eb rtsp: port to the new GLib thread API 2012-09-09 20:41:06 -03:00
Thibault Saunier
39a907d04d video: port to the new GLib thread API 2012-09-09 20:41:06 -03:00
Thibault Saunier
dc5bb008a3 audio: port to the new GLib thread API 2012-09-09 20:41:06 -03:00
Thibault Saunier
acde0579f8 app: port to the new GLib thread API 2012-09-09 20:41:06 -03:00
Tim-Philipp Müller
37f9177817 video/x-3ivx -> video/mpeg, mpegversion=4 2012-09-10 00:28:15 +01:00
Tim-Philipp Müller
9b8cbec590 discoverer: extract audio depth correctly
But we should only do that if it comes straight from a
container or wavparse, not if it comes from a decoder,
otherwise it's probably not really meaningful.
2012-09-09 21:11:20 +01:00
Tim-Philipp Müller
bd12b82538 discoverer: reflow some code to avoid gst-indent ping-pong 2012-09-09 19:48:54 +01:00
Tim-Philipp Müller
2079a8c12b Remove glib-compat-private.h stuff we don't need any more
It's all been ported to the latest GLib API now.
2012-09-09 18:36:49 +01:00
Tim-Philipp Müller
202cd3c17c install-plugins: constify _install_*sync() details array arguments 2012-09-09 18:29:40 +01:00
Mark Nauwelaerts
d4c1b160ef videoencoder: only set invalid DTS equal to PTS for keyframe
Also add a bit more debug.

See also https://bugzilla.gnome.org/show_bug.cgi?id=679443
2012-09-07 17:41:52 +02:00