Commit graph

12084 commits

Author SHA1 Message Date
Wim Taymans 9b3849db1c x11: fix alignment in non-XSHM case
Align the allocated memory to 16 bytes. When doing XSHM we are already aligned
to a page boundary but without, we use plain g_malloc, which could allocate
aligned on 8 bytes only.

See https://bugzilla.gnome.org/show_bug.cgi?id=680796
2012-08-10 16:58:47 +02:00
Wim Taymans da4884a834 x11: don't block in buffer acquire
Don't ever block when acquiring a buffer from the bufferpool in the fallback
mode. If we block, we might deadlock when going to PAUSED because we never
unlock when going to paused.

The acquire can block when there are no more buffers in the pool, this is a
sign that the pool is too small. Since we are the only ones using the pool in
the fallback case and because we scale the buffer, someone else must be using
our pool as well and is doing something bad.
2012-08-10 12:13:57 +02:00
Tim-Philipp Müller 0dd2766d83 oggmux: pick delta pad earlier during header parsing and based on video/non-video
Pick delta pad earlier during header parsing, and pick it based
on whether it's a video stream or not rather than some rather
byzantine signalling from theoraenc etc. which would set the delta
flag on header packets which oggmux would then pick up and determine
that this is a "delta-able" stream.

Since the new videodecoder-based theoraenc didn't do that any more,
we would only see the first delta flag on the second video packet,
which is after we've already muxed a few audio packets flagged as
key units, which trips up the unit test.

Fixes pipelines/oggmux unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=679958
2012-08-10 10:45:09 +01:00
Tim-Philipp Müller d1299d1357 videodecoder: fix seeking again
Add missing break in FLUSH_STOP case.
2012-08-09 19:57:49 +01:00
Sebastian Dröge 62ec7f837d audioencoder: Let global tag events be handled the same way as other events 2012-08-09 17:06:31 +02:00
Sebastian Dröge e9fbba63b5 audiodecoder: Let global tag events be handled the same way as other events 2012-08-09 16:55:19 +02:00
Sebastian Dröge 2a1f8a4da3 audio: Merge upstream stream tags 2012-08-09 16:24:47 +02:00
Sebastian Dröge b141bfed60 video: Merge upstream stream tags 2012-08-09 16:24:24 +02:00
Sebastian Dröge 5989d75e10 theoradec: Use new video decoder tag API 2012-08-09 16:09:46 +02:00
Sebastian Dröge 591cbf0f46 docs: Add new video API to the docs 2012-08-09 16:03:25 +02:00
Sebastian Dröge 9ffb579b75 videodecoder: Add API to conveniently handle tags 2012-08-09 16:02:42 +02:00
Sebastian Dröge 3c915afc39 videoencoder: Add API to conveniently handle tags 2012-08-09 16:02:15 +02:00
Sebastian Dröge 7f0e65bb46 audio: Always keep a complete taglist around
Otherwise updates to the tags will cause non-updated
tags to be lost downstream.
2012-08-09 15:48:03 +02:00
Sebastian Dröge 6e5bee2d1a docs: Add new audio base classes API to the docs 2012-08-09 15:30:30 +02:00
Sebastian Dröge bc4d923982 audioencoder: Add negotiate vfunc that is used to negotiate with downstream
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 15:27:33 +02:00
Sebastian Dröge 9309272309 audioencoder: Decouple setting of output format and downstream negotiation
This makes the audio encoder base class more similar to the video
encoder base class.
2012-08-09 15:21:01 +02:00
Sebastian Dröge 513d4f7cd1 audiodecoder: Add negotiate vfunc that is used to negotiate with downstream
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 15:10:05 +02:00
Sebastian Dröge e1702d62a0 audiodecoder: Decouple setting of output format and downstream negotiation
This makes the audio decoder base class more similar to the video
decoder base class.
2012-08-09 15:02:27 +02:00
Sebastian Dröge e37bb460bd videoencoder: Add negotiate vfunc that is used to negotiate with downstream
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 14:47:46 +02:00
Sebastian Dröge 7cb22ef241 videodecoder: Add negotiate vfunc that is used to negotiate with downstream
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 14:47:46 +02:00
Tim-Philipp Müller 5adc87c6bd tests: fix vorbisdec test
There won't be a tag messages on the bus, because tags
are now sent downstream for sinks to post on the bus,
and there's no sink involved here that would do that.
Secondly, the audio decoder base class only sends the
tags out once it has received some non-header data as
input, which is not something we're providing here.
2012-08-09 00:54:30 +01:00
Sebastian Dröge 7bdcb12b41 gst: Set alignment at the correct place of GstAllocationParams 2012-08-08 17:41:19 +02:00
Andoni Morales Alastruey 15c712c7c6 oggdemux: add proper cast for print 2012-08-08 17:41:19 +02:00
Andoni Morales Alastruey d8326a8eda videoencoder: add proper format for gsize 2012-08-08 17:41:19 +02:00
Andoni Morales Alastruey d2aebc7f94 rtpbuffer: use proper format for gsize 2012-08-08 17:41:19 +02:00
Sebastian Dröge 98983e08ae videoencoder: Always propose a video buffer pool when the subclass didn't provide one
And also request 16-byte aligned buffers if the subclass didn't
set anything else.
2012-08-08 17:41:19 +02:00
Tim-Philipp Müller b158029caf Back to development 2012-08-08 16:21:22 +01:00
Tim-Philipp Müller b61c7fb9c3 Release 0.11.93 2012-08-08 15:12:56 +01:00
Sreerenj Balachandran fe08923628 videoconvert: fix example pipeline in docs
There is no more 'fourcc' typecast for format.

