Commit graph

2132 commits

Author SHA1 Message Date
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
Tim-Philipp Müller
c9308a73ca vorbisdec: fix up for 0.11 after merge 2012-03-08 20:49:46 +00:00
Tim-Philipp Müller
29c266ccff Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	common
	docs/libs/gst-plugins-base-libs.types
	ext/pango/gsttextoverlay.c
	ext/vorbis/gstvorbisdec.c
	gst/playback/gstplaysink.c
	gst/playback/gstplaysinkconvertbin.c
	sys/ximage/ximagesink.c
	sys/xvimage/xvimagesink.c
2012-03-08 20:31:34 +00:00
Tim-Philipp Müller
1dd86b9c66 Revert "ogg: Fix handling of unset granuleshift for the skeleton parser"
This reverts commit 7418ddd753.

This breaks the unit test and messes up preroll/seeking.
2012-03-07 12:47:23 +00:00
Mark Nauwelaerts
600b91e878 vorbisdec: simplify tag handling using base class helper 2012-03-06 16:17:55 +01:00
Sebastian Dröge
93e7bb6759 pango: Fix 'implicit conversion from enumeration type 'GstTextOverlayLineAlign' to different enumeration type 'PangoAlignment'' compiler warning 2012-03-06 13:11:16 +01:00
Sebastian Dröge
7418ddd753 ogg: Fix handling of unset granuleshift for the skeleton parser
And also add a helper function to properly clear/reset/free the
GstOggStream structures.
2012-03-06 13:09:05 +01:00
Oleksij Rempel (Alexey Fisher)
0c2f2a64c5 pango: don't use deprecated pango_cairo_font_map_create_context()
https://bugzilla.gnome.org/show_bug.cgi?id=671300
2012-03-04 18:32:32 +00:00
Wim Taymans
e45e6bc297 theoradec: init VideoInfo before usage. 2012-03-02 17:10:26 +01:00
Wim Taymans
f9bdf436f9 theoradec: move negotiation code around
Move the format negotiation to the bufferpool negotiation.
2012-03-02 11:34:10 +01:00
Wim Taymans
271939d118 theoradec: move some code
The parsing of the headers consists of negotiating the format and then setting
up the decoder so split this in two parts.
2012-03-02 11:34:10 +01:00
Wim Taymans
f89c85485d theoradec: use the right GstVideoInfo
Keep track if we use the cropped or uncropped dimensions in the bufferpool and
map using the right GstVideoInfo.
2012-03-02 11:34:10 +01:00
Sebastian Dröge
84a02f9f13 Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base into 0.11 2012-03-02 10:13:52 +01:00
Sebastian Dröge
1cbcb9281c mixer/colorbalance: Update for API changes 2012-03-02 10:00:59 +01:00
Sebastian Dröge
f7939bb43f Merge branch 'master' into 0.11
Conflicts:
	NEWS
	RELEASE
	configure.ac
	docs/plugins/gst-plugins-base-plugins.args
	docs/plugins/gst-plugins-base-plugins.hierarchy
	docs/plugins/gst-plugins-base-plugins.interfaces
	docs/plugins/inspect/plugin-adder.xml
	docs/plugins/inspect/plugin-alsa.xml
	docs/plugins/inspect/plugin-app.xml
	docs/plugins/inspect/plugin-audioconvert.xml
	docs/plugins/inspect/plugin-audiorate.xml
	docs/plugins/inspect/plugin-audioresample.xml
	docs/plugins/inspect/plugin-audiotestsrc.xml
	docs/plugins/inspect/plugin-cdparanoia.xml
	docs/plugins/inspect/plugin-encoding.xml
	docs/plugins/inspect/plugin-ffmpegcolorspace.xml
	docs/plugins/inspect/plugin-gdp.xml
	docs/plugins/inspect/plugin-gio.xml
	docs/plugins/inspect/plugin-gnomevfs.xml
	docs/plugins/inspect/plugin-libvisual.xml
	docs/plugins/inspect/plugin-ogg.xml
	docs/plugins/inspect/plugin-pango.xml
	docs/plugins/inspect/plugin-playback.xml
	docs/plugins/inspect/plugin-subparse.xml
	docs/plugins/inspect/plugin-tcp.xml
	docs/plugins/inspect/plugin-theora.xml
	docs/plugins/inspect/plugin-typefindfunctions.xml
	docs/plugins/inspect/plugin-uridecodebin.xml
	docs/plugins/inspect/plugin-videorate.xml
	docs/plugins/inspect/plugin-videoscale.xml
	docs/plugins/inspect/plugin-videotestsrc.xml
	docs/plugins/inspect/plugin-volume.xml
	docs/plugins/inspect/plugin-vorbis.xml
	docs/plugins/inspect/plugin-ximagesink.xml
	docs/plugins/inspect/plugin-xvimagesink.xml
	gst-libs/gst/app/gstappsink.c
	gst-libs/gst/audio/mixer.c
	gst-libs/gst/audio/mixer.h
	gst-libs/gst/tag/gstxmptag.c
	gst-libs/gst/video/colorbalance.c
	gst-libs/gst/video/colorbalance.h
	gst/adder/gstadder.c
	gst/playback/gstplaybasebin.c
	gst/playback/gstplaybin2.c
	gst/playback/gstplaysink.c
	gst/videoscale/gstvideoscale.c
	tests/check/elements/videoscale.c
	tests/examples/seek/seek.c
	tests/examples/v4l/probe.c
	win32/common/_stdint.h
	win32/common/audio-enumtypes.c
	win32/common/config.h
