Commit graph

53 commits

Author SHA1 Message Date
Wim Taymans 5f1312b5d8 rename files to match object names 2011-11-11 12:32:23 +01:00
Wim Taymans ccf511a5d4 rename BaseRTP -> RTPBase 2011-11-11 12:24:08 +01:00
Wim Taymans 24347217a5 rtp: fix de/payloaders
gst_basertppayload -> gst_base_rtp_payload
Add pts/dts support in the depayloader
Remove old timestamp code
Add a default getcaps function so subclasses can chain up to it instead of
relying on the return value of the getcaps function.
2011-11-10 17:18:00 +01:00
Wim Taymans df4999aeb1 bufferlist: update for new API 2011-11-02 09:04:27 +01:00
Wim Taymans 81ebc0a82e basertp: use caps event instead of setcaps function
Use the caps event instead of the setcaps function to configure caps.
Use a default event handler for the base rtp payloader instead of the awkward
way of handling the return value.
2011-06-02 19:21:24 +02:00
Wim Taymans a87c021237 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/video/convertframe.c
2011-05-24 09:47:15 +02:00
Stefan Kost 269205b1ad docs: rtp library docs update 2011-05-23 23:56:09 +03:00
Sebastian Dröge 5d4fd722f0 rtp: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-18 18:29:35 +02:00
Wim Taymans 730b87271c bufferlist: fixes for new API 2011-03-31 17:47:43 +02:00
Wim Taymans 3d25a4b470 libs: port to new data API 2011-03-27 13:55:15 +02:00
Wim Taymans 678753b325 baseaudiopay: fix timestamps on buffer lists
Fix the outgoing timestamps and RTP timestamps on outgoing buffers when using
buffer lists.
2010-12-30 18:09:58 +01:00
Olivier Crête 0a24137100 basertpaudiopayload: Add extra frame for non-complete frame lengths
Some payloaders like rtpg729pay can add a shorter frame at the end of a
RTP packet. We need to count it like a full frame for timestamps.

https://bugzilla.gnome.org/show_bug.cgi?id=618324
2010-05-13 11:03:12 +02:00
Olivier Crête 8a2b81a576 basertpaudiopayload: Set duration on buffers
Set the duration of the buffers from their size
2010-05-13 10:54:08 +02:00
Olivier Crête 66cc2faba7 audiopayload: use ptime-multiple
Based on patch by Olivier Crête <olivier.crete@collabora.co.uk>

Fixes #613248
2010-04-09 16:17:31 +02:00
Wim Taymans 73d5ae1107 audiopayload: add support for buffer-lists 2010-01-06 13:39:14 +01:00
Olivier Crête bc6179952b basertpaudiopayload: Respect ptime if it is given
If the ptime is given in the caps, respect it and force the minimum
and maximum sizes to be exactly the requested ptime.

https://bugzilla.gnome.org/show_bug.cgi?id=606050
2010-01-05 13:20:49 -05: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
Olivier Crête e27c24b200 rtpaudiopayload: Only sent exact multiple of the frame size
Also align the maximum size with the frame size, not only the minimum
2009-10-23 13:56:05 +03:00
Wim Taymans 7a7663476f audiortppay: add some debugging 2009-09-03 18:53:19 +02:00
Wim Taymans c1db9ebb20 audiortppay: handle gaps
Add various conversion functions between time<->bytes<->rtptime that will be
used later on.
Refactor the min/max packet length code so that it can be used for both
sample/frame based payloaders. Cache the returned values.
code cleanups.
When we discover a DISCONT buffer, make the outgoing RTP timestamps have the
same gap as the GStreamer timestamps gap.
2009-09-03 17:59:00 +02:00
Wim Taymans 3a3c6f309c audiortppay: fix frame duration calculations
Fix the calculation of the frame duration and rtp timestamps.
Add some debugging
2009-09-03 17:59:00 +02:00
Wim Taymans bb91a7b47c audiortppay: use offsets for RTP timestamps
Have a custom sample/frame function to generate an offset that the base class
will use for generating RTP timestamps. This results in perfect RTP timestamps
on the output buffers.
Refactor setting metadata on output buffers.
Add some more functionality to _flush().
Handle DISCONT on the input buffers and set the marker bit and DISCONT flag on
the next outgoing buffer.
Flush the pending data on EOS.
2009-09-03 17:58:59 +02:00
Wim Taymans c1ae0a2003 audiortppay: move function around 2009-09-03 17:58:59 +02:00
Wim Taymans 5808041f44 audiortppay: fix sample duration calculation 2009-09-03 17:58:59 +02:00
Wim Taymans 299ab7be0e audiortppay: more refactoring
Unify the sample/frame buffer handling code by making the functions plugable.
2009-09-03 17:58:59 +02:00
Wim Taymans fb5037f727 audiortppayload: refactor some more
Refactor getting the packet min/max size and alignment code.
Refactor converting bytes to time.
change some variable to something shorter.
2009-09-03 17:58:59 +02:00
Wim Taymans 1c6b71af03 audiortppayload: refactor and cleanup
Always use the adapter when we need to fragment the incomming buffer. Use more
modern adapter functions to avoid malloc and memcpy. The overall result is that
the code looks cleaner while it should be equally fast and in some case avoid a
memcpy and malloc.
Use the adapter timestamping functions for more precise timestamps in case of
weird disconts.
Cache some values instead of recalculating them.
Add gst_base_rtp_audio_payload_flush() to flush a certain amount of bytes from
the internal adapter.

