Commit graph

116 commits

Author SHA1 Message Date
Edward Hervey 17bfba09f1 Merge branch 'master' into 0.11
Conflicts:
	ext/ogg/gstoggdemux.c
	ext/pango/gsttextoverlay.c
	gst-libs/gst/audio/gstaudioencoder.c
	gst-libs/gst/audio/gstbaseaudiosrc.c
	gst/playback/gstsubtitleoverlay.c
	gst/videorate/gstvideorate.c
2011-09-23 18:27:11 +02:00
Sjoerd Simons b9b5b133fd videorate: Add a max-rate property
In various use-case you want to dynamically change the framerate (e.g.
live streams where the available network bandwidth changes). Doing this
via capsfilters in the pipeline tends to be very cumbersome and racy,
using this property instead makes it very painless.
2011-09-21 11:24:59 +01:00
Sjoerd Simons ec7ca80c9e videorate: Add more strict caps negotiation
When in drop-only mode we can never provide a framerate that is higher
then the input, so let the caps negotiation reflect this.
2011-09-21 11:24:59 +01:00
Tim-Philipp Müller f57bbc585d videorate: don't unref event we don't own
http://bugzilla.gnome.org/show_bug.cgi?id=659562
2011-09-20 13:35:55 +01:00
Wim Taymans 7012e88090 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/audio/audio.h
	gst-libs/gst/audio/gstaudiodecoder.c
	gst-libs/gst/audio/gstaudiodecoder.h
	gst-libs/gst/audio/gstaudioencoder.c
	gst-libs/gst/audio/gstbaseaudioencoder.h
	gst/playback/Makefile.am
	gst/playback/gstplaybin.c
	gst/playback/gstplaysink.c
	gst/playback/gstplaysinkvideoconvert.c
	gst/playback/gstsubtitleoverlay.c
	gst/videorate/gstvideorate.c
	gst/videoscale/gstvideoscale.c
	win32/common/libgstaudio.def
2011-09-06 15:24:32 +02:00
Vincent Penquerc'h 78f50f2d25 videorate: don't take the object lock twice in {set,get}_property
https://bugzilla.gnome.org/show_bug.cgi?id=658294
2011-09-06 09:44:38 +01:00
Sjoerd Simons 08ac05a06c videorate: fix dynamically changing average period
The average_period_set variable can be accessed in different threads, so
always lock it when reading. Furthermore when switching to averaging
mode we should make sure we don't have cached buffers that aren't used
in that mode. And any modeswitch will cause the latency to change, so we
should post a NewLatency message
2011-08-31 14:13:56 +01:00
Sjoerd Simons ea46b3c706 videorate: Port to basetransform 2011-08-31 14:13:56 +01:00
Sjoerd Simons f2438913f9 Correct added versions 2011-08-31 14:13:55 +01:00
Wim Taymans d06f599193 -base: port elements to new video caps 2011-06-16 12:52:13 +02:00
Tim-Philipp Müller c092981b16 Remove v4l plugin
The old v4l interface has been deprecated for years and even
been removed from the kernel headers. If anyone still needs
this plugin, they can resurrect it in gst-plugins-bad, there's
no reason for it to be in -base.
2011-06-07 20:47:46 +01:00
Wim Taymans 2940249a84 -base: use caps event
Remove uses of setcaps function and use the caps event.
2011-06-07 11:55:36 +02:00
Sebastian Dröge 884213b8b8 base: Update for SEGMENT event parse API changes 2011-05-18 17:23:18 +02:00
Sebastian Dröge a46485e357 gst: Update for caps/pad template related API changes 2011-05-17 13:06:01 +02:00
Sebastian Dröge 318ed07598 Revert "-base_port to new query API"
This reverts commit c9f4e0676b.
2011-05-17 11:25:31 +02:00
Sebastian Dröge 07617d50d3 videorate: Update for segment API changes 2011-05-16 17:14:08 +02:00
Sebastian Dröge d0362c2b87 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/alsa/gstalsasrc.c
	gst-libs/gst/audio/gstbaseaudiosink.c
	gst-libs/gst/tag/gstxmptag.c
	gst/playback/gstsubtitleoverlay.c
	gst/videorate/gstvideorate.c
	sys/xvimage/xvimagesink.c
2011-05-16 17:06:22 +02:00
Sebastian Dröge e21ec369f0 videorate: Update for negotiation related API changes 2011-05-16 15:35:41 +02:00
Wim Taymans 94dfe80f71 -base: port to new SEGMENT API 2011-05-16 13:48:11 +02:00
Mark Nauwelaerts eba4a948fb videorate: optionally ensure maximum average output frame rate
See #628764.
2011-05-16 12:46:00 +02:00
Alexey Fisher 1e09272024 videorate: optionally only drop frames to ensure maximum frame rate
This adds option to arrange for maximal allowed variable frame rate.