https://bugzilla.gnome.org/show_bug.cgi?id=681436
2012-08-08 11:21:51 +01:00
Sebastian Dröge 8b916da6d7 videofilter: Really add a buffer pool if none was provided
And also use the allocation parameters from the query if any
and if there are none set our own (16-byte alignment) on the
query.
2012-08-08 12:19:31 +02:00
Sreerenj Balachandran 8707546345 videofilter: Fix the crash in propose_allocation
Always set a buffer pool if none is provided and don't
set/unref a NULL buffer pool on the query.

https://bugzilla.gnome.org/show_bug.cgi?id=681436
2012-08-08 12:03:05 +02:00
Tim-Philipp Müller fc37cf5779 Silence some 'variable may be used uninitialized' compiler warnings
when compiling with -DG_DISABLE_ASSERT
2012-08-08 10:19:20 +01:00
Tim-Philipp Müller 17c839c8a1 No statements with side-effects in g_assert() or g_return_*() please 2012-08-08 10:11:48 +01:00
Tim-Philipp Müller 6422f2d085 Update .gitignore 2012-08-08 09:06:30 +01:00
Olivier Crête e24196ae28 theoradec: Drop ignored headers
Instead of finishing an empty frame, call drop_frame as we're
ignoring the header frame.
2012-08-07 13:58:58 -07:00
Руслан Ижбулатов f885829730 docs: Add proper libraries to GST_LIBS instead (-base) 2012-08-07 10:41:32 +02:00
Руслан Ижбулатов 8f33ad80d0 discoverer: Add source-setup signal for GstDiscoverer
https://bugzilla.gnome.org/show_bug.cgi?id=681260
2012-08-06 14:42:25 +02:00
Sebastian Dröge 880b9a20a6 tagdemux: Add stream-id to stream-start event 2012-08-06 14:01:28 +02:00
Sebastian Dröge e25a861ed6 oggdemux: Add stream-id to the stream-start event 2012-08-06 14:01:28 +02:00
Tim-Philipp Müller 910e497421 tests: remove custom tcase_skip_broken_test define which is now in core 2012-08-05 17:25:59 +01:00
Tim-Philipp Müller d4f582edd6 tests: silence FIXMEs when running videoscale unit test 2012-08-05 17:21:31 +01:00
Tim-Philipp Müller c90fb26fb9 Automatic update of common submodule
From 94ccf4c to 668acee
2012-08-05 16:37:55 +01:00
Tim-Philipp Müller 211cc1cf68 video: make sure g-i doesn't parse orc-generated video-orc.h file
It's not public API.
2012-08-05 14:40:03 +01:00
Tim-Philipp Müller 284f96765c pbutils: use generic marshaller for discoverer's "discovered" signal
If this change causes build issues, run git clean -x -d -f; ./autogen.sh
2012-08-05 14:06:14 +01:00
Tim-Philipp Müller 452b38560c encodebin: use generic marshaller for signal 2012-08-05 14:02:01 +01:00
Tim-Philipp Müller 24478261a2 adder: send CAPS event downstream fixing not-negotiated errors
Make sure to send a CAPS event downstream when we get our
first input caps. This fixes not-negotiated errors and
adder use with downstream elements other than fakesink.

Even gst-launch-1.0 audiotestsrc ! adder ! pulsesink works now.

Also, flag the other sink pads as FIXED_CAPS when we receive
the first CAPS event on one of the sink pads (in addition to
setting those caps on the the sink pads), so that a caps query
will just return the fixed caps from now on.

There's still a race between other upstreams checking if
caps are accepted and sending a first buffer with possibly
different caps than the first caps we receive on some other
pad, but such is life.

Also need to take into account optional fields better/properly.

https://bugzilla.gnome.org/show_bug.cgi?id=679545
2012-08-05 00:41:10 +01:00
Tim-Philipp Müller ec13933aaa tests: add adder test to check that caps are sent downstream 2012-08-04 22:25:08 +01:00
Tim-Philipp Müller 7892e1e22f videoscale: fix 4-tap scaling for 64-bpp formats
Fix invalid memory access caused by broken pointer arithmetic.

If we have a uint16_t *tmpbuf and add n * dest->stride to it, we
skip twice as much as we intended to because dest->stride is in
bytes and not in pixels. This made us write beyond the end of
our allocated temp buffer, and made the unit test crash.
2012-08-04 22:05:21 +01:00
Tim-Philipp Müller a314325002 videoscale: sprinkle some G_GNUC_INTERNAL
Not sure it actually makes any difference for plugins though.
2012-08-04 22:05:20 +01:00
Tim-Philipp Müller 4c6ea69464 videoscale: make 4tap scanline funcs static 2012-08-04 22:05:20 +01:00