Commit graph

3499 commits

Author SHA1 Message Date
Tim-Philipp Müller
952f347146 playback: port to new GLib thread API 2012-09-10 01:10:24 +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
c0288304a9 gdp: dump bytes into debug log using GST_MEMDUMP
Instead of home-grown solution.
2012-09-09 18:05:55 +01:00
Tim-Philipp Müller
6d0a4ac8d5 audiorate: default to tolerance = 40ms instead of 0
People expect audiorate to fix things up and not make things worse
by default, so let's default to a similar tolerance as audiosinks
do. Should help with transcoding and the like, though one might
possible still want higher values then.
2012-09-09 15:58:36 +01:00
Tim-Philipp Müller
9f1856a7a5 videoconvert: fix up dither method enum GType name for consistency 2012-09-09 15:12:14 +01:00
Tim-Philipp Müller
9efb5f5af2 multi{fd,socket}sink: rename client-handle-removed signal to client-{fd,socket}-removed 2012-09-09 02:00:49 +01:00
Tim-Philipp Müller
84a3add409 multifdsink, multisocketsink: fix broken action signal setup
We can't just make a vfunc that takes a union of int
and pointer as argument, and then set up subclass-specific
action signals and signals that take int (in multifdsink's
case) or a GSocket * (in multisocketsink's case), and then
expect everything to Just Work. This blows up spectacularly
on PPC G4 for some reason.

Fixes multifdsink unit test on PPC, and fixes aborts in
multisocketunit test (now hangs in gst_pad_push - progress).
2012-09-09 01:57:59 +01:00
Mark Nauwelaerts
782adaf3ab streamsynchronizer: do not leak EOS events 2012-09-06 15:03:49 +02:00
Mark Nauwelaerts
22d7149ba6 audioconvert: plug leak 2012-09-06 14:02:07 +02:00
Wim Taymans
b26f35c3a4 streamsync: only remove DISCONT when needed
Check if the buffer is DISCONT before making a potentially expensive copy to
unset the DISCONT flag.
2012-09-06 13:37:11 +02:00
Mark Nauwelaerts
d3a0269695 streamsynchronizer: use GAP event to trigger preroll
... rather than an empty buffer
2012-09-05 16:59:12 +02:00
Wim Taymans
f3158569c6 streamsync: unblock gcond on flush-stop
See https://bugzilla.gnome.org/show_bug.cgi?id=680441
2012-09-04 11:09:50 +02:00
Wim Taymans
ac61fb5221 playsink: unblock pads before releasing
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679823
2012-09-04 10:06:01 +02:00
Tim-Philipp Müller
7c2e7b1a4f text/plain + text/x-pango-markup -> text/x-raw 2012-09-02 02:45:41 +01:00
Tim-Philipp Müller
7b89dddede encodebin: rename flags type name 2012-08-29 19:23:57 +01:00
Tim-Philipp Müller
0301aaa30d playbin: automatically deinterlace interlaced content by default 2012-08-26 22:26:08 +01:00
Tim-Philipp Müller
5b715cdb90 video/x-dvd-subpicture -> subpicture/x-dvd 2012-08-20 21:36:15 +01:00
Tim-Philipp Müller
8d284f8387 videoscale: mark Lanczos method as experimental/unstable
It's known to crash in some circumstances.
2012-08-18 21:33:38 +01:00
Edward Hervey
d86f6132ed streamsynchronizer: Handle stream switching
* Update outgoing segment.base with accumulated time, ensuring all
  streams are synchronized.
* Only consider streams as "new" is they have a STREAM_START event
  with a different seqnum.
* Use GstStream segment.base instead of separate variable to store
  the past running time.
* Disable passthrough
* Switch to glib 2.32 GMutex/GCond
* Avoid getting pad parent the expensive way
* Minor other fixes
2012-08-14 18:56:30 +02: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
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
d4f582edd6 tests: silence FIXMEs when running videoscale unit test 2012-08-05 17:21:31 +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
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
Sebastian Dröge
99d73c94e9 tag: Update for taglist/tag event API changes 2012-07-28 00:35:02 +02:00
Wim Taymans
683a38ad65 update for new variable names 2012-07-27 15:24:43 +02:00
Sebastian Dröge
628bc44ca5 streamsynchronizer: Unblock streams on FLUSH_START events 2012-07-27 12:59:20 +02:00
Wim Taymans
7f23e75f3c videoconvert: small cleanups
Make function pointers NULL when nothing needs to be done.
Pass target pixels to dither and matrix functions so that we can later make
them operate on the target buffer memory directly.
2012-07-27 12:19:04 +02:00
Mark Nauwelaerts
88e73f8515 audioconvert: prefer channels of base caps when fixating
... which in turn prefers to preserve input channels when converting.
2012-07-25 15:58:19 +02:00
Edward Hervey
2f37ba60a2 decodebin2: Mark streams as complete on CAPS event but don't block
This allows the following use-cases to expose the group and pads
before an ALLOCATION query comes through:
* Single stream use-cases
* Multi stream use-cases where all streams sent the CAPS event before
  the first ALLOCATION query

Some cases will still make the initial ALLOCATION query fail though,
which isn't optimal, but not fatal (it will recover when pads are
exposed, a RECONFIGURE event is sent upstream and elements can
re-send an ALLOCATION query which will reach downstream elements).

