Commit graph

254 commits

Author SHA1 Message Date
Sebastian Dröge
d5a4ca9962 build: Make some more rules silent if requested 2010-03-09 21:01:38 +00:00
Wim Taymans
92a474b18c basedepay: clarify some documentation 2010-03-08 12:11:01 +01:00
Olivier Crête
6c6d0e32cf basertppayload: ptime/maxptime should be unsigned
https://bugzilla.gnome.org/show_bug.cgi?id=607403
2010-01-21 10:46:31 +01:00
Olivier Crête
8d2ac0b2ec basertppayload: ptime should be in nanoseconds
https://bugzilla.gnome.org/show_bug.cgi?id=607403
2010-01-21 10:46:17 +01:00
Olivier Crête
ad399c8069 basertppayload: Reject empty caps
https://bugzilla.gnome.org/show_bug.cgi?id=607353
2010-01-19 13:29:19 +01: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
Olivier Crête
a4b0f2a1bd rtpbasepayload: Store ptime from caps
https://bugzilla.gnome.org/show_bug.cgi?id=606050
2010-01-05 13:20:49 -05:00
Olivier Crête
21151ba940 basertppayload: Accept maxptime from caps
https://bugzilla.gnome.org/show_bug.cgi?id=606050
2010-01-05 13:20:49 -05:00
Wim Taymans
f7070b6bc6 rtcpbuffer: add helper functions for SDES types
Add functions to convert SDES names to their types and back. Will be used later
to set SDES items using a GstStructure.

See #595265
2009-12-22 20:15:28 +01:00
Stefan Kost
f3db4e01b5 rtp: dump packets which we reject 2009-10-28 11:30:58 +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
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
a87811f49a basertppayload: small comment fix 2009-10-16 10:59:39 +02:00
Peter Kjellerstedt
7bca2a0019 rtp: Correct timestamping of buffers when buffer_lists are used
The timestamping of buffers when buffer_lists are used failed if
a buffer did not have both a timestamp and an offset.
2009-10-16 10:51:22 +02:00
Sebastian Dröge
df9b8b57b3 introspection: Build pkgconfig before all libraries and set PKG_CONFIG_PATH
This way g-ir-scanner can find the gstreamer-*-0.10 pkg-config files.
2009-09-13 11:19:50 +02:00
Wim Taymans
e2e7ae0129 basertppay: don't print RTP timestamps as clocktime
Don't try to print the RTP timestamp as a GstClockTime, it's just a guint32.

Fixes #594757
2009-09-10 18:21:08 +02:00
Havard Graff
f710bec408 basertpdepayload: fix event forwarding 2009-09-08 15:10:59 +02:00
Havard Graff
f0f72088bc rtcpbuffer: add missing break in handling of GST_RTCP_TYPE_PSFB
Fixes #594258
2009-09-08 13:03:21 +02:00
Sebastian Dröge
7e90e0846c introspection: Strip Gst prefix from all types/functions 2009-09-05 12:31:47 +02:00
Sebastian Dröge
7794caf9f8 introspection: Fix build if gir-repository is not installed 2009-09-05 11:49:41 +02:00
Sebastian Dröge
8001b380b1 rtp: Add gobject-introspection support 2009-09-05 11:25:42 +02: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
bfc19462bb rtppay: 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
50b9640d01 basertppay: add property to disable perfect RTP time
Add a property to disable the generation of perfect RTP timestamps. By default
it is active.

API: GstBaseRTPPayload::perfect-rtptime
2009-09-03 11:29:23 +02:00
Wim Taymans
3a4edea56d basertppay: allow subclasses to influence RTP time
Allow subclasses to use the OFFSET field on RTP buffers to influence the way in
which RTP timestamps are generated. Usually timestamps are created from the
GStreamer timestamps on the buffer, which could result in imperfect RTP
timestamps.
2009-09-03 11:15:20 +02:00
Wim Taymans
5a479669d4 basertppay: add macro to cast 2009-09-03 11:15:20 +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
Jonas Holmberg
ec91d508af basertppayload: Make instance init faster by not reading /dev/urandom 3 times
... which is the default seed when creating a new GRand. Because
GLib in older versions used buffered IO this would take a lot of time.

