Commit graph

2365 commits

Author SHA1 Message Date
Andoni Morales Alastruey 595c49c40d ivorbisdec: fix duplicated symbols with vorbisdec 2013-05-03 14:29:52 +02:00
Tim-Philipp Müller f9befdecfe textrender: actually fixate output caps when fixating output caps 2013-05-02 23:41:02 +01:00
Andoni Morales Alastruey 47cbbe6514 ogg: fix duplicated symbols with schroedinger 2013-05-02 14:02:19 +02:00
Stefan Sauer cdfc05ec4d oggmux: add more logging and fix the object param for some logging
Use data->pad instead of pad for 'object'. Reduce indentation depth in a helper
with an early return.
2013-04-17 21:47:11 +02:00
Sebastian Dröge 948a4a3632 gst: Add better support for static plugins 2013-04-15 15:52:58 +02:00
Sebastian Dröge 6e01d1869b ogg: Prevent some symbol conflicts between the ogg plugin and schroedinger 2013-04-15 08:38:34 +02:00
Olivier Crête 48208c61a8 audiovisualizer: Don't try to sync controller values to invalid timestamp 2013-04-05 00:43:41 +01:00
Wim Taymans 461d58795a oggdemux: don't push on NOT_LINKED pads
If our previous flow return was NOT_LINKED, don't try to push on the pads some
more. If we get a RECONFIGURE event on the pad, try to push on it again.
2013-04-04 18:18:54 +02:00
Nicolas Dufresne e58f838ca3 oggdemux: Allow EOS on timestamp equal to stop/start
Changed the check to a current_time equal to the stop will produce
EOS instead of the next one. Also, segment.start can't be NONE, so removing
this check.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696899
2013-04-04 10:09:26 +02:00
Matthew Waters 4f1ba51c4b visualizer: handle non-existant pool in the default allocation query
gst_query_set_nth_allocation_pool() requires there to be a pool in the
query already. This is not always the case when we get the query from
upstream.  Use gst_query_add_allocation_pool() instead in such case.

https://bugzilla.gnome.org/show_bug.cgi?id=681719
2013-04-01 21:13:38 +01:00
Wim Taymans 564f720c40 oggdemux: mark keyframes
Use the mapper to set the delta-unit flag.
2013-03-31 18:57:13 +02:00
Wim Taymans f15bc6835b theoradec: handle empty adapter
Should not be empty but might be when we actually pass and decode the 0 packets
later.
2013-03-31 18:31:36 +02:00
Vincent Penquerc'h da673880eb theoraenc: do not reset the encoder when we need a keyframe
Instead, remember we need a keyframe, and we will force the encoder
to emit one next time we submit a new frame.
Since libtheora does not have an API to request a keyframe, we reset
the max keyframe interval to 1 temporarily.

This has the advantage that the rate control keeps its history,
and that the encoder won't choose different quant tables or
somesuch, thus requiring new streamheaders (although this is
probably only a theoretical possibility). Should also be a
bit faster than resetting the encoder.

https://bugzilla.gnome.org/show_bug.cgi?id=663350
2013-03-31 15:45:26 +01:00
Greg Rutz c480bac5b7 libvisual: fix improper video frame clear operation
The current code is memsetting the GstVideoFrame.data address to 0s (which
causes a segfault). This member is actually an array of data buffers (one for
each plane).  This fix iterates over each data plane to clear them all.

https://bugzilla.gnome.org/show_bug.cgi?id=695655
2013-03-13 00:51:55 +00:00
Stefan Sauer 28d09d43e5 oggmux: don't keep a static string beyond the ref of the owning object
Also move down the ref for the caps a bit, so tha we don't leak it in the branch that calls continue.
2013-03-05 22:31:26 +01:00
Stefan Sauer ce626fc3d8 oggmux: don't crash on caps being NULL
Also avoid unused variables if debugging is disabled.
2013-03-03 20:51:43 +01:00
Tim-Philipp Müller 4e1ccb2885 vorbis: small GValue optimisation
No need to copy buffers we put into the streamheader any more
now that we don't put caps on buffers any more, so there's no
danger of a refcount cycle.
2013-03-03 17:42:50 +00:00
Tim-Philipp Müller 13b8b35373 theora: small GValue optimisations
No need to copy buffers we put into the streamheader any more
now that we don't put caps on buffers any more, so there's no
danger of a refcount cycle.
2013-03-03 17:42:22 +00:00
Tim-Philipp Müller d97dd36ae5 ogg: small GValue optimisation
No need to copy buffers we put into the streamheader any more
now that we don't put caps on buffers any more, so there's no
danger of a refcount cycle.
2013-03-03 17:40:21 +00:00
Tim-Philipp Müller e045b6fb52 oggdemux: add audio-codec and video-codec tags for streams in more cases 2013-02-28 16:27:50 +00:00
Tim-Philipp Müller 8e4934820f pango: use new GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS define
https://bugzilla.gnome.org/show_bug.cgi?id=665751
2013-02-19 12:54:40 +00:00
Jan Schmidt fb102419c7 pango: 3rd time's the charm. Fix attribute list handling.
Really really fix attribute list handling by taking a
copy of the original attributes that pango_attr_list_filter
can mutate, but keep the original around intact to restore
later.
2013-02-08 00:05:24 +11:00
Jan Schmidt bc42d382e2 pango: Don't modify the original attributes list.
Take a copy of the original attributes list instead of just
a ref, since pango_attr_list_filter can remove elements from it.
2013-02-07 23:45:26 +11:00
Jan Schmidt 2528baf2c2 pango: Remove extra pango_attr_list_copy() from basetextoverlay
Fixes a per-buffer memory leak of the attribute list.
2013-02-07 23:06:57 +11:00
Wim Taymans ef8e17f993 visualizer: improve allocation
Based on patch by Matthew Waters

