Sebastian Dröge
ad42b16375
gst: Update for GST_PLUGIN_DEFINE() API change
2012-04-05 15:11:05 +02:00
Mark Nauwelaerts
481b1beece
adder: event handling and leak fixes
2012-04-03 18:31:24 +02:00
Wim Taymans
dd819ddc6b
orc: avoid precompilation
...
Avoid compiling all the functions at startup but compile only what's needed when
needed.
2012-03-20 15:37:42 +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
Stefan Sauer
44ff1b3b89
adder: drop newsegment events on sink-pads
...
Adder is sending an own newsegment event on the src pad.
2012-02-29 21:54:49 +01:00
Stefan Sauer
ce1b1d82e3
adder: sink event handling fix
...
Turn _sink_event() into the collectpads event function and merge the logic from
the recently added gst_adder_event. Drop flush_start events as we allready
handle them on the src-pad side. Fixes #670850 .
2012-02-28 20:54:54 +01:00
Stefan Sauer
3975c10907
adder: include event name in log message
2012-02-27 12:04:38 +01:00
Olivier Crête
e391118125
Use macros to register boxed types thread safely
2012-01-28 14:53:21 +00:00
Sebastian Dröge
c07271ea02
adder: Update for new collectpads2 event handling API
2012-01-26 10:45:53 +01:00
Edward Hervey
0c60a5c7a3
adder: Remove deprecation disabling
...
It's actually fixed in 0.11
2012-01-25 15:02:09 +01:00
Edward Hervey
47fc70ea79
Suppress deprecations in selected files
2012-01-25 14:49:44 +01:00
Edward Hervey
629d734e83
Suppress deprecations in selected files
2012-01-25 12:51:46 +01:00
Wim Taymans
fcdc385aa1
port to new map API
2012-01-25 12:30:53 +01:00
Wim Taymans
3d42f0f6ed
port to new glib thread API
2012-01-19 11:36:17 +01:00
Tim-Philipp Müller
576bbb4fd8
Remove compatibility code cruft for old GLib versions
2012-01-18 17:22:21 +00:00
Sebastian Dröge
8cd8965e19
gst: Add new layout field to all raw audio caps
2012-01-05 10:34:25 +01:00
Edward Hervey
f562a29284
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
gst-libs/gst/tag/gstexiftag.c
gst/adder/gstadder.c
gst/adder/gstadder.h
gst/playback/gstdecodebin2.c
gst/playback/gstsubtitleoverlay.c
tests/check/libs/tag.c
2011-12-30 13:21:35 +01:00
Vincent Penquerc'h
85c10b0b24
adder: do not send too many flush-stop events
...
GstCollectPads2 now allows us to override the event function,
so we can withhold flush stop events if none are to be sent.
https://bugzilla.gnome.org/show_bug.cgi?id=666379
2011-12-16 20:12:01 +00:00
Vincent Penquerc'h
1da30adc1a
adder: use the stream lock where appropriate
...
GstCollectPads2 locking was changed from GstCollectPads to use
the stream lock instead of the object lock for those cases, so
change it so here as well to match.
https://bugzilla.gnome.org/show_bug.cgi?id=666379
2011-12-16 17:36:02 +00:00
Vincent Penquerc'h
bcaf5890aa
adder: send a flush event before trying to get the stream lock
...
This avoids hanging when the streaming thread is busy in _chain
waiting for preroll.
https://bugzilla.gnome.org/show_bug.cgi?id=666379
2011-12-16 17:36:02 +00:00
Vincent Penquerc'h
a3c5abf97f
adder: port to GstCollectPads2
2011-12-14 18:26:07 +00:00
Tim-Philipp Müller
177525f89f
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst-libs/gst/netbuffer/gstnetbuffer.c
gst/ffmpegcolorspace/avcodec.h
gst/ffmpegcolorspace/gstffmpegcodecmap.c
gst/ffmpegcolorspace/imgconvert.c
gst/ffmpegcolorspace/imgconvert_template.h
gst/ffmpegcolorspace/mem.c
gst/playback/README
gst/playback/gstplaybasebin.c
gst/playback/gstplaybasebin.h
gst/playback/gstplaybin.c
sys/v4l/v4lmjpegsrc_calls.c
sys/v4l/videodev_mjpeg.h
tests/check/elements/gnomevfssink.c
2011-12-02 11:10:17 +00:00
Piotr Fusik
14644457b0
various: typo fixes
...
Fix typos in code and docs. Fixes. #658984
2011-12-02 12:03:27 +01:00
Stefan Sauer
0cce8ab97d
adder: be more graceful in the clipfunction
...
Doing dynamic pipelines is hard in 0.10. As we don't have the sticky events in
0.10 and sending such events in special elements like adder and tee was outvoted
on last attempt, be graceful to the misbehaviour instead.
2011-12-01 12:03:17 +01:00
Stefan Sauer
089c760993
adder: fill the audio-info that we use and not some random other one
2011-11-29 14:47:37 +01:00
Stefan Sauer
1cea9c851c
adder: unbreak adder
...
There was one line too much removed when porting.
2011-11-29 14:22:19 +01:00
Stefan Sauer
9debd13665
adder: fix deadly setcaps recursion
...
Use a flag to avoid calling setcaps until our stack is exhausted. I don't see how this would be useful.
2011-11-29 10:42:16 +01:00
Vincent Penquerc'h
96374054ac
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:02 +00:00
Wim Taymans
e302833e65
add parent to pad functions
2011-11-17 12:48:25 +01:00
Stefan Sauer
67364dff4c
collectpads: port API changes
2011-11-17 08:43:23 +01:00
Wim Taymans
2202511e77
add parent to query function
2011-11-16 17:25:17 +01:00
Wim Taymans
28157e6f21
_query_peer_*() -> _peer_query_*()
2011-11-15 18:04:17 +01:00
Wim Taymans
026ec68f75
_peer_get_caps() -> _peer_query_caps()
2011-11-15 18:04:17 +01:00
Wim Taymans
ab9ffa93f5
change getcaps to query
...
Add sink and src event functions in rtpbasepayload
Add query vmethod to rtpbasepayload.
2011-11-15 18:04:16 +01:00
Stefan Sauer
6cc887c53b
adder: don't ref NULL caps
2011-11-04 22:00:43 +01:00
Wim Taymans
cf8481b990
fix pad template names for request pads
2011-11-04 10:49:48 +01:00
Wim Taymans
f1088ed647
update for UNEXPECTED -> EOS flowreturn
2011-10-10 11:39:52 +02:00
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
Stefan Sauer
b678f6cf69
adder: don't access the event after pushing
...
Fixes valgrind warnings.
2011-09-15 16:47:26 +02:00
Wim Taymans
33196cdd2c
audio: change audio format syntax a little
...
Remove the _ in front of the endianness prefix.
Remove the _3 postfix for the 24 bits formats.
Add a _32 postfix after the formats that occupy extra space beyond their
natural size.
The result is that the GST_AUDIO_NE() macro can simply append the endianness
after all formats and that we only specify a different sample width when it is
different from the natural size of the sample. This makes things more consistent
and follows the pulseaudio conventions instead of the alsa ones.
2011-09-06 12:06:39 +02:00
Wim Taymans
f870178234
adder: port to new caps
2011-08-19 17:05:55 +02:00
Wim Taymans
dae848818d
audio: rework audio caps.
...
Rework the audio caps similar to the video caps. Remove
width/depth/endianness/signed fields and replace with a simple string
format and media type audio/x-raw.
Create a GstAudioInfo and some helper methods to parse caps.
Remove duplicate code from the ringbuffer and replace with audio info.
Use AudioInfo in the base audio filter class.
Port elements to new API.
2011-08-18 19:15:03 +02:00
Wim Taymans
246622b1e8
adder: fix after merge
2011-08-17 10:47:20 +02:00
Wim Taymans
33467d9629
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/pango/gsttextoverlay.c
ext/theora/gsttheoradec.c
gst/adder/gstadder.c
gst/adder/gstadder.h
gst/audioresample/gstaudioresample.c
gst/encoding/gstencodebin.c
gst/playback/gstdecodebin.c
gst/playback/gstdecodebin2.c
tests/check/elements/decodebin2.c
tests/check/elements/playbin-compressed.c
win32/common/libgsttag.def
2011-08-16 18:01:14 +02:00
Josep Torra
5629ed74b3
Fix debug statements
...
Fixes build on MacOSX
Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:15:41 +02:00
Tim-Philipp Müller
bb65192151
ext,gst: update for query API changes
2011-07-27 01:16:53 +01:00
Stefan Kost
9a26e6c7bc
adder: rework pending event handling
...
Use atomic ops on pending flags. Rename the segment_pending to
new_segment_pending. Set new_segment_pending not when we received seek, but
when we received the first upstream new_segment.
2011-07-26 12:37:11 +02:00
Stefan Kost
a8228b062a
adder: more debug logging for events
2011-07-26 12:37:11 +02:00
Wim Taymans
db999572a8
-base: fix for flush_stop event API change
2011-06-10 11:59:53 +02:00
Wim Taymans
beb864bd93
-base: use caps event instead of setcapsfunction
2011-06-07 10:58:27 +02:00
Wim Taymans
c88ee10c9b
Merge branch 'master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
2011-06-06 16:27:12 +02:00
David Schleef
836081abee
adder: Work around changes in g_atomic API
...
See #651514 for details.
2011-06-04 13:36:55 -07: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
48654cdacf
adder: Update for negotiation related API changes
2011-05-16 15:35:40 +02:00
Wim Taymans
94dfe80f71
-base: port to new SEGMENT API
2011-05-16 13:48:11 +02:00
Wim Taymans
c9f4e0676b
-base_port to new query API
2011-05-10 18:39:07 +02:00
Wim Taymans
7cad11e912
-base: fix for now request pad API
2011-05-10 16:44:37 +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
Wim Taymans
df54ba57a9
adder: fix getcaps function
...
Explicitely get the possible caps in the sinkpad instead of using an old removed
function.
2011-05-08 13:24:30 +02:00
Sebastian Dröge
64851f12c0
gst: Update for new GstIterator API
2011-05-05 16:03:52 +02:00
Sebastian Dröge
f10a8f0986
gst: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-19 11:35:53 +02:00
Wim Taymans
3b03e23559
plugins: port some plugins to the new memory API
2011-03-27 16:35:28 +02:00
Leo Singer
27178f7aff
adder: Fill in offset_end field of outgoing buffers
...
... rather than leave it as GST_BUFFER_OFFSET_NONE
Fix bug #642942 .
2011-02-24 13:28:13 +01:00
Edward Hervey
3fe2777b54
Revert "oggmux,adder: Check if collectpads has been freed"
...
This reverts commit 6d150873e8
.
Depends on a core commit that was reverted.
2011-02-21 12:04:09 +01:00
David Schleef
6d150873e8
oggmux,adder: Check if collectpads has been freed
...
Core now calls release_pad in finalize, which is usually after
the collectpads has been unreffed.
2011-02-20 23:49:54 -08:00
Sebastian Dröge
9b85b13d80
adder: Do debug category initialization in plugin_init again
2010-09-09 11:12:56 +02:00
Sebastian Dröge
8ba4b70118
Revert "Revert "Use init functions for Orc code""
...
This reverts commit 93aa13639d
.
Everything should work now after regenerating the disted source files.
2010-09-09 10:57:41 +02:00
Stefan Kost
c50104c94e
adder: use GST_BOILERPALTE macro
2010-09-01 10:07:02 +03:00
Wim Taymans
93aa13639d
Revert "Use init functions for Orc code"
...
This reverts commit b2051090b4
.
Fixes the build again until someone pushes the regenerated .c/.h
files too.
2010-08-27 11:49:47 +02:00
David Schleef
b2051090b4
Use init functions for Orc code
2010-08-26 17:03:13 -07:00
Alessandro Decina
842a6c64c5
adder: Make sure FLUSH_STOP is always sent after a flushing seek.
...
Send FLUSH_STOP right after forwarding the seek event upstream if necessary.
This makes sure that adder->srcpad is not left flushing if seeking fails or if
upstream is blocked.
The same fix was already applied to videomixer in 49b2a946
.
2010-08-24 11:43:23 +02:00
David Schleef
c4ab9c0de8
adder: convert from liboil to orc
2010-06-07 23:58:53 -07:00
Stefan Kost
274f80c7a1
adder: only accept seek-types none and set
...
Previously we were also acting on cur and end, but treating them like none.
2010-04-30 09:24:14 +03:00
Stefan Kost
ab223520ed
adder: rework timestamping
...
Adder was using always incrementing timestamps. Seeking was done by setting the
position in the newsegment event. This was failing when doing segmented seeks
with rate<0.0, as offset (and thus timestamp) would go below 0.
Now we take both cur and end from the seek event. We construct newsegment events
depending including cur and end from the seek event. We set position to the
start of the segment. Timestamp is set to start or end of segment depending on
rate. Offset is recalculated.
2010-04-30 09:24:13 +03:00
Stefan Kost
57cc1150a9
adder: add support for negative playback rates
...
Decrement sample counter when playing backwards. Set proper segment when playing
backwards (0..cur instead or cur..-1). Add more logging and fix a format string.
2010-04-11 23:23:39 +03:00
Wim Taymans
b44a5c8dc7
adder: don't hold object lock when calling peer elements
...
Do not hold the object lock while we call methods on peer elements as this can
lead to deadlocks.
Fixes #608179
2010-01-28 17:43:47 +01:00
Wim Taymans
775636e734
adder: be a lot smarter with buffer management
...
Detect EOS faster.
Try to reuse one of the input buffer as the output buffer. This usually works
and avoids an allocation and a memcpy.
Be smarter with GAP buffers so that they don't get mixed or cleared at all. Also
try to use a GAP buffer as the output buffer when all input buffers are GAP
buffers.
2009-12-24 19:56:55 +01:00
Wim Taymans
59ace1b9ee
adder: use collectpads clipping function
...
Install a clipping function in the collectpads and use the audio clipping helper
function to perform clipping to the segment boundaries.
Fixes #590265
2009-12-24 16:30:23 +01:00
Wim Taymans
66ae01eced
adder: fix juvenile comment
2009-12-24 13:58:52 +01:00
Stefan Kost
3d73a7458a
adder: make events succeed, if they succed on atleast one pad
2009-11-19 21:28:23 +02:00
Tim-Philipp Müller
6f4c1ac583
Remove GST_DEBUG_FUNCPTR where they're pointless
...
There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a sixteenth of a polar bear.
2009-10-28 00:59:35 +00:00
Stefan Kost
e7368354d5
adder: improve caps filter functionality. Fixes #590146 .
...
Also use the capsfilter if there is no src-peer as the caps constrain what
we can do. Don't create any_caps as a default, as we check for NULL to skip the
filtering. This is a (small) performance regression as we always intersect
otherwise.
2009-08-31 22:48:01 +03:00
Edward Hervey
8cd1b5209b
gst: Remove dead assignments and resulting unused variables
2009-08-08 15:54:02 +02:00
Stefan Kost
7205bbc031
adder: reset pending flush-stop flag in state_changed. (mostly) Fixes #590146 .
2009-07-30 13:45:42 +03:00
Edward Hervey
3708ca37a8
gstadder: Don't forget to free pending events on flush/dispose.
...
Fixes #588747
2009-07-20 12:42:32 +02:00
Edward Hervey
50b0cf2c03
adder: Collect incoming tag events and send them after newsegment. Fixes #588747
2009-07-19 10:49:17 +02:00
Stefan Kost
94baad7490
adder: add since tags to docs
2009-07-10 23:27:11 +01:00
Stefan Kost
725bd20045
adder: add a caps-property to avoid to need to plug a capsfilter afterwards
...
Adder can only handle one common format accross the pads. Thus one needed to add
a capsfilter afterwards and manage the caps. Now one can simply set the caps on
the property.
2009-07-10 20:06:28 +01:00
Stefan Kost
da27fd57e8
adder: keep sending newsegments after seeking
...
Adder sends with timestamps from 0 upwards. After seeking we need to send
new-segments to get correct positions-queries.
2009-07-06 22:35:14 +01:00
Edward Hervey
c3adf88621
adder: Call set_flushing(TRUE) for flushing seeks *when* the streaming is stopped.
...
This ensures that collectpads' cookie is properly updated so that when the streaming
threads will restart and be checking for the flushing status of all pads there will
be no inconsistent state.
2009-07-05 21:32:20 +02:00
Wim Taymans
09737d728b
adder: only unflush when we flushed before
...
Ass suggested by Stefan Kost:
Keep track of when the sinkpad was set to flushing and unflush the pad when an
upstream flushing seek failed.
2009-06-23 18:08:44 +02:00
Wim Taymans
85dbf93515
adder: more seeking fixes.
...
When a seek failed upstream, make sure the adder sinkpad is set unflushing again
so that streaming can continue.
We only have a pending segment when we flushed.
Set the flush_stop_pending flag inside the appropriate locks and before we
attempt to perform the upstream seek.
Add some more comments.
Use the right lock to protect the flags in flush_stop.
See #585708
2009-06-17 11:22:51 +02:00
Stefan Kost
fd36634f88
adder: send flush_stop when seeking failed
...
At least do the fix to sent the flush_stop when seeking failed to ensure we
keep no pads flushing. before it was send when the seeking worked which is just
plain wrong and was not the intention.
2009-06-15 11:45:19 +03:00
Wim Taymans
45084bf579
adder: send flush-stop earlier
...
When no flush-stop has been sent by upstream, we have to send one ourselves to
continue playback. Do this as soon as the collect function is called instead of
after we possibly pushed segment events (that got then flushed out)
2009-06-12 16:31:00 +02:00
Stefan Kost
4228ba0c6b
adder: only send flush_stop when seek failed
...
This is still not the ultimate fix. Added some comment to explain the troubles.
2009-05-19 18:44:01 +03:00
Stefan Kost
ef56ebad48
adder: send flush_stop to match flush_start
...
Adder was relying that something else sends a flush stop. When using adder with
a livesource it was not getting a flush_stop and thus all pads downstream where
keept flushing. Mark a pending flush_stop and send it when we are working on
the new segment back in the streaming thread.
2009-05-19 16:49:35 +03:00
Stefan Kost
c94f952056
adder: add more logging and return value checking
2009-05-19 01:13:34 +03:00
Stefan Kost
705b01aa93
adder: handle the return value from iterator_fold
2009-05-19 01:11:45 +03:00