Instead use the global GRand for getting random numbers and keep the
three instance GRand for backward compatibility with a simple seed.

Fixes bug #593284.
2009-09-01 10:39:52 +02:00
Wim Taymans
e40b262ab7 basertppayload: whitespace fixes. 2009-08-28 14:09:02 +02:00
Edward Hervey
9329b8be72 gst-libs: Remove dead assignments and resulting unused variables. 2009-08-08 15:54:57 +02:00
Wim Taymans
85af9b82e8 basertppayload: add support for bufferlists
Based on patch from Ognyan Tonchev.

See #585559
2009-06-19 15:52:34 +02:00
Wim Taymans
f5c8055edf rtpbuffer: use new convenience functions
New core convenience functions makes the list getters and setters trivial.
Maybe even too trivial...
2009-06-19 15:33:04 +02:00
Wim Taymans
457d39075c rtp: cleanups, add _list_get_seq() too
Clean up the docs a little.
Add missing _list_get_seq method.
Add new symbols to the docs
2009-06-18 19:04:52 +02:00
Wim Taymans
e2ccc1ee39 rtp: cleanups
Add Since tags to docs
Move some code around
Add win32 symbols
2009-06-18 18:51:04 +02:00
Wim Taymans
66c388a0e0 rtp: add bufferlist support 2009-06-18 18:51:04 +02:00
Wim Taymans
f385081c92 rtp: pass data to macros instead of GstBuffer 2009-06-18 18:50:35 +02:00
Wim Taymans
8bbf2e8a32 docs: fix typo 2009-06-11 12:39:19 +02:00
Wim Taymans
0a09632396 rtpdepay: add some more comments 2009-05-12 10:39:49 +02:00
Olivier Crete
d927114ef8 RTCP: don't fail when retrieving invalid PT
We can't meaningfully assert on valid packet types so just return the type as it
is. Update the comments to reflect this.