Add private data
Add decide_allocation vmethod
Refactor bufferpool negotiation

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719
2013-01-29 10:18:06 +01:00
yanghuolin 67a7b5a993 alsasink: don't use 100% CPU
The root cause is that alsa-lib is not thread safe for the same handle.
There are two threads in the gstreamer accessing alsa-lib not serilized.
The race condition happens when one thread holds the old framebuffer app_ptr
position in the kernel, another thread advances the framebuffer app_ptr.
when the former thread is scheduled to run again, it overwrites the app_ptr
to old value by copying from kernel.Thus,the app_ptr in the upper
alsa-lib(pcm_rate) become one period size more advanced than the lower
alsa-lib(pcm_hw & kernel).

gstreamer uses noblock and poll method to communicate with the alsa-lib.
The app_ptr unsync situation as described above makes the poll return immediately because
it concludes there is enough space for the ring-buffer via the low-level alsa-lib.
The write function returns immediately because it concludes there is not enough
space for the ring-buffer from the upper-level alsa-lib. Then the loop of poll
and write runs again and again until another period size is available for
ring-buffer.This leads to the cpu 100 problem.

delay_lock  is used to avoid the race condition.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=690937
2013-01-24 15:08:31 +01:00
Vincent Penquerc'h 658195e6de oggdemux: fix incorrect testing of invalid granpos values
Positive granulepos is valid, -1 granulepos is unset, and all
other negative granulepos are invalid.

Reported by Tim-Philipp Müller
2013-01-07 18:03:52 +00:00
Tim-Philipp Müller 76c0cca765 textoverlay: minor clean-up
Remove some macros that aren't needed any more.
2012-12-22 21:19:51 +00:00
Tim-Philipp Müller df8e7f14a8 textoverlay: support shaded background for A420 format
https://bugzilla.gnome.org/show_bug.cgi?id=687817
2012-12-22 21:18:11 +00:00
Thijs Vermeir dc9f19cbba vorbis: fix unused variable 2012-12-18 15:34:42 +01:00
Tim-Philipp Müller df6031f7c6 alsasrc: return negative value on read error
Otherwise baseaudiosrc won't go into the error code path.

https://bugzilla.gnome.org/show_bug.cgi?id=690197
2012-12-17 20:50:33 +00:00
Tim-Philipp Müller 3d5a78e67a alsa: post error message when audio device disappears
Don't loop forever if an USB audio device gets disconnected
while in use. Post an error message instead. This is not
enough yet though, we still need to make the base class
and/or the ring buffer bail out.

https://bugzilla.gnome.org/show_bug.cgi?id=690197
2012-12-16 01:00:43 +00:00
Sebastian Dröge d9b25afe71 ext: Fix some compilation errors caused by circular header includes 2012-12-12 17:22:31 +00:00
Tim-Philipp Müller 71e46b2478 gst_adapter_prev_timestamp -> gst_adapter_prev_pts
https://bugzilla.gnome.org/show_bug.cgi?id=675598
2012-11-14 00:03:15 +00:00
Sebastian Dröge c09f503f72 Revert "vorbisdec: Fix GType name conflict if tremor and libvorbis decoder are used in the same process"
This reverts commit 858392f88a.

