Commit graph

2123 commits

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