Fixes #579192.
2009-04-17 10:53:10 +02:00
Johann Prieur
86edcadc43 RTCP: add beginnings of Feedback messages
Add the beginnings of parsing and constructing Feedback messages.
Fixes #577610.
2009-04-14 16:45:20 +02:00
Stefan Kost
251e4d160a docs: don't put random stuff in tags.
Tags like Since: or Returns: can only be followed by more tags. gtk-doc has no
tag to append text again to the documentation body.
2009-02-26 10:09:59 +02:00
Wim Taymans
9ce042e2a7 Avoid overflows in the padding checks by doing the check slightly
differently.
Add a unit test to check for correct behaviour.
2009-01-21 13:09:29 +01:00
Olivier Crete
3c9df39c15 gst-libs/gst/rtp/gstrtcpbuffer.*: Implement gst_rtcp_packet_remove(). Fixes #563174.
Original commit message from CVS:
Patch by: Olivier Crete  <tester at tester ca>
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_remove):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Implement gst_rtcp_packet_remove(). Fixes #563174.
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add unit test for some RTCP functions.
2008-12-08 12:08:32 +00:00
Wim Taymans
b2004e3d05 gst-libs/gst/rtp/gstrtcpbuffer.c: Fix typo in the docs.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
Fix typo in the docs.
2008-11-25 15:33:30 +00:00
Wim Taymans
9c32e1f152 gst-libs/gst/rtp/gstrtpbuffer.c: Avoid expensive type checks we already did as part of the _validate() function that ...
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data),
(gst_rtp_buffer_set_packet_len), (gst_rtp_buffer_get_packet_len),
(gst_rtp_buffer_get_header_len), (gst_rtp_buffer_get_version),
(gst_rtp_buffer_set_version), (gst_rtp_buffer_get_padding),
(gst_rtp_buffer_set_padding), (gst_rtp_buffer_pad_to),
(gst_rtp_buffer_get_extension), (gst_rtp_buffer_set_extension),
(gst_rtp_buffer_get_extension_data),
(gst_rtp_buffer_set_extension_data), (gst_rtp_buffer_get_ssrc),
(gst_rtp_buffer_set_ssrc), (gst_rtp_buffer_get_csrc_count),
(gst_rtp_buffer_get_csrc), (gst_rtp_buffer_set_csrc),
(gst_rtp_buffer_get_marker), (gst_rtp_buffer_set_marker),
(gst_rtp_buffer_get_payload_type),
(gst_rtp_buffer_set_payload_type), (gst_rtp_buffer_get_seq),
(gst_rtp_buffer_set_seq), (gst_rtp_buffer_get_timestamp),
(gst_rtp_buffer_set_timestamp),
(gst_rtp_buffer_get_payload_subbuffer),
(gst_rtp_buffer_get_payload_len), (gst_rtp_buffer_get_payload):
Avoid expensive type checks we already did as part of the
_validate() function that should be called first.
2008-11-13 15:37:40 +00:00
Wim Taymans
c98d4a5031 gst-libs/gst/rtp/gstbasertpdepayload.c: Fix some cases where a newsegment event was not sent.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c: (create_segment_event),
(gst_base_rtp_depayload_push_full),
(gst_base_rtp_depayload_set_gst_timestamp):
Fix some cases where a newsegment event was not sent.
2008-11-11 16:40:50 +00:00
Wim Taymans
4ae82906ab gst-libs/gst/rtp/gstbasertpdepayload.*: Add some more G_LIKELY
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_set_gst_timestamp),
(gst_base_rtp_depayload_change_state):
* gst-libs/gst/rtp/gstbasertpdepayload.h:
Add some more G_LIKELY
Fail when the setcaps function was not called.
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_set_outcaps):
Propagate return value of setcaps.
2008-10-13 09:16:59 +00:00
Wim Taymans
a2eb053641 gst-libs/gst/rtp/gstbasertppayload.c: Configure the next seqnum and timestamp in the state change so that they can be...
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_change_state):
Configure the next seqnum and timestamp in the state change so that they
can be queried soon after.
2008-10-06 16:31:27 +00:00
Wim Taymans
b86ef2dcf2 gst-libs/gst/rtp/gstbasertpdepayload.c: Improve debugging of the rtptime.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain):
Improve debugging of the rtptime.
2008-10-06 16:29:33 +00:00
Wim Taymans
11309247f3 gst-libs/gst/rtp/gstbasertppayload.c: Simply converting the running time into an RTP timestamp by scaling it based on...
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push),
(gst_basertppayload_change_state):
Simply converting the running time into an RTP timestamp by scaling it
based on the clock-rate is good enough for making an RTP timestamp. This
has the added benefit that we can later on expose a property with the
RTP timestamp of running time 0, as is needed for RTSP servers to
generate the response of the PLAY request.
2008-05-30 15:29:20 +00:00
Wim Taymans
79a725148d gst-libs/gst/rtp/gstbasertpdepayload.c: Check sequence numbers, mark input buffers with a discont flag for the subcla...
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_handle_sink_event),
(gst_base_rtp_depayload_push_full),
(gst_base_rtp_depayload_change_state):
Check sequence numbers, mark input buffers with a discont flag for the
subclass when we detected a gap, drop duplicate buffers. We do this
because one can use the element without a jitterbuffer in front and we
don't want to feed the subclasses invalid or reordered data.
Do an error when the subclass did not provide a process function instead
of crashing.
Some other small cleanups.
2008-05-23 14:14:28 +00:00
Wim Taymans
86ab51207b gst-libs/gst/rtp/gstbasertpdepayload.c: Validate the RTP packet before further processing it. It's just too dangerous...
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain):
Validate the RTP packet before further processing it. It's just too
dangerous to accept random packets and people are not forced to use a
jitterbuffer or session manager to filter out the bad packets.
* gst-libs/gst/rtp/gstrtpbuffer.c:
(gst_rtp_buffer_set_extension_data),
(gst_rtp_buffer_get_payload_subbuffer):
Small cleanups.
When setting extension data in a buffer that is too small, we fail and
we should not set the extension bit.
Change GST_WARNINGS into g_warning because they really are
programming errors.
* tests/check/libs/rtp.c: (GST_START_TEST):
Catch the g_warnings now in the unit tests and that fact that failing to
set extension data left the extension bit untouched.
2008-05-14 20:28:02 +00:00
Bernard B
d06df554a9 gst-libs/gst/rtp/gstrtpbuffer.c: Fix seqnum compare function for bordercase values and fix the docs again. Fixes #533...
Original commit message from CVS:
Patch by: Bernard B <b-gnome at largestprime dot net>
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_compare_seqnum):
Fix seqnum compare function for bordercase values and fix the docs
again. Fixes #533075.
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add a testcase for seqnum compare function.
2008-05-14 13:43:12 +00:00
Wim Taymans
c6389eec57 gst-libs/gst/rtp/gstbasertppayload.c: Rename the setcaps/getcaps function internally to make it clear that they are c...
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_init),
(gst_basertppayload_sink_setcaps),
(gst_basertppayload_sink_getcaps):
Rename the setcaps/getcaps function internally to make it clear that
they are called for the sink pad.
2008-05-02 12:13:08 +00:00
Wim Taymans
f0f6476aff gst-libs/gst/rtp/gstbasertpdepayload.*: Catch packet-lost events from the jitterbuffer and convert them into a vmetho...
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init),
(gst_base_rtp_depayload_handle_sink_event), (create_segment_event),
(gst_base_rtp_depayload_packet_lost),
(gst_base_rtp_depayload_set_gst_timestamp):
* gst-libs/gst/rtp/gstbasertpdepayload.h:
Catch packet-lost events from the jitterbuffer and convert them into a
vmethod call (lost-packet) so that depayloaders can do something smart.
Also add a default packet-lost function that sends out a segment update
to the decoders.
2008-05-02 12:11:07 +00:00
Wim Taymans
5b8afead80 gst-libs/gst/rtp/gstrtpbuffer.c: Fix the docs about the seqnum compare function, it returns a difference.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c:
Fix the docs about the seqnum compare function, it returns a difference.
2008-04-25 07:37:09 +00:00
Sebastian Dröge
b8d03daeab gst-libs/gst/rtp/gstrtppayloads.c: Use g_ascii_strcasecmp() instead of the deprecated g_strcasecmp().
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtppayloads.c:
(gst_rtp_payload_info_for_name):
Use g_ascii_strcasecmp() instead of the deprecated g_strcasecmp().
2008-04-19 16:33:24 +00:00
Sebastian Dröge
49deb0c05d 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.
2008-03-22 15:00:53 +00: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
Sebastian Dröge
ec7afb6f84 Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
Original commit message from CVS:
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_get_type):
* ext/alsa/gstalsasink.c: (set_hwparams):
* ext/alsa/gstalsasrc.c: (set_hwparams):
* ext/gio/gstgio.c: (gst_gio_uri_handler_get_uri):
* ext/ogg/gstoggmux.h:
* ext/ogg/gstogmparse.c:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/fft/kiss_fft_f64.c: (kiss_fft_f64_alloc):
* gst-libs/gst/pbutils/missing-plugins.c:
(gst_missing_uri_sink_message_new),
(gst_missing_element_message_new),
(gst_missing_decoder_message_new),
(gst_missing_encoder_message_new):
* gst-libs/gst/rtp/gstbasertppayload.c:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_packet_bye_get_reason):
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/ffmpegcolorspace/imgconvert.c:
* gst/playback/test.c: (gen_video_element), (gen_audio_element):
* gst/typefind/gsttypefindfunctions.c:
* gst/videoscale/vs_4tap.c:
* gst/videoscale/vs_4tap.h:
* sys/v4l/gstv4lelement.c:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get_any_caps):
* sys/v4l/v4l_calls.c:
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_init),
(gst_v4lsrc_try_capture):
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new):
* tests/check/elements/audioconvert.c:
* tests/check/elements/audioresample.c:
(fail_unless_perfect_stream):
* tests/check/elements/audiotestsrc.c: (setup_audiotestsrc):
* tests/check/elements/decodebin.c:
* tests/check/elements/gdpdepay.c: (setup_gdpdepay),
(setup_gdpdepay_streamheader):
* tests/check/elements/gdppay.c: (setup_gdppay), (GST_START_TEST),
(setup_gdppay_streamheader):
* tests/check/elements/gnomevfssink.c: (setup_gnomevfssink):
* tests/check/elements/multifdsink.c: (setup_multifdsink):
* tests/check/elements/textoverlay.c:
* tests/check/elements/videorate.c: (setup_videorate):
* tests/check/elements/videotestsrc.c: (setup_videotestsrc):
* tests/check/elements/volume.c: (setup_volume):
* tests/check/elements/vorbisdec.c: (setup_vorbisdec):
* tests/check/elements/vorbistag.c:
* tests/check/generic/clock-selection.c:
* tests/check/generic/states.c: (setup), (teardown):
* tests/check/libs/cddabasesrc.c:
* tests/check/libs/video.c:
* tests/check/pipelines/gio.c:
* tests/check/pipelines/oggmux.c:
* tests/check/pipelines/simple-launch-lines.c:
(simple_launch_lines_suite):
* tests/check/pipelines/streamheader.c:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisdec.c:
* tests/check/pipelines/vorbisenc.c:
* tests/examples/seek/scrubby.c:
* tests/examples/seek/seek.c: (query_positions_elems),
(query_positions_pads):
* tests/icles/stress-xoverlay.c: (myclock):
Correct all relevant warnings found by the sparse semantic code
analyzer. This include marking several symbols static, using
NULL instead of 0 for pointers and using "foo (void)" instead
of "foo ()" for declarations.
* win32/common/libgstrtp.def:
Add gst_rtp_buffer_set_extension_data to the symbol definition file.
2008-03-03 06:04:31 +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
Thijs Vermeir
b8d39bc200 Add gst_rtp_buffer_set_extension_data()
Original commit message from CVS:
Patch by: Thijs Vermeir <thijsvermeir at gmail dot com>
* gst-libs/gst/rtp/gstrtpbuffer.c:
(gst_rtp_buffer_set_extension_data):
* gst-libs/gst/rtp/gstrtpbuffer.h:
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add gst_rtp_buffer_set_extension_data()
Add a unit test for this addition. Fixes #511478.
API: GstRTPBuffer:gst_rtp_buffer_set_extension_data()
2008-02-01 11:09:16 +00:00
Thijs Vermeir
d821d8b783 gst-libs/gst/rtp/gstrtpbuffer.c: Fix typos and wrong extension check. Fixes #511274.
Original commit message from CVS:
Patch by: Thijs Vermeir <thijsvermeir at gmail dot com>
* gst-libs/gst/rtp/gstrtpbuffer.c:
(gst_rtp_buffer_get_extension_data):
Fix typos and wrong extension check. Fixes #511274.
2008-01-22 15:37:49 +00:00
Wim Taymans
75aa042450 gst-libs/gst/rtp/gstbasertppayload.c: Use runnning time as the base time instead of the timestamp.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
Use runnning time as the base time instead of the timestamp.
Spotted by Saur on IRC.
2007-12-03 13:47:00 +00:00
Sebastien Moutte
13d89656c0 gst-libs/gst/rtp/: Fix some C99-isms and and a missing function that some versions of
Original commit message from CVS:
Patch by: Sebastien Moutte  <sebastien moutte net>
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix),
(gst_rtcp_unix_to_ntp):
* gst-libs/gst/rtp/gstrtppayloads.c: (gst_rtp_payload_info_for_name):
Fix some C99-isms and and a missing function that some versions of
MSVC don't like too much (#494346).
* win32/vs6/gst_plugins_base.dsw:
* win32/vs6/libgstaudio.dsp:
* win32/vs6/libgstrtp.dsp:
* win32/vs6/libgsttag.dsp:
Update vs6 projects files (#494346).
2007-11-06 23:35:39 +00:00
Stefan Kost
ffa52e2eac Fix the docs according to what gtk-doc complained about.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst-libs/gst/interfaces/mixer.h:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
* gst-libs/gst/rtp/gstbasertpdepayload.h:
* gst-libs/gst/sdp/gstsdpmessage.c:
Fix the docs according to what gtk-doc complained about.
2007-10-30 20:32:14 +00:00
Jan Schmidt
c96877779a gst-libs/gst/rtp/gstrtppayloads.c: Fix silly search-replace oversight.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtppayloads.c:
Fix silly search-replace oversight.
2007-10-10 09:37:09 +00:00
Laurent Glayal
0f3c871859 gst-libs/gst/rtp/gstbasertppayload.c: Fix caps memleak. Fixes #484989.
Original commit message from CVS:
Patch by: Laurent Glayal <spglegle at yahoo dot fr>
* gst-libs/gst/rtp/gstbasertppayload.c: (copy_fixed),
(gst_basertppayload_set_outcaps):
Fix caps memleak. Fixes #484989.
2007-10-09 09:57:17 +00:00
Wim Taymans
4f707e2172 gst-libs/gst/rtp/gstbasertpdepayload.c: Fix debug output.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain):
Fix debug output.
2007-10-08 18:04:34 +00:00
Jan Schmidt
41ae026041 gst-libs/gst/rtp/gstrtppayloads.c: Use unsigned G_MAXUINT8 instead of -1 to initialise a guint8 to avoid compiler war...
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtppayloads.c:
Use unsigned G_MAXUINT8 instead of -1 to initialise a guint8
to avoid compiler warnings
2007-10-08 17:40:17 +00:00
Sebastian Dröge
6e51063659 gst-libs/gst/rtp/gstrtpbuffer.c: Fix bug introduced with last commit which inverted the logic and caused all buffers ...
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c:
(gst_rtp_buffer_get_payload_subbuffer):
Fix bug introduced with last commit which inverted the logic and
caused all buffers to be dropped. Fixes #483620.
Thanks to Laurent Glayal <spglegle at yahoo dot fr> for noticing.
2007-10-05 07:49:25 +00:00
Stefan Kost
ff01787e4e gst-libs/gst/rtp/gstrtpbuffer.c: with regular return and warning.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c:
Replace g_return_if_val (as it could be disabled), with regular return
and warning.
2007-10-04 06:50:53 +00:00
Wim Taymans
d874f65f6e Update documentation.
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/gstrtppayloads.c:
Update documentation.
2007-10-01 13:37:31 +00:00
Wim Taymans
7cdfb6d154 gst-libs/gst/rtp/: Added new file and header to deal with payload info.
Original commit message from CVS:
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/rtp/gstrtppayloads.c: (gst_rtp_payload_info_for_pt),
(gst_rtp_payload_info_for_name):
* gst-libs/gst/rtp/gstrtppayloads.h:
Added new file and header to deal with payload info.
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data),
(gst_rtp_buffer_default_clock_rate):
* gst-libs/gst/rtp/gstrtpbuffer.h:
Payload specific stuff is move to new headers.
Implement _default_clock rate using the new payload function.
* gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address),
(gst_sdp_parse_line):
* gst-libs/gst/sdp/gstsdpmessage.h:
Add some more comments.
2007-10-01 13:22:14 +00:00
Wim Taymans
2f0a269ddd gst-libs/gst/rtp/gstbasertpdepayload.c: Only copy timestamp on outgoing packets if the depayloader did not set one.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_set_gst_timestamp):
Only copy timestamp on outgoing packets if the depayloader did not set
one.
Also copy duration on outgoing packets.
2007-09-19 16:09:57 +00:00
Wim Taymans
70ad18deee gst-libs/gst/rtp/gstbasertppayload.c: Fix compilation because of missing %d in printf.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c: (copy_fixed),
(gst_basertppayload_set_outcaps):
Fix compilation because of missing %d in printf.
When fixating caps, fixate what we can and throw away all remaining
unfixed caps, subclasses should do something smart if they need to.
2007-09-19 15:55:08 +00:00
Jan Schmidt
d5996e9c37 Fix a bunch of compile warnings shown with Forte.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_set_property):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix),
(gst_rtcp_unix_to_ntp):
* gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_get_type):
* gst/playback/gstqueue2.c:
* tests/examples/seek/seek.c: (set_scale):
Fix a bunch of compile warnings shown with Forte.
* gst/audiorate/gstaudiorate.c:
Always pull in config.h before including any system headers.
2007-09-17 17:24:55 +00:00
Wim Taymans
523fd097e6 gst-libs/gst/rtp/gstbasertpdepayload.c: Remove code to deal with RTP to GST time conversion, we now just copy the GST...
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_init), (gst_base_rtp_depayload_setcaps),
(gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_handle_sink_event),
(gst_base_rtp_depayload_push_full),
(gst_base_rtp_depayload_set_gst_timestamp),
(gst_base_rtp_depayload_change_state):
Remove code to deal with RTP to GST time conversion, we now just copy
the GST timestamp we receive to the outgoing buffers.
Handle segment and flushes correctly.
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
When we have no valid input timestamp, use the previous rtp timestamp on
the outgoing RTP packet instead of the RTP base time.
2007-09-16 19:31:06 +00:00
Wim Taymans
5dc2aebdee gst-libs/gst/rtp/gstbasertppayload.c: Add some debug info when negotiating caps.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_set_outcaps), (gst_basertppayload_push):
Add some debug info when negotiating caps.
2007-09-15 18:41:27 +00:00
Wim Taymans
a884abc111 gst-libs/gst/rtp/gstrtpbuffer.c: A buffer with an empty payload is also a valid buffer.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data):
A buffer with an empty payload is also a valid buffer.
2007-09-15 00:29:11 +00:00
Wim Taymans
06ded6258e gst-libs/gst/rtp/gstbasertppayload.c: Make sure we start our RTP timestamp from the random base RTP timestamp even if...
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_event),
(gst_basertppayload_set_outcaps), (gst_basertppayload_push),
(gst_basertppayload_change_state):
Make sure we start our RTP timestamp from the random base RTP
timestamp even if the buffer timestamp starts from some random value.
2007-09-14 20:52:00 +00:00
Tim-Philipp Müller
03992b8779 Fix gst_rtp_buffer_set_csrc() and enable csrc-related unit test checks.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c:
* tests/check/libs/rtp.c:
Fix gst_rtp_buffer_set_csrc() and enable csrc-related unit test checks.
2007-09-07 17:37:03 +00:00
Haakon Sporsheim
b2948f2453 gst-libs/gst/rtp/gstrtpbuffer.c: Fix up GstRTPHeader helper struct so that compilers will not under any circumstances...
Original commit message from CVS:
Based on patch by: Haakon Sporsheim  <haakon.sporsheim at tandberg com>
* gst-libs/gst/rtp/gstrtpbuffer.c:
Fix up GstRTPHeader helper struct so that compilers will not under
any circumstances add padding in between our fields, as currently
happens with MSVC on win32, because that would lead to us sending
out RTP payloads with broken RTP headers (#471194).
Fix assertion guards for gst_rtp_buffer_get_csrc() and _set_csrc().
* tests/check/Makefile.am:
* tests/check/libs/.cvsignore:
* tests/check/libs/rtp.c:
Add some simple unit tests for GstRTPBuffer. Some are disabled
because the code tested still needs fixing (set_csrc() does not work).
2007-09-07 16:46:05 +00:00
Tim-Philipp Müller
7ea0798a9c gst-libs/gst/rtp/gstrtpbuffer.c: Need to include stdlib.h for abs() here too.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c:
Need to include stdlib.h for abs() here too.
2007-09-05 14:09:15 +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
Wim Taymans
6f93db5ab5 Fix parsing of RB blocks.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_get_rb),
(gst_rtcp_packet_sdes_copy_entry), (gst_rtcp_ntp_to_unix),
(gst_rtcp_unix_to_ntp):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Fix parsing of RB blocks.
Fix docs.
Added helper functions to convert to/from UNIX and NTP time.
API: gst_rtcp_ntp_to_unix()
API: gst_rtcp_unix_to_ntp()
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data),
(gst_rtp_buffer_get_header_len),
(gst_rtp_buffer_get_extension_data),
(gst_rtp_buffer_get_payload_subbuffer),
(gst_rtp_buffer_get_payload_len), (gst_rtp_buffer_get_payload),
(gst_rtp_buffer_ext_timestamp):
* gst-libs/gst/rtp/gstrtpbuffer.h:
Fix some more docs.
Implement handling of packets with extensions.
Fix padding check in _validate().
Added function to get extension data.
API: gst_rtp_buffer_get_header_len()
API: gst_rtp_buffer_get_extension_data()
2007-09-03 19:31:11 +00:00
Wim Taymans
0cfb3152b9 gst-libs/gst/rtp/gstbasertpdepayload.c: Add some more docs for the queue-delay property and fix a typo in a comment.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init),
(gst_base_rtp_depayload_set_gst_timestamp):
Add some more docs for the queue-delay property and fix a typo in a
comment.
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
Fix typo.
2007-09-03 19:19:35 +00:00
Wim Taymans
210100078d gst-libs/gst/rtp/gstbasertpdepayload.c: Be less silly with the segment start, just apply the clock-base to the timest...
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_setcaps),
(gst_base_rtp_depayload_set_gst_timestamp):
Be less silly with the segment start, just apply the clock-base to the
timestamp.
2007-08-31 21:07:20 +00:00
Wim Taymans
827967c8e8 gst-libs/gst/rtp/gstbasertpdepayload.*: Deprecate the queue handling thread thing and remove the code.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init),
(gst_base_rtp_depayload_finalize),
(gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_handle_sink_event),
(gst_base_rtp_depayload_set_gst_timestamp),
(gst_base_rtp_depayload_change_state):
* gst-libs/gst/rtp/gstbasertpdepayload.h:
Deprecate the queue handling thread thing and remove the code.
Use new method to calculate the extended timestamp.
2007-08-31 15:58:30 +00:00
Wim Taymans
27ea51ec37 gst-libs/gst/rtp/gstrtcpbuffer.c: Use g_strndup which does exactly what we want.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_packet_sdes_copy_entry):
Use g_strndup which does exactly what we want.
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_compare_seqnum),
(gst_rtp_buffer_ext_timestamp):
* gst-libs/gst/rtp/gstrtpbuffer.h:
Add helper function to compare seqnums.
Add helper function to calculate extended timestamps.
API: gst_rtp_buffer_compare_seqnum()
API: gst_rtp_buffer_ext_timestamp()
2007-08-31 15:21:13 +00:00