A similar, cleaner fix was already in place.
2012-11-13 16:11:42 +01:00
Sebastian Dröge 858392f88a vorbisdec: Fix GType name conflict if tremor and libvorbis decoder are used in the same process 2012-11-13 15:41:34 +01:00
Tim-Philipp Müller ba255fbac6 textoverlay: implement background shading for IYU1
https://bugzilla.gnome.org/show_bug.cgi?id=687817
2012-11-07 13:59:53 +00:00
Tim-Philipp Müller bd578c1dd4 textoverlay: also draw shaded backgrounds for RGB and BGR
https://bugzilla.gnome.org/show_bug.cgi?id=687817
2012-11-07 13:25:13 +00:00
Tim-Philipp Müller caad241432 textoverlay: we can do YVU9 as well 2012-11-07 11:36:42 +00:00
Tim-Philipp Müller 16350b7d66 textoverlay: don't advertise 10-16-bit formats we can't blend text onto yet
We can't blend stuff on top of video formats that unpack into
ARGB64 or AYUV64 yet, so don't advertise them in our template caps.
2012-11-07 11:32:50 +00:00
Tim-Philipp Müller e3bb068392 textoverlay: fix up names of old gray formats
Y800 -> GRAY8, Y16 -> GRAY16_{LE,BE}
2012-11-07 09:46:50 +00:00
Tim-Philipp Müller 74343165e1 textoverlay: draw shaded background for some more video formats
https://bugzilla.gnome.org/show_bug.cgi?id=687817
2012-11-07 09:41:13 +00:00
Tim-Philipp Müller bedbfd0091 textoverlay: clamp shaded background box coordinates in one place 2012-11-07 09:41:13 +00:00
Tim-Philipp Müller 4aace8e0eb textoverlay: move background shading into separate function 2012-11-07 09:41:13 +00:00
Tim-Philipp Müller a53f0f382e textoverlay: don't abort if we don't know how to paint shaded background for a format
It's not a very nice thing to do.

https://bugzilla.gnome.org/show_bug.cgi?id=687666
2012-11-06 23:44:01 +00:00
Sreerenj Balachandran 6cbcca0bc5 textoverlay: forward allocation queries on video sink pad instead of discarding them
This allows the upstream elements to use the allocation parameters
or pools from the downstream elements like videosink.

https://bugzilla.gnome.org/show_bug.cgi?id=687459
2012-11-05 13:27:56 +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
Jonathan Liu 7f22e3ea7f oggstream: fix crash with 0 byte ogg packets
https://bugzilla.gnome.org/show_bug.cgi?id=687030
2012-10-29 12:04:38 +00:00
Tim-Philipp Müller 3138c4e696 pango: avoid unnecessary pango attribute list copy
We just want to keep it alive, not modify it, so a
simple ref should be enough.

https://bugzilla.gnome.org/show_bug.cgi?id=686841
2012-10-25 17:16:58 +01:00
Jihyun Cho 2e0174e13c pango: delete foreground color in shadow text
This makes colored text have gray drop shadows
instead of colored ones, which looks much better.

https://bugzilla.gnome.org/show_bug.cgi?id=686841
2012-10-25 17:16:58 +01: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
Tim-Philipp Müller ccbb233da8 alsasink: fix caps leak in acceptcaps function
https://bugzilla.gnome.org/show_bug.cgi?id=681192
2012-10-20 11:38:55 +01:00
Tim-Philipp Müller 1a69ec3fd3 alsa: if no formats in native endianness could be detected, try non-native endianness as well
This can happen, e.g. when using an USB sound card on
a big-endian device

https://bugzilla.gnome.org/show_bug.cgi?id=680904
2012-10-18 11:04:06 +01:00
Tim-Philipp Müller 1e329bb4f4 alsa: fix supported format detection
The format probing code was assuming there'd be one caps
structure for each separate width/depth combination like
we did in 0.10 all over the place: for one, we'd query
unsigned/signed formats together for the same width/height,
and we'd add the entire current structure to the probed
caps when we find a format is supported. Now that we have
all raw formats in a single structure, this is all not going
to work so well any more. We added the entire structure with
all possible formats to the caps if we support just one format.