https://bugzilla.gnome.org/show_bug.cgi?id=680262
2012-07-24 10:53:19 +02:00
Wim Taymans
8c5ce3adb8 videotestsrc: prefix orc functions with video_test_src_orc 2012-07-24 09:09:22 +02:00
Wim Taymans
624051f811 volume: prefix orc functions with volume_orc_ 2012-07-23 17:30:50 +02:00
Wim Taymans
ebb4116412 adder: prefix orc functions with adder_orc_ 2012-07-23 17:27:46 +02:00
Wim Taymans
5d3b56e9c4 audioconvert: prefix orc functions with audio_convert_orc_ 2012-07-23 17:24:13 +02:00
Wim Taymans
1e8c480dd7 videoconvert: prefix orc functions with video_convert_orc_ 2012-07-23 17:19:56 +02:00
Wim Taymans
aefd1a5d6d videoscale: ranem gst_video_scale_orc -> video_scale_orc
So that functions are not exported
2012-07-23 17:13:29 +02:00
Wim Taymans
d4255d4339 videoscale: prefix orc functions with gst_video_scale_orc
See https://bugzilla.gnome.org/show_bug.cgi?id=680025
2012-07-23 17:03:53 +02:00
Edward Hervey
f72f4c09c9 streamsynchronizer: Re-enable stream update
Not 100% perfect yet, but allows people to test
2012-07-19 16:12:22 +02:00
Edward Hervey
c5901cebca decodebin: Block on caps event
A caps event is also used to establish that a stream has prerolled.

Without this, we end up allowing negotiation queries to fail, ending
in decoders (and other elements) to not be configured right from the
start with the most optimal settings.
2012-07-18 18:17:57 +02:00
Wim Taymans
0423329f91 playback: update for ghostpad changes 2012-07-18 17:50:28 +02:00
Tim-Philipp Müller
0615794300 playbin: use avdeinterlace for deinterlacing until deinterlace is ported 2012-07-17 13:45:13 +01:00
Tim-Philipp Müller
e29098f8f0 videoscale: remove formats Y800 and Y16 which no longer exist from template caps
Should help with the unit test, which has been failing.
2012-07-17 00:27:17 +01:00
Wim Taymans
3d8636a662 videoconvert: use video helper function
Use the video helper function to get the offset and scale of a format.
2012-07-16 11:22:03 +02:00
Wim Taymans
fec11c7809 videotestsrc: fix 10 bits formats
We need to check the number of bits of the unpack format when we prepare the
pixels for the pack function.
2012-07-16 11:22:03 +02:00
Wim Taymans
04c4ca23b1 playsink: remove old marshal remains 2012-07-13 12:35:44 +02:00
Edward Hervey
dad72182a0 decodebin2: Demote WARNING to DEBUG
Delaying auto-plugging is quite common
2012-07-12 09:51:36 +02:00
Edward Hervey
a0fbf92d43 playback: Remove custom stream-change event
Applications can now use the STREAM_START message to know if a new
stream has started
2012-07-12 09:51:35 +02:00