Mathieu Duponchelle
905fe0f4ca
oggdemux: Make bisecting fully accurate
...
When bisecting after an earliest time has been found, we need
to only consider the stream for which the earliest time was found.
Before, the following scenario could be and was encountered:
a) Find the earliest time for stream X
b) bisect and find a page which granuletime is indeed < target, but
contains another stream.
c) decide to seek at the wrong offset, sometimes inferior to
the real one, in which case the error was undected or
d) the offset was superior, and thus the actual target keyframe was
not processed, and packets were skipped waiting
for a granulepos.
https://bugzilla.gnome.org/show_bug.cgi?id=700537
2013-07-15 10:34:00 +02:00
Mathieu Duponchelle
affd9f37aa
Revert "oggdemux: fix seeking with negative rate with skeleton"
...
This reverts commit b41cd04289
.
2013-07-15 10:31:08 +02:00
Sebastian Dröge
748cbbd76e
ogg: The Daala headers are little endian, not big endian
2013-06-23 12:07:41 +02:00
Sebastian Dröge
3f9872abaa
ogg: Add Daala support
2013-06-23 11:28:40 +02:00
Sebastian Dröge
4180581ce9
alsasrc: Dump some more debug output about the device configuration
2013-05-29 16:41:14 +02:00
Sebastian Dröge
639e2d4346
alsasink: Update internal buffer/period times with the values that were configured on the device
2013-05-29 16:41:06 +02:00
Sebastian Dröge
e39fa41d74
theoradec: Require caps to be set before data flow happens
2013-05-27 13:04:25 +02:00
Alexander Schrab
a049b102da
alsasrc: Make using driver timestamps possible
...
https://bugzilla.gnome.org/show_bug.cgi?id=699744
2013-05-20 11:25:17 +02:00
Sebastian Dröge
0bc25f0325
alsa: Dump min/max period time and buffer time in alsasrc too
2013-05-20 11:23:06 +02:00
Sebastian Dröge
36470a4aa8
libvisual: Update visualizer baseclass from gst-plugins-bad
2013-05-15 11:04:35 +02:00
Sebastian Dröge
027654e71e
vorbisparse: Fix event handling
...
Internal state should only be reset on FLUSH_STOP, not FLUSH_START.
Also forward pre-caps events immediately and don't queue them.
2013-05-10 11:32:36 +02:00
Sebastian Dröge
1d20c0f4bb
oggmux: Make sure to always set caps on the srcpad and always send a segment event
...
Even if the srcpad is not linked at this point, it might be linked as result of
setting the caps.
2013-05-10 11:24:46 +02:00
Mathieu Duponchelle
46aff49316
oggmux: don't send a segment event before the caps event
...
https://bugzilla.gnome.org/show_bug.cgi?id=699971
2013-05-10 09:28:52 +02:00
Sebastian Dröge
4f52ad38e4
theoradec: Set DECODE_ONLY flag on all header packets
2013-05-09 10:40:19 +02:00
Mathieu Duponchelle
4c362768fc
oggmux: The best pad can't be EOS
...
The problem experienced is that the EOS was never emitted by oggmux during a
rendering with GES. The proposed patch checks if the pad is EOS before deciding
it's the "best pad".
https://bugzilla.gnome.org/show_bug.cgi?id=699792
2013-05-08 14:26:17 +02:00
Sebastian Dröge
ef6a2a6c14
theoraenc: Don't call gst_buffer_fill() for empty Theora packets
...
gst_buffer_fill() does not like a NULL source data pointer.
2013-05-07 10:16:48 +02:00
Sebastian Dröge
f3b6548f09
theoraenc: Fix error handling when reading or writing multipass cache data fails
2013-05-07 10:13:18 +02:00
Sebastian Dröge
abdfb8d452
vorbis: Fix compilation after function rename
2013-05-03 15:49:50 +02:00
Andoni Morales Alastruey
35b3d805ed
vorbis: prefix get_copy_sample_func and fix duplicated symbols
2013-05-03 14:30:03 +02:00
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