Fix probing so that we only return the list of actually
supported raw audio formats (with native endianness) from
get_caps().
2012-10-18 11:03:07 +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
Sebastian Dröge 754d0fca25 ivorbisdec: Rename debug category to prevent symbol conflict when using static linking 2012-10-09 13:10:38 +02:00
Wim Taymans 3591df23b1 docs: playbin2 -> playbin 2012-10-09 12:20:10 +02:00
Sebastian Dröge c4fb8d1e69 basetextoverlay: Correctly handle empty text buffers 2012-09-27 12:41:28 +02:00
Tim-Philipp Müller 1c22b1fe11 oggmux: send stream-start event 2012-09-23 13:27:27 +01:00
Tim-Philipp Müller e072bd6130 oggmux: fix up previous commit
Was missing the header file change.
2012-09-21 16:10:27 +01:00
Tim-Philipp Müller 5890a4a803 oggmux: send a segment event at the beginning 2012-09-21 15:58:07 +01: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
Sebastian Dröge b19944d1e4 gst: Update for link/unlink function API change 2012-09-17 13:24:52 +02: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
Stefan Sauer b9054de15c collectpads: remove gst_collect_pads_add_pad_full
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:03:21 +02:00
Mark Nauwelaerts 899a809330 ext, gst-libs: only activate in pull mode if upstream is seekable 2012-09-11 17:37:27 +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
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 5bb8021fc9 oggdemux: port to new GLib thread API 2012-09-10 01:08:51 +01:00
Tim-Philipp Müller 794af4fc51 alsa: port to new GLib thread API 2012-09-10 01:06:51 +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 16c185bac6 libvisual: fix crashes and invalid writes in totem
This reverts part of "visual: enable commented out code again."
(commit 8222ba16c8).

The shader code does indeed look broken (or rather,
it makes assumptions that are not necessarily true here,
namly that pixel stride is 4, for example), which
makes totem very crashy and causes other weird behaviour.

Also see https://bugzilla.gnome.org/show_bug.cgi?id=683527
2012-09-08 23:03:16 +01:00
Mark Nauwelaerts 36e78af5bf pango: add missing break 2012-09-05 15:14:05 +02:00
Mark Nauwelaerts b3545604c0 pango: handle GAP event to update text position 2012-09-05 12:02:32 +02:00
Mark Nauwelaerts 62ef0fc55e oggmux: remove dead code 2012-09-05 12:02:32 +02:00
Mark Nauwelaerts 6a43c1f9c7 oggdemux: send GAP event
... in stead of old update newsegment event.
2012-09-05 12:02:32 +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 a99a1042b9 gst_message_new_duration() -> gst_message_new_duration_changed() 2012-09-02 01:27:17 +01:00
Wim Taymans bd9a7fdeaf audiovis: add more debug 2012-08-30 20:22:32 +02:00
Mark Nauwelaerts 8db0cc4350 pango: adjust to modified video overlay composition API 2012-08-30 12:12:39 +02:00
Mark Nauwelaerts b80f5e53c4 theoradec: reset freed input and output states
Conflicts:

	ext/theora/gsttheoradec.c
