Commit graph

2212 commits

Author SHA1 Message Date
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