API: GstBaseRTPAudioPayload::gst_base_rtp_audio_payload_flush()
2009-09-03 17:58:59 +02:00
Wim Taymans bc3c8a1564 audiopayload: code cleanups 2009-09-03 11:15:20 +02:00
Wim Taymans 3c29efa692 audiortppayload: don't check adapter
the adapter is never NULL so we don't need to check it.
Use _scale functions to avoid overflows.
2009-09-03 11:15:20 +02:00
Mersad Jelacic ed814cbaed gst-libs/gst/rtp/gstbasertpaudiopayload.*: API: add gst_base_rtp_audio_payload_set_samplebits_options() to make it po...
Original commit message from CVS:
Patch by: Mersad Jelacic  <mersad at axis dot com>
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
API: add gst_base_rtp_audio_payload_set_samplebits_options() to make it
possible to specify the sample size in bits. (#509637)
2008-03-03 16:11:50 +00:00
Wim Taymans d8c28a99c8 gst-libs/gst/rtp/gstbasertpaudiopayload.c: Fix potential leaks.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_handle_frame_based_buffer),
(gst_base_rtp_audio_payload_handle_sample_based_buffer):
Fix potential leaks.
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_chain):
Fix leak when there is no function configured.
2008-02-12 14:51:26 +00:00
Wim Taymans 56e39e7c1c gst-libs/gst/rtp/gstbasertpaudiopayload.c: Return FALSE from the event handler to let the parent class handle the event.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_payload_audio_handle_event):
Return FALSE from the event handler to let the parent class handle the
event.
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_push_full):
Mark outgoing buffers as DISCONT if the incomming buffer was DISCONT.
* gst-libs/gst/rtp/gstbasertppayload.c:
Bump the MTU to 1400.
2007-09-04 16:18:48 +00:00
Stefan Kost aac0353ce6 gst-libs/gst/: Make gtk-doc happy.
Original commit message from CVS:
* gst-libs/gst/interfaces/propertyprobe.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/tag/gstvorbistag.c:
Make gtk-doc happy.
2007-07-10 20:46:41 +00:00
Wim Taymans 7ace85992a gst-libs/gst/rtp/gstbasertpaudiopayload.c: Some cleanups, remove minptime property as it is now in the parent class.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_class_init),
(gst_base_rtp_audio_payload_init),
(gst_base_rtp_audio_payload_finalize),
(gst_base_rtp_audio_payload_handle_frame_based_buffer),
(gst_base_rtp_audio_payload_handle_sample_based_buffer),
(gst_base_rtp_payload_audio_handle_event):
Some cleanups, remove minptime property as it is now in the parent
class.
Override parent class event function.
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init), (gst_basertppayload_init),
(gst_basertppayload_event), (gst_basertppayload_set_property),
(gst_basertppayload_get_property):
* gst-libs/gst/rtp/gstbasertppayload.h:
Add min-ptime property.
Add handle-event vmethod. Fixes #415001.
2007-05-21 09:45:28 +00:00
Sébastien Moutte c88306fe26 gst-libs/gst/rtp/gstbasertpaudiopayload.c: Move variable declaration before the first instruction.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_handle_frame_based_buffer):
Move variable declaration before the first instruction.
* gst/videotestsrc/videotestsrc.c:
Define M_PI if it's not defined yet.
* win32/common/libgstrtp.def:
Add new exported functions.
2007-05-09 21:17:40 +00:00
Stefan Kost 64a9674bd2 gst/: gst/audiotestsrc/gstaudiotestsrc.c
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst/adder/gstadder.c:
* gst/audiotestsrc/gstaudiotestsrc.c
(gst_audio_test_src_create_white_noise):
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c (VOLUME_UNITY_INT16,
VOLUME_UNITY_INT16_BIT_SHIFT, VOLUME_MAX_DOUBLE,
volume_sink_template, volume_src_template, gst_volume_init,
volume_process_double, volume_process_int16,
volume_process_int16_clamp):
Doc fixes and formatting.
2007-05-04 13:10:07 +00:00
Olivier Crete e3ff444d30 gst-libs/gst/rtp/gstbasertpaudiopayload.c: Chain up to parent class in dispose function; get rid of unnecessary 'dipo...
Original commit message from CVS:
Patch by: Olivier Crete  <tester at tester ca>
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_class_init),
(gst_base_rtp_audio_payload_init),
(gst_base_rtp_audio_payload_dispose):
Chain up to parent class in dispose function; get rid of
unnecessary 'diposed' flag in private structure (#415001).
2007-04-21 15:25:22 +00:00
Tim-Philipp Müller 71d77fbecc Some minor docs fixes and additions; also add missing 'Since' bits.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs.types:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_class_init):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
* gst-libs/gst/rtp/gstbasertppayload.c:
Some minor docs fixes and additions; also add missing 'Since' bits.
2007-04-21 15:10:25 +00:00
Zeeshan Ali 80ebb9eb42 gst-libs/gst/rtp/gstbasertpaudiopayload.*: The recently-added gst_base_rtp_audio_payload_push() should take an object...
Original commit message from CVS:
Patch by: Zeeshan Ali  <zeenix gmail com>
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_handle_frame_based_buffer),
(gst_base_rtp_audio_payload_handle_sample_based_buffer),
(gst_base_rtp_audio_payload_push):
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
The recently-added gst_base_rtp_audio_payload_push() should take an
object of type GstBaseRTPAudioPayload as first argument (#431672).
2007-04-21 14:40:45 +00:00
Wim Taymans 0a39f494b5 Add RTCP docs.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_get_adapter):
Add RTCP docs.
Fix some more docs.
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_buffer_new_take_data), (gst_rtcp_buffer_new_copy_data),
(gst_rtcp_buffer_validate_data), (gst_rtcp_buffer_validate),
(gst_rtcp_buffer_get_packet_count), (read_packet_header),
(gst_rtcp_buffer_get_first_packet), (gst_rtcp_packet_move_to_next),
(gst_rtcp_buffer_add_packet), (gst_rtcp_packet_remove),
(gst_rtcp_packet_get_padding), (gst_rtcp_packet_get_type),
(gst_rtcp_packet_get_count), (gst_rtcp_packet_get_length),
(gst_rtcp_packet_sr_get_sender_info),
(gst_rtcp_packet_sr_set_sender_info),
(gst_rtcp_packet_rr_get_ssrc), (gst_rtcp_packet_rr_set_ssrc),
(gst_rtcp_packet_get_rb_count), (gst_rtcp_packet_get_rb),
(gst_rtcp_packet_add_rb), (gst_rtcp_packet_set_rb),
(gst_rtcp_packet_sdes_get_chunk_count),
(gst_rtcp_packet_sdes_first_chunk),
(gst_rtcp_packet_sdes_next_chunk), (gst_rtcp_packet_sdes_get_ssrc),
(gst_rtcp_packet_sdes_first_item),
(gst_rtcp_packet_sdes_next_item), (gst_rtcp_packet_sdes_get_item),
(gst_rtcp_packet_bye_get_ssrc_count),
(gst_rtcp_packet_bye_get_nth_ssrc), (gst_rtcp_packet_bye_add_ssrc),
(gst_rtcp_packet_bye_add_ssrcs), (get_reason_offset),
(gst_rtcp_packet_bye_get_reason_len),
(gst_rtcp_packet_bye_get_reason), (gst_rtcp_packet_bye_set_reason):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Add new helper object for parsing and creating RTCP messages.
2007-03-29 16:20:31 +00:00
Philippe Kalaf b6d7f65463 gst-libs/gst/rtp/gstbasertpaudiopayload.*: olivier.crete@collabora.co.uk.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
Add min-ptime property to RTP base audio payloader. Patch by
olivier.crete@collabora.co.uk.
Fixes #415001

