Tim-Philipp Müller
fd429d3233
gdppay: use public API for accessing stream header arrays in caps
...
Don't rely on core implementation details, which are private and
may change. It's also not needed here, the performance impact is
close to none. Also copy buffer before changing its metadata.
2014-12-26 13:44:35 +00:00
Tim-Philipp Müller
62294f0650
gdppay: refactor payloading code a little
...
Get rid of some indirections and inefficiencies,
just payload things directly which gives us more
control over what memory is allocated where and
how and makes things much simpler. In particular,
we can now allocate the payload header plus the
GstMemory to represent it in one go.
2014-12-26 13:44:33 +00:00
Tim-Philipp Müller
c184a4bb04
gdppay: refactor a little
...
Get rid of now-useless packetizer struct and just
call internal functions directly. Also remove
version property which is now defunct, not least
because we create the packetizer with the
version in the init function before a version
can be set.
2014-12-26 13:44:32 +00:00
Tim-Philipp Müller
83d9353d58
gdppay: minor caps event payloading optimisation
...
Avoid creation of buffer we're just going to throw
away two lines later anyway.
2014-11-30 14:38:22 +00:00
Tim-Philipp Müller
82b0ecf194
gdppay: fix some memory leaks
2014-11-30 14:38:22 +00:00
Thiago Santos
6c9fdb52e1
gdppay: remove obsolete code
...
Buffers have no caps in 1.0
2014-07-22 08:51:32 -03:00
Thiago Santos
ea7b843244
gdppay: put all sticky events in streamheader
...
Use the sticky events to compose the streamheader as they are the
ones that are persisted to config new pads linked. Instead of storing
them ourselves rely on the pad storage that already orders it for us
https://bugzilla.gnome.org/show_bug.cgi?id=732596
2014-07-22 08:51:32 -03:00
Thiago Santos
a029a35036
gdppay: update to 1.x reality
...
* stream-start-id is mandatory at the beginning, so add that to the
gdp headers
* caps must be sent before new segment, invert the order from legacy
0.10 code
And fix the tests as a ref is now kept for those buffers that compose
the header
2014-01-31 23:44:11 -03:00
Thiago Santos
e909e6a071
gdppay: push the stream-start event
...
instead of just swallowing upstream's stream-start into its
payload, push it as elements expect a stream-start before data
2014-01-30 18:18:18 -03:00
Tim 'mithro' Ansell
c8cbe98d90
gdppay: fix buffer leak when new caps are same as old caps
...
The leak occurs when you got a message with identical caps to the ones you
already had.
https://bugzilla.gnome.org/show_bug.cgi?id=693324
2013-02-07 14:07:17 +00:00
Tim-Philipp Müller
9e1b75fda3
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Mark Nauwelaerts
712c63af44
gdppay: plug buffer leak
2012-09-11 01:54:46 +01:00
Tim-Philipp Müller
b928640b5e
Use new gst_element_class_set_static_metadata()
2012-09-11 01:54:45 +01:00
Wim Taymans
946dbd38d8
Improve buffer allocation of wrapped memory
2012-09-11 01:54:45 +01:00
Wim Taymans
f12af88f4a
update for buffer api change
2012-09-11 01:54:45 +01:00
Wim Taymans
e817295aef
update for buffer changes
2012-09-11 01:54:44 +01:00
Wim Taymans
4ae0b5eb48
update for new memory api
2012-09-11 01:54:44 +01:00
Wim Taymans
30b45304e4
gdppay: fixup for changed caps
...
Try to send the streamheader after the first buffer.
2012-09-11 01:54:44 +01:00
Wim Taymans
f6cab316cc
update for HEADER flag changes
2012-09-11 01:54:44 +01:00
Tim-Philipp Müller
2d7150414b
gdp: move dataprotocol library into gdp plugin and make private
...
We have removed things like protocol=gdp in the tcp elements
in favour of explicit gdppay/depay elements, so there's no need
to keep a public API and library for now. We can still add it
back later. Someone needs to think hard about 0.11 and gdp
anyway one of these days.
2012-09-11 01:54:43 +01:00
Wim Taymans
f751de2850
add parent to pad functions
2012-09-11 01:54:36 +01:00
Tim-Philipp Müller
9151a5f88f
gdppay: parse caps event and payload caps
...
Which makes it actually output stuff.
2012-09-11 01:54:36 +01:00
Wim Taymans
7713d67993
-base: update for buffer API change
2012-09-11 01:54:36 +01:00
Wim Taymans
5981bbfdf3
-base: port to new SEGMENT API
2012-09-11 01:54:36 +01:00
Wim Taymans
8b39dc2f80
segment: fix for new core API
...
Fix for gst_*_segment_full rename.
2012-09-11 01:54:36 +01:00
Wim Taymans
a1c42ffe0b
-base: don't use buffer caps
...
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2012-09-11 01:54:35 +01:00
Sebastian Dröge
878caef597
gst: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2012-09-11 01:54:34 +01:00
Wim Taymans
b3da9ca972
bufferlist: fixes for new API
2012-09-11 01:54:34 +01:00
Wim Taymans
0e90a45365
plugins: port some plugins to the new memory API
2012-09-11 01:54:34 +01:00
Andoni Morales Alastruey
ce639b529b
gdppay: ensure buffer's metadata is writable before setting caps
2012-09-11 01:54:33 +01:00
David Schleef
70c399426e
gdppay: make newsegment buffer metadata writable
2012-09-11 01:54:33 +01:00
Benjamin Otte
6aae8db723
gst_element_class_set_details => gst_element_class_set_details_simple
...
Also change my email from the old university one to the current one.
2012-09-11 01:54:33 +01:00
Tim-Philipp Müller
16e05084df
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.
2012-09-11 01:54:33 +01:00
Jan Schmidt
5a1492dc0b
gdppay: Don't repeat tags buffers for every new segment
...
Only send a tag buffer when one is received, not after every new segment
event/update.
2012-09-11 01:54:33 +01:00
Marc-André Lureau
04133c2d31
Bug 593035 - set IN_CAPS for streamheader buffer
2012-09-11 01:54:33 +01:00
Wim Taymans
e56bf3929e
gdppay: set caps on outgoing buffers
...
Set caps on outgoing buffers because NULL caps confuse basetransform.
Fixes #583867
2012-09-11 01:54:33 +01:00
Stefan Kost
526c4b5184
Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipe...
...
Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-overrides.txt:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/gst-plugins-base-plugins.signals:
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.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-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.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-queue2.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-video4linux.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:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasrc.c:
* ext/gio/gstgiosink.c:
* ext/gio/gstgiosrc.c:
* ext/gio/gstgiostreamsink.c:
* ext/gio/gstgiostreamsrc.c:
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/pango/gstclockoverlay.c:
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/pango/gsttimeoverlay.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/theora/theoraparse.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* ext/vorbis/vorbisparse.c:
* ext/vorbis/vorbistag.c:
* gst/adder/gstadder.c:
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/gdp/gstgdpdepay.c:
* gst/gdp/gstgdppay.c:
* gst/playback/gstdecodebin2.c:
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c:
* gst/playback/gstqueue2.c:
* gst/playback/gsturidecodebin.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gsttcpserversink.c:
* gst/videorate/gstvideorate.c:
* gst/videoscale/gstvideoscale.c:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c:
* sys/ximage/ximagesink.c:
* sys/xvimage/xvimagesink.c:
Cleanup Plugin docs. Link to signals and properties. Fix sub-section
titles. Drop mentining that all our example pipelines are "simple"
pipelines.
2012-09-11 01:54:32 +01:00
Antoine Tremblay
a0679f9e56
gst/gdp/gstgdppay.c: Fix a buffer memleak and remove a confusing and wrong debug output.
...
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/gdp/gstgdppay.c: (gst_gdp_pay_reset):
Fix a buffer memleak and remove a confusing and wrong debug output.
Fixes bug #538663 .
2012-09-11 01:54:32 +01:00
Antoine Tremblay
ba89323790
gst/gdp/gstgdppay.c: Don't set caps on the buffers that contain a copy of the buffer including the caps of them resul...
...
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/gdp/gstgdppay.c: (gst_gdp_pay_reset_streamheader):
Don't set caps on the buffers that contain a copy of the buffer
including the caps of them resulting in an always increasing refcount
of the caps and insanely large caps. Instead include a buffer without
caps in the new caps. Fixes bug #536475 .
2012-09-11 01:54:32 +01:00
Antoine Tremblay
79c0a10f00
gst/gdp/gstgdppay.c: Close a buffer memory leak. Fixes bug #534071 .
...
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/gdp/gstgdppay.c: (gst_gdp_pay_chain):
Close a buffer memory leak. Fixes bug #534071 .
2012-09-11 01:54:32 +01:00
Sebastian Dröge
a8bf6e2d8a
Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u...
...
Original commit message from CVS:
* configure.ac:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init):
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_class_init):
* ext/gio/gstgiosink.c: (gst_gio_sink_class_init):
* ext/gio/gstgiosrc.c: (gst_gio_src_class_init):
* ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init):
* ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
* ext/pango/gsttextrender.c: (gst_text_render_class_init):
* ext/theora/theoradec.c: (gst_theora_dec_class_init):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init):
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_class_init):
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init):
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init):
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init):
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init):
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(preroll_unlinked):
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init):
* gst/playback/gstplaysink.c: (gst_play_sink_class_init):
* gst/playback/gstqueue2.c: (gst_queue_class_init):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_stream_selector_class_init):
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init):
* gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init):
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init):
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_class_init):
* gst/volume/gstvolume.c: (gst_volume_class_init):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use
static strings (i.e. all). This gives us less memory usage,
fewer allocations and thus less memory defragmentation. Depend
on core CVS for this. Fixes bug #523806 .
2012-09-11 01:54:32 +01:00
Thomas Vander Stichele
5b15ce712b
gst/gdp/gstgdppay.c (gst_gdp_pay_chain): tests/check/pipelines/streamheader.c (tag_event_probe_cb,
...
Original commit message from CVS:
* gst/gdp/gstgdppay.c (gst_gdp_pay_chain):
* tests/check/pipelines/streamheader.c (tag_event_probe_cb,
GST_START_TEST, buffer_probe_cb, GST_START_TEST):
Fix a bug where serialized IN_CAPS buffers needed to be set IN_CAPS.
2012-09-11 01:54:32 +01:00
Wim Taymans
1ed9b0fff4
gst/gdp/gstgdppay.c: Make sure we set the IN_CAPS flag correctly.
...
Original commit message from CVS:
* gst/gdp/gstgdppay.c: (gst_gdp_pay_chain),
(gst_gdp_pay_sink_event):
Make sure we set the IN_CAPS flag correctly.
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_render):
Get the IN_CAPS flag before we call functions that mess with the flags.
2012-09-11 01:54:31 +01:00
Thomas Vander Stichele
c1c0767689
gst/gdp/gstgdppay.c (gst_gdp_pay_reset_streamheader, gst_gdp_pay_chain, gst_gdp_pay_sink_event):
...
Original commit message from CVS:
* gst/gdp/gstgdppay.c (gst_gdp_pay_reset_streamheader,
gst_gdp_pay_chain, gst_gdp_pay_sink_event):
Only stamp buffers with offset/offset_end right before they get
pushed. This ensures offset continuity, which was not the case
before as shown by
gst-launch -v -m audiotestsrc num-buffers=10 ! audioconvert ! vorbisenc ! gdppay ! identity check-imperfect-offset=TRUE ! fakesink silent=TRUE
2012-09-11 01:54:31 +01:00
Thomas Vander Stichele
4b972637e1
adding debugging
...
Original commit message from CVS:
adding debugging
2012-09-11 01:54:31 +01:00
Michael Smith
377554d9eb
gst/gdp/gstgdppay.c: Fix memory leaks and misleading debug messages, add a couple of comments.
...
Original commit message from CVS:
* gst/gdp/gstgdppay.c: (gst_gdp_pay_reset),
(gst_gdp_pay_reset_streamheader), (gst_gdp_pay_chain):
Fix memory leaks and misleading debug messages, add a couple of
comments.
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_get_stats),
(gst_multi_fd_sink_render):
Do not use gst_buffer_make_writable() in a basesink render method,
as it may incorrectly unref the buffer. Instead, use convoluted
dance to avoid copying the buffer except when we need to.
2012-09-11 01:54:31 +01:00
Wim Taymans
8b7b165e1b
gst/gdp/gstgdpdepay.c: Disable seeking.
...
Original commit message from CVS:
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_init),
(gst_gdp_depay_finalize), (gst_gdp_depay_sink_event),
(gst_gdp_depay_src_event), (gst_gdp_depay_chain),
(gst_gdp_depay_change_state):
Disable seeking.
Small cleanups.
Clear adapter on disconts.
Clear caps when going to READY instead of NULL
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
(gst_gdp_pay_init), (gst_gdp_pay_finalize), (gst_gdp_pay_reset),
(gst_gdp_buffer_from_caps), (gst_gdp_pay_buffer_from_buffer),
(gst_gdp_buffer_from_event), (gst_gdp_pay_reset_streamheader),
(gst_gdp_queue_buffer), (gst_gdp_pay_chain),
(gst_gdp_pay_sink_event), (gst_gdp_pay_src_event),
(gst_gdp_pay_change_state):
* gst/gdp/gstgdppay.h:
Reset payloader when going to READY.
Fix leaked buffers in ->queue on push errors.
Disable seeking.
Code cleanups.
Create packetizer in _init, free in _finalize.
2012-09-11 01:54:29 +01:00
Thomas Vander Stichele
afe32c11ec
gst/gdp/: remove parent_class setting, BOILERPLATE does this fix typo in comment
...
Original commit message from CVS:
2006-07-17 Thomas Vander Stichele <thomas at apestaart dot org>
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
remove parent_class setting, BOILERPLATE does this
(gst_gdp_pay_reset_streamheader):
fix typo in comment
2012-09-11 01:54:29 +01:00
Thomas Vander Stichele
01d7de7e2d
docs/plugins/: add more plugins and elements to docs
...
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
add more plugins and elements to docs
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
fix segfaults due to wrong g_free
add example
* gst/gdp/gstgdppay.c:
add example
2012-09-11 01:54:29 +01:00
Tim-Philipp Müller
17582f36fc
Use GST_DEBUG_CATEGORY_STATIC where possible ( #342503 ) and fix one GObject boilerplate macro.
...
Original commit message from CVS:
* ext/directfb/dfbvideosink.c:
* ext/gsm/gstgsmdec.c:
* ext/gsm/gstgsmenc.c:
* ext/libmms/gstmms.c:
* ext/neon/gstneonhttpsrc.c:
* ext/theora/theoradec.c:
* gst/freeze/gstfreeze.c:
* gst/gdp/gstgdpdepay.c:
* gst/gdp/gstgdppay.c:
* sys/glsink/glimagesink.c:
Use GST_DEBUG_CATEGORY_STATIC where possible (#342503 )
and fix one GObject boilerplate macro.
2012-09-11 01:54:29 +01:00