2012-08-28 14:31:06 +02:00
Tim-Philipp Müller 96faac2891 pango: fix bad unref and crashes with multiple text overlays
gst_element_class_get_pad_template() does not return a ref,
so we mustn't unref the template returned. Fixes crashes
when switching back and forth between different types of
subtitle streams.
2012-08-21 22:51:38 +01:00
Stefan Sauer 8222ba16c8 visual: enable commented out code again.
Finish the last change and reenable the shader code.
2012-08-17 23:04:53 +02:00
Wim Taymans c6e19d5df2 visual: add support for GstVideoFrame
Add support for GstVideoMeta and GstVideoFrame.
Remove some redundant fields that are also in GstVideoInfo
Disable the shader code, it looks broken.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719
2012-08-13 13:47:01 +02:00
Wim Taymans 19695f76d0 visualizer: small cleanup 2012-08-13 11:55:58 +02:00
Wim Taymans c4d97601ea visual: remove channel mask
We don't really care about what's inside those channels. This also makes the
caps valid because now it's no longer possible to have channels=1 and a mask
of 0x3.
2012-08-13 11:52:15 +02:00
Stefan Sauer a2b1243064 oggmux: remove superflous assignment 2012-08-12 09:57:11 +02:00
Stefan Sauer 8add0de2c5 visual: add a FIXME as the discussion in IRC discontinued 2012-08-11 12:52:07 +02:00
Tim-Philipp Müller 4ed7ebc071 oggdemux: set HEADER flag on header packets
https://bugzilla.gnome.org/show_bug.cgi?id=681499
2012-08-11 10:18:37 +01:00
Tim-Philipp Müller 8b15f5a8ab oggmux: don't leak dropped seek event 2012-08-11 09:53:49 +01: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
Sebastian Dröge 5989d75e10 theoradec: Use new video decoder tag API 2012-08-09 16:09:46 +02:00
Andoni Morales Alastruey 15c712c7c6 oggdemux: add proper cast for print 2012-08-08 17:41:19 +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
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
Sebastian Dröge e25a861ed6 oggdemux: Add stream-id to the stream-start event 2012-08-06 14:01:28 +02: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
Mark Nauwelaerts f1c583bde3 vorbisenc: adjust to modified audioencoder getcaps helper API 2012-07-25 15:58:19 +02:00
Vivia Nikolaidou 6830a7f744 theoraenc: Call video_encoder_negotiate() once configured 2012-07-24 20:42:49 +02:00
Wim Taymans c9c4aedaa6 oggdemux: don't copy empty packets
Don't try to copy empty packets, which contain a repeated frame in theora.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680520
2012-07-24 14:36:58 +02:00
Wim Taymans cdbd97a43d audiovisualizer: fixate caps completely
Call gst_caps_fixate() to make sure that the caps are completely fixated before
using them as the final caps in negotiation.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680162
2012-07-24 12:25:08 +02:00
Sebastian Dröge 5d830cfbd8 vorbis: Update for audio base classes API changes 2012-07-23 10:30:40 +02:00
Sebastian Dröge aa21a162d7 theora: Update for video base classes API changes 2012-07-23 10:19:16 +02:00
Sebastian Dröge ca928f3916 theoraenc: Use base class functions to allocate output buffers 2012-07-23 09:45:11 +02:00
Edward Hervey 0cc8445cfa theoradec: Call video_decoder_negotiate() once configured 2012-07-18 18:17:57 +02:00
Edward Hervey 1097102b20 oggdemux: Don't push stream-start in two different locations 2012-07-18 18:17:57 +02:00
Mark Nauwelaerts 3ecad525b7 pango: adjust to modified video overlay composition API 2012-07-17 18:08:11 +02:00
Stefan Sauer a1d2abbde6 audiovisualizer: shorten base class name
As suggested on IRC rename to AudioVisualizer. We use custom suffix on the type
to avoid clashing with other copies for the time being.
2012-07-16 21:58:23 +02:00
Stefan Sauer 673dafd09d oggmux: only drop flushing seeks after we started to mux
Don't drop all seek events. It is okay to seek before we send the headers. Non
flushing seeks are okay at any time later as well.
2012-07-16 11:27:57 +02:00
Edward Hervey 25aa25be3a oggdemux: Push out STREAM_START events when needed 2012-07-12 09:51:36 +02:00
Wim Taymans 566b5c4d1d visual: use right base class name
Rename to GstAudioBaseVisualizer. Also avoids conflict with a base class with
the same name in -bad.
2012-07-10 10:07:08 +02:00
Stefan Sauer 5e6abc449b visual: port to baseaudiovisualizer
Add a copy of the base class until it is stable. Right now the extra effects of
the baseclass are not supported as the sublass overwrites the buffer instead of
blending.
2012-07-09 19:59:53 +02:00
Stefan Sauer 85565952ee visual: split the plugin wrapper and the actual element 2012-07-09 19:59:53 +02:00
Tim-Philipp Müller a654ba5b85 pango: remove deprecated valign and halign properties
Replaced by valignment and halignment (enum-based now rather than strings).
2012-07-06 12:34:46 +01:00
Wim Taymans 53fc1f3fca update for query api changes 2012-07-06 11:50:44 +02:00
Wim Taymans 177fd005ab update for query api changes 2012-07-06 11:23:48 +02:00
Wim Taymans bc5ba349b7 update for allocation query changes 2012-07-06 11:05:09 +02:00
Sebastian Dröge 74c7524b49 gst: Implement segment-done event 2012-07-05 13:06:04 +02:00
Mark Nauwelaerts 4761e6d6ab pango: query downstream for video overlay composition meta support 2012-07-03 14:35:25 +02:00
Mark Nauwelaerts aa6295744b pango: adjust to modified overlay composition API 2012-07-03 14:35:25 +02:00
Tim-Philipp Müller 1396f804be pango: only map video buffer memory if actually needed
No need to map the video buffer if we're just going to attach
the meta; but if we map, we should do so in READWRITE mode.
2012-07-02 19:23:47 +01:00
Tim-Philipp Müller 52056653be pango: pass pre-multiplied alpha to overlay composition directly
We now support pre-multiplied alpha in the overlay composition API,
and can avoid multiple conversions if the the overlay also supports
pre-multiplied alpha. We should probably also have mapped the
buffer as READWRITE when unpremultiplying.
2012-07-02 19:23:04 +01:00
Tim-Philipp Müller c09512ee99 pango: remove support for video/x-surface again which is 0.10 stuff
This needs to be done and can be done differently/properly in 0.11.
2012-06-28 23:15:34 +01:00
Tim-Philipp Müller b381af7d2d theoraenc: clean up some property descriptions
We now require a sufficiently-recent libtheora.
2012-06-28 23:07:16 +01:00
Mark Nauwelaerts 0325a3bdae pango: use ported GstVideoOverlayComposition functionality
Based on commits by Thibault Saunier <thibault.saunier@collabora.co.uk>
2012-06-28 18:16:25 +02:00
Wim Taymans f28e2e7bea fix interlace-mode 2012-06-26 17:15:49 +02:00
Wim Taymans 21e9f64ab2 update for task api change 2012-06-20 10:33:24 +02:00
Jan Schmidt 30c9bb709b theoradec: Remove use of NEED_DATA
Remove the confusing internal-only use of
the GST_VIDEO_DECODER_FLOW_NEED_DATA return code.
2012-06-17 12:42:08 +10:00
Vincent Penquerc'h 492341db77 oggdemux: fix quadratic search for last page
A crafted file with invalid pages will cause repeated searches from
earlier offsets in steps of 8500 bytes, but reading till the end of
the stream. Since we know the maximum size of an Ogg page, we can
bound the search for next page, to get a linear behavior (though
still not good enough as it will read the entire file backwards if
there's no valid page till then).
2012-06-14 18:42:12 +01:00
Jan Schmidt 2fbb803d85 theoradec: Always inform base class when dropping frames
Partially fixes backwards playback. Informing the base class
of the dropped frame lets it manage the timestamping and events
better.
2012-06-13 03:17:27 +10:00
Sebastian Dröge 233622437f elements: Use gst_pad_set_caps() instead of manual event fiddling 2012-06-08 15:51:06 +02:00
Vincent Penquerc'h 03ef88d7da theoradec: fix frame leaks 2012-06-07 13:36:35 +01:00
Vincent Penquerc'h d4b8778299 theoradec: fix video state leaks 2012-06-07 11:23:23 +01:00
Vincent Penquerc'h e126073489 oggdemux: reject opus streams with negative start time
This is used by Vorbis for sample accurate clipping, but this is
deemed an invalid stream by the opus spec.
2012-06-06 17:49:13 +01:00
Vincent Penquerc'h ba967d285a oggstream: add a flag to say whether start granule clamping is to be done 2012-06-06 17:49:13 +01:00
Wim Taymans a2172bdb4b update for tag event change 2012-06-06 13:05:47 +02:00
Vincent Penquerc'h 078dd2e896 oggstream: reject Ogg/Opus streams with nonsensical preskip/granpos setup
As the spec mandates.
2012-06-06 11:05:53 +01:00
Sebastian Dröge a69d6ddb74 vorbisdec: Error out if handling a header packet failed instead of just finishing the frame 2012-06-02 17:16:13 +02:00
Thiago Santos 81b914a61f theoraenc: do not use %zu, it is C99
Cast the variables instead and fallback to %u
2012-05-31 18:55:32 -03:00
Thiago Santos 772e3d514d theoraenc: fix printf format variable 2012-05-31 18:28:14 -03:00
Andre Moreira Magalhaes (andrunko) bac5fd4c6a textoverlay: Use an external lock
Conflicts:

	ext/pango/gsttextoverlay.c
	ext/pango/gsttextoverlay.h
2012-05-29 11:53:08 +02:00
Wim Taymans 897a1e93b7 cdparanoia: always set the read_speed
Always set the read speed to the configured value. Clarify that 0 or -1
speed means full speed.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676361
2012-05-24 13:39:54 +02:00
Sreerenj Balachandran 663abda778 theoradec: remove usless checking of return val.
fixes https://bugzilla.gnome.org/show_bug.cgi?id=676525
2012-05-24 11:12:26 +02:00
Sreerenj Balachandran d9ec99e598 theoradec: remove the nonuse parameter from handle_type_packet() method 2012-05-23 10:16:25 +02:00
Sreerenj Balachandran 8054c66194 theoradec: stream is marking as non-packeized so that the data gets parsed and keyframes marked 2012-05-23 10:16:25 +02:00
Andoni Morales Alastruey 2434f2932b alsasink: check for spdif support only in the current device 2012-05-18 12:01:06 +02:00
Tim-Philipp Müller 8f08f6d256 cdparanoiasrc: include stdio.h for SEEK_SET
https://bugzilla.gnome.org/show_bug.cgi?id=676255
2012-05-17 16:38:58 +01:00
Tim-Philipp Müller 6d27a26d57 vorbis: give libvorbis-based decoder and vorbisidec decoder different type names
Should fix "cannot register existing type `GstVorbisDec'" criticals
when both libvorbis and vorbisidec are available.

https://bugzilla.gnome.org/show_bug.cgi?id=673333
2012-05-16 15:31:38 +01:00
Edward Hervey a4eda89b3c theoraenc: Don't leak incoming frames (and buffers)
We get given a reference in ::handle_frame(), remove it when we're done.
2012-05-15 08:38:41 +02:00
Tim-Philipp Müller 5518dd69c7 oggdemux: fix potential crash in SEEKING query handler
Take chain lock when accessing chains. Fall back gracefully
when there's no current chain Hopefully fixes crash when
seeking in Jamendo or Magnatune streams in Amarok.

https://bugzilla.gnome.org/show_bug.cgi?id=675609
2012-05-13 23:23:03 +01:00
Tim-Philipp Müller 0e216d1f4c typefinding, ogg: don't bother with annodex media types
They're hardly used, and probably more confusing than anything
else, and it's not clear that anyone would really need to be
able to tell them apart at the media type level.
2012-05-13 18:49:31 +01:00
Tim-Philipp Müller 657fe5efff oggdemux: don't expose Annodex CMML streams any more
This never really took off - it's hardly used anywhere
and deprecated in favour of Kate. Exposing pads just
leads to confusing 'you are missing a plug-in' messages
when people come across such streams. We could still post
the data on the bus for applications to parse.
2012-05-13 18:39:06 +01:00
Tim-Philipp Müller 756625edd2 oggdemux: update some comments that refer to internal decoders
We don't do that any more, we now have stream mappers for this.
2012-05-13 17:13:39 +01:00
Tim-Philipp Müller 882ffc7b98 oggdemux: remove unused GstOggPadMode enum 2012-05-13 17:13:26 +01:00
Tim-Philipp Müller b9f8a26f62 libvisual: include string.h for strcmp() 2012-05-13 17:13:02 +01:00
Mark Nauwelaerts 1c70c5b85e alsasink: really use local ringbuffer spec helper var and init it a bit more
... to avoid assertion failures

Conflicts:

	ext/alsa/gstalsasink.c
2012-05-09 10:28:16 +02:00
Andoni Morales Alastruey c6409806c1 alsasink: use the iec958 payloader to support non-payloaded input streams 2012-05-07 13:31:01 +02:00
Sebastian Dröge 7ff23514ee theoradec: Correctly handle crop metadata and update for videodecoder API changes 2012-05-01 13:33:20 +02:00
Sebastian Dröge 0c2f43750d theoradec: Unref state when we're done with it 2012-04-25 14:34:43 +02:00
Sebastian Dröge 71fc0a7f3e theoradec: Update for video decoder API changes
And also improve the buffer pool handling.
2012-04-25 13:19:11 +02:00
Sebastian Dröge 261188ae68 theoraenc: Update for video encoder API changes and propose video-meta for allocation 2012-04-25 13:19:11 +02:00
Sebastian Dröge 894875d705 theoradec: Use crop metadata if possible and refactor cropping code a bit 2012-04-24 22:35:58 +02:00
Sebastian Dröge 8571293311 theoradec: Set some more information on the output caps 2012-04-24 22:05:53 +02:00
Sebastian Dröge e120979f17 theora: Port to 0.11 again with the new base classes 2012-04-24 21:32:28 +02:00
Sebastian Dröge a0e3a9e32d Merge remote-tracking branch 'origin/0.10'
Video base classes and theora plugin still needs to be ported again

Conflicts:
	docs/libs/gst-plugins-base-libs-docs.sgml
	docs/libs/gst-plugins-base-libs-sections.txt
	docs/libs/gst-plugins-base-libs.types
	ext/theora/gsttheoradec.c
	ext/theora/gsttheoradec.h
	ext/theora/gsttheoraenc.c
	ext/theora/gsttheoraenc.h
	gst-libs/gst/video/Makefile.am
	gst-libs/gst/video/video.c
	gst-libs/gst/video/video.h
	gst/playback/gsturidecodebin.c
	tests/check/libs/video.c
	tests/check/pipelines/theoraenc.c
	win32/common/libgstvideo.def
2012-04-24 18:14:31 +02:00
Mark Nauwelaerts 7bfd1bc3d7 theora: Port to base video classes
FIXME : Don't forget to backport changes that happened to theoraenc
since April 2011

theoraenc: Don't create keyframe on time gap

There is no rational to do so, and also gst_video_encoder_set_discont() is
gone from base class.
2012-04-24 17:03:40 +02:00
Mark Nauwelaerts a008aa0b46 collectpads2: rename to collectpads 2012-04-17 15:09:58 +02:00
Mark Nauwelaerts ccda1c23f3 oggmux: use standard collectpads event handling
... rather than (old) hacked overriding.
2012-04-16 16:30:44 +02:00
Tim-Philipp Müller 05b1ad1b56 ogg: update for media type typefinding changes 2012-04-15 23:03:58 +01:00
Sebastian Dröge 69b18ab09d gst-libs: Remove interfaces libs and mixer/tuner interfaces
The navigation interface is now in the video library.
2012-04-13 13:14:13 +02:00
Wim Taymans b2f0236319 vorbisenc: fix channel mask 2012-04-11 17:40:04 +02:00
Tim-Philipp Müller 3c6a3ad629 Use new gst_element_class_set_static_metadata() 2012-04-10 00:45:16 +01:00
Sebastian Dröge ad42b16375 gst: Update for GST_PLUGIN_DEFINE() API change 2012-04-05 15:11:05 +02:00
Sebastian Dröge 65307dd132 gst: Update versioning 2012-04-04 14:55:15 +02:00
Mark Nauwelaerts 68300bde0b pango: plug rare buffer leak 2012-04-03 18:31:27 +02:00
Wim Taymans de7148a942 theoradec: deactivate pool on negotiation
Deactivate the old bufferpool when we negotiate a new one.
2012-04-02 12:48:45 +02:00
Sebastian Dröge 27408ee47f theoradec: Add crop metadata before mapping the buffer content
Otherwise the buffer is not writable and the crop metadata can't be added.
2012-03-30 13:52:56 +02:00
Sebastian Dröge 097972086b vorbisdec: Use new gst_audio_encoder_set_headers() API 2012-03-30 12:51:11 +02:00
Sebastian Dröge c44397cccb vorbisenc: Update for GstAudioEncoder API changes 2012-03-30 12:23:13 +02:00
Edward Hervey c5d7bb8918 theoraenc: Specify array size
Fixes error: initialization of flexible array member is not allowed
2012-03-30 12:02:37 +02:00
Edward Hervey 5c83351510 oggstream: Fix 'comparison of unsigned expression < 0 is always false'
-1 (aka G_MAXUINT32) is the only possible 'negative' value that is used
as a special value for 'not set' here. All other positive values are
valid.
2012-03-30 12:00:08 +02:00
Edward Hervey d1abf468c4 oggmux: Handle return values from GstByteWriter 2012-03-30 11:58:37 +02:00
Wim Taymans 897e8730e8 testoverlay: fix object and caps leak 2012-03-27 15:44:14 +02:00
Wim Taymans 6e054dfc3d alsa: fix small caps leak 2012-03-27 15:43:44 +02:00
Wim Taymans 32bd12dba9 Merge branch 'master' into 0.11
Conflicts:
	.gitignore
	common
	configure.ac
	ext/vorbis/gstvorbisdeclib.h
	gst-libs/gst/audio/gstaudioencoder.c
	gst-libs/gst/riff/riff-read.c
	gst/playback/gstplaysink.c
	gst/playback/gstplaysinkconvertbin.c
	tests/check/libs/video.c
2012-03-22 11:35:13 +01:00
Wim Taymans 2ad7e8f217 theoradec: add performance debug 2012-03-20 13:31:24 +01:00
Wim Taymans d7c42e6680 oggdemux: avoid memcpy in pull mode
In pull mode, we can now ask the upstream element to write directly into the
memory provided by libogg.
2012-03-20 13:20:36 +01:00
Wim Taymans dfb8e7cb2c don't pass random pointers to pull_range 2012-03-16 21:46:47 +01:00
Wim Taymans 1e884df1df update for bufferpool changes 2012-03-15 22:10:58 +01:00
Wim Taymans 7c0e2b5b1e update for allocation query changes 2012-03-15 20:36:51 +01:00
Wim Taymans df5253b22c update for memory api changes 2012-03-15 13:32:08 +01:00
Wim Taymans 39d78762b9 take padding into account 2012-03-14 19:56:51 +01:00
Peter Korsgaard 787e896bde vorbisdec: support modern Tremor versions
Tremor changed to use standard libogg rather than its own incompatible
copy back in Aug 2010 (r17375), causing gst-plugin-base build to fail.

Tremolo so far unfortunately hasn't been updated. Restructure
vorbisdeclib.h so the int/float logic is seperate from the ogg handling,
and only use the legacy _ogg_packet_wrapper code for Tremolo.

https://bugzilla.gnome.org/show_bug.cgi?id=668726
2012-03-14 14:10:27 +00:00
Wim Taymans 867e635cde oggdemux: only create unknown caps once 2012-03-13 12:40:11 +01:00
Wim Taymans 25137962ad fix for caps API changes 2012-03-11 19:04:41 +01:00
Tim-Philipp Müller 0b17c3747a pango: re-port pangocairo deprecation and compiler warning fixes from 0.10
Wasn't applied because that code is in the new private base class.
2012-03-08 20:54:49 +00:00