2012-03-02 10:00:55 +01:00
Wim Taymans
5bad1eaa24 theora: fix bufferpool negotiation
Store the uncropped frame dimensions in the videoinfo.
Always set the caps with the dimension of the cropped output.
Don't negotiate the bufferpool multiple times.
Remove the old crop feature, we always crop now.
2012-03-01 17:29:37 +01:00
Wim Taymans
502c12f827 update for metadata API changes 2012-02-29 17:25:10 +01:00
Wim Taymans
337cfb764a add more debug about cropping 2012-02-28 16:49:10 +01:00
Edward Hervey
59918e841f Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 14:28:15 +01:00
Wim Taymans
55076379b2 vorbisenc: chain up to parent event function 2012-02-27 12:51:08 +01:00
Alessandro Decina
9f1732fba7 Fix compiler warnings 2012-02-26 20:36:46 +01:00
Alessandro Decina
5db562f13b theoraenc: fix compiler warning 2012-02-26 20:32:05 +01:00
Wim Taymans
a7c80a9c87 vorbisdec: remove old code 2012-02-15 13:32:05 +01:00
Wim Taymans
bf476953f4 vorbis: port to new memory api 2012-02-13 18:12:01 +01:00
Wim Taymans
c3478b2da0 Merge branch 'master' into 0.11
Conflicts:
	ext/vorbis/gstvorbisparse.c
	gst-libs/gst/video/video.c
	gst/videoscale/gstvideoscale.c
	sys/v4l/gstv4lxoverlay.c
	sys/v4l/v4l_calls.c
	sys/v4l/v4lsrc_calls.c
	tests/check/libs/video.c
2012-02-10 15:41:06 +01:00
Wim Taymans
a75e9102c5 GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 15:17:49 +01:00
Tim-Philipp Müller
99bff2329e theoraenc: remove obsolete properties
https://bugzilla.gnome.org/show_bug.cgi?id=669328
2012-02-05 11:00:39 +00:00
David Schleef
19141759c1 theoraenc: Use GAP flag when possible
Set TH_ENCCTL_SET_DUPLICATE_FLAG when we see a gap flag, to
indicate to the encoder that the current frame is a duplicate
of the previous frame.
2012-02-04 13:41:47 -08:00
Vincent Penquerc'h
b4d6263f38 oggdemux: fix granpos interpolation violating max keyframe distance
In case many packets fit on a page, we may not see a granpos for
a while, and granpos interpolation can wrap the 'frames since last
keyframe' part of the granpos, generating a granpos which is smaller
than what it should be.

This is fixed by detecting keyframe packets (at least for Theora),
and updating the last keyframe granpos from this.

This may still be generating potentially wrong granpos for streams
which have a Theora like granpos (keyframes, a max keyframe distance
and a count of frames since last keyframe), and which allow implicit
granules on packets. For these streams, a custom keyframe detection
routine should be plugged into their GstOggStream mapper.

https://bugzilla.gnome.org/show_bug.cgi?id=669164
2012-02-02 13:06:29 +00:00
Vincent Penquerc'h
b647c627e4 vorbisparse: pedantically recognize undefined headers too 2012-02-01 16:46:13 +00:00
Vincent Penquerc'h
809546c324 vorbisparse: fix header detection
It was matching non header packets.

This fixes various leaks, where buffers would be pushed onto a headers
list, but never popped.

Might also fix corruption as those buffers were dropped from the output
silently...

https://bugzilla.gnome.org/show_bug.cgi?id=669167
2012-02-01 16:40:35 +00:00
Sebastian Dröge
2fe94cad44 vorbis: Use new audio encoder/decoder base class API for srcpad caps 2012-02-01 16:27:47 +01:00
Wim Taymans
848e107146 oggdemux: don't blindly forward all unknown events
It causes the caps event to be send downstream and cause negotiation failures.
2012-01-30 20:58:34 +01:00
Wim Taymans
be0cadac03 update for HEADER flag changes 2012-01-30 17:16:17 +01:00