Fixes #628764.
2011-05-16 12:45:47 +02:00
Wim Taymans c9f4e0676b -base_port to new query API 2011-05-10 18:39:07 +02:00
Wim Taymans 816f4e791d segment: fix for new core API
Fix for gst_*_segment_full rename.
2011-05-09 18:16:46 +02:00
Wim Taymans ec57868488 -base: don't use buffer caps
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Sebastian Dröge f10a8f0986 gst: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 11:35:53 +02:00
Sebastian Dröge 352edd1dd9 Merge branch 'master' into 0.11 2011-04-16 09:12:31 +02:00
Mark Nauwelaerts eb10995895 videorate: empty caps have no structure to pick 2011-04-11 15:03:55 +02:00
Wim Taymans 6e160bed3d Merge branch 'master' into 0.11
Conflicts:
	android/alsa.mk
	android/app.mk
	android/app_plugin.mk
	android/audio.mk
	android/audioconvert.mk
	android/decodebin.mk
	android/decodebin2.mk
	android/gdp.mk
	android/interfaces.mk
	android/netbuffer.mk
	android/pbutils.mk
	android/playbin.mk
	android/queue2.mk
	android/riff.mk
	android/rtp.mk
	android/rtsp.mk
	android/sdp.mk
	android/tag.mk
	android/tcp.mk
	android/typefindfunctions.mk
	android/video.mk
2011-04-11 11:37:51 +02:00
Alessandro Decina 030f639a8e android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the
needed Android.mk files.
Androgenizer can be found here:
http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:23:21 +02:00
Wim Taymans 3b03e23559 plugins: port some plugins to the new memory API 2011-03-27 16:35:28 +02:00
Mark Nauwelaerts bb0dc56114 videorate: fix skip-to-first ts setup
... such as avoiding arithmetic mixing counts and ts, although latter
would typically be 0 so far.
2011-02-21 12:58:16 +01:00
Robert Swain 2c1bf82d55 videorate: Fix behaviour for frame rate cap changes
The outgoing buffer timestamp is calculated by scaling an output buffer
count by the src pad frame rate caps. If these caps change, we need to
reset the count and work from a new base timestamp. The new output
buffer timestamp is then the count scaled by the new caps values added
onto the base timestamp.
2011-01-06 13:12:05 +01:00
Tim-Philipp Müller 82d2669f4f videorate: use g_object_notify_by_pspec() if possible
Use g_object_notify_by_pspec() when building against GLib >= 2.26.
This avoids the pspec lookup which takes the global paramspec pool lock.
2010-10-07 20:37:10 +01:00
Sebastian Dröge 4da242a6b2 videorate: Fill the segment on EOS or at least produce enough frames to use the complete buffer duration
Fixes bug #628400.
2010-09-01 11:33:12 +02:00
Sebastian Dröge 20d5c6d05c videorate: Don't ignore flow returns when filling the previous segment during NEWSEGMENT handling 2010-09-01 11:22:25 +02:00
Sebastian Dröge ac59769604 videorate: Mark duplicated frames with the GAP flag
We currently don't use the GAP flag for video and the docs say
that this is for buffers, that have been created to fill a gap
and contains neutral data. For video this is the previous frame.

This information can be used by encoders to encode the duplicated
frames more efficiently. See bug #627459.
2010-08-20 12:03:44 +02:00
Sebastian Dröge 53318f20cc videorate: Fixate the pixel-aspect-ratio if necessary 2010-07-26 16:05:44 +02:00
Sebastian Dröge 258e519b49 videorate: Use new string fixation function from core 2010-05-22 10:02:46 +02:00
Sebastian Dröge b1a9af61c7 videorate: Fixate color-matrix and chroma-site fields if necessary 2010-05-22 09:53:22 +02:00
Sebastian Dröge 220a61f821 videorate: Fixate the interlaced field if necessary
Fixes bug #619310.
2010-05-22 09:53:18 +02:00
Tim-Philipp Müller 33b5172822 videorate: pass object to logging functions, use GST_DEBUG_FUNCPTR 2010-05-21 18:16:07 +01:00
Stefan Kost 948d06e4b3 videorate: trucate own caps, instead of copying and using the first only
We got the caps from an intersect, it is our own, hence we can truncate it.
Besides gst-indent has chooses to line-up all caps in one line again :/.
2010-05-06 09:14:25 +03:00
Joshua M. Doe 8dfa792bc9 videorate: add support for video/x-raw-gray 2010-04-29 18:21:21 +02:00
Benjamin Otte 5e21fa5e0e gst_element_class_set_details => gst_element_class_set_details_simple
Also change my email from the old university one to the current one.
2010-03-16 17:41:50 +01:00
Benjamin Otte 43b1683421 Add -Wmissing-declarations -Wmissing-prototypes to warning flags
Includes all the fixes necessary to make stuff compile again.
2010-03-11 13:50:31 +01:00
Thiago Santos 616f130d05 videorate: Improve upstream negotiation
Put peer pad caps preferred framerates first, indicating
they are videorate's first choices, removing an unnecessary
conversion.

Fixes #608025
2010-02-22 17:03:07 -03:00
Josep Torra 9c335ec185 videorate: fix warning in macosx 2009-10-09 14:23:36 +02:00
Sebastian Dröge 7dbefedeef videorate: Add Since marker for the new skip-to-first property 2009-09-11 07:38:28 +02:00
Olivier Crête f35c5bc1e7 videorate: Make videorate work with a live source
Add a property that makes videorate skip to the first buffer it
receives instead of padding the stream from segment start to the
first real buffer.

Fixes bug #567928.
2009-09-11 07:36:10 +02:00
Wim Taymans 956c9f32a3 videorate: handle invalid timestamps better
Handle buffers with -1 timestamps better by keeping track of the en time of the
previous buffer and assuming the -1 timestamp buffer goes right after the
previous one.

when we have two buffers that are equally good, output the oldest buffer once to
minimize latency.

don't try to calculate latency when the input framerate is unknown.
2009-05-12 10:47:17 +02:00