Indentation/whitespace/documentation fixes.
2007-03-14 21:11:18 +00:00
Sébastien Moutte 9caee48ed4 gst-libs/gst/rtp/gstbasertpaudiopayload.c: Use gst_gdouble_to_guint64 for conversions.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:(gst_base_rtp_audio_payload_handle_frame_based_buffer):
Use gst_gdouble_to_guint64 for conversions.
* win32/common/config.h.in:
Add a define for GST_INSTALL_PLUGINS_HELPER
* win32/common/libgstaudio.def:
* win32/common/libgstcdda.def:
* win32/common/libgstnetbuffer.def:
* win32/common/libgstrtp.def:
* win32/common/libgutils.def:
Add new exported functions.
* win32/vs6/gst_plugins_base.dsw:
* win32/vs6/libgstdecodebin.dsp:
* win32/vs6/libgstnetbuffer.dsp:
* win32/vs6/libgstplaybin.dsp:
* win32/vs6/libgstrtp.dsp:
* win32/vs6/libgstvorbis.dsp:
* win32/vs6/libgstcdda.dsp:
* win32/vs6/libgstgdp.dsp:
* win32/vs6/libgstutils.dsp:
Update and add new project files.
2007-02-10 19:27:48 +00:00
Jens Granseuer 595217e840 Declare variables at the beginning of a block. Fixes #383195.
Original commit message from CVS:
Patch by: Jens Granseuer <jensgr at gmx net>
* gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_handle_frame_based_buffer),
(gst_base_rtp_audio_payload_handle_sample_based_buffer):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_fixate):
Declare variables at the beginning of a block. Fixes #383195.
2006-12-09 15:12:38 +00:00
Wim Taymans 351622d028 gst-libs/gst/rtp/: Fix and activate base audio payloader.
Original commit message from CVS:
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_init):
Fix and activate base audio payloader.
2006-10-31 10:49:19 +00:00
Philippe Kalaf 306ab03865 gst-libs/gst/rtp/gstbasertpaudiopayload.c: Removed empty * between paragraphs
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
Removed empty * between paragraphs
2006-09-30 00:14:20 +00:00
Philippe Kalaf 5ba46c0866 gst-libs/gst/rtp/: Moved some documentation into .c file
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/README:
Moved some documentation into .c file
2006-09-29 23:50:53 +00:00
Philippe Kalaf 214a128382 gst-libs/gst/rtp/gstbasertpaudiopayload.*: Moved AudioCodecType into priv
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
Moved AudioCodecType into priv
Renamed all gst_basertpaudiopayload to gst_base_rtp_audio_payload prefixes
2006-09-27 00:13:29 +00:00
Philippe Kalaf 7e52276a83 gst-libs/gst/rtp/gstbasertpaudiopayload.c: Fixed nasty memory leak
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
Fixed nasty memory leak
2006-06-29 12:21:06 +00:00
Tim-Philipp Müller 114a273f27 Use GST_DEBUG_CATEGORY_STATIC where possible (#342503).
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
* gst-libs/gst/rtp/gstbasertppayload.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gsttcpclientsink.c:
* gst/tcp/gsttcpclientsrc.c:
* gst/tcp/gsttcpserversink.c:
* gst/tcp/gsttcpserversrc.c:
* gst/videorate/gstvideorate.c:
* gst/videotestsrc/gstvideotestsrc.c:
* sys/v4l/gstv4ljpegsrc.c:
* sys/v4l/gstv4lmjpegsink.c:
* sys/v4l/gstv4lsrc.c:
* tests/examples/seek/scrubby.c:
* tests/examples/seek/seek.c:
Use GST_DEBUG_CATEGORY_STATIC where possible (#342503).
2006-06-23 09:53:09 +00:00
Philippe Kalaf 0e710f94cc gst-libs/gst/rtp/gstbasertpaudiopayload.c: 80 line columns
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
80 line columns
Removed redundant floor()
2006-05-19 17:57:56 +00:00