Sebastian Dröge
76985c5e81
rtpbuffer: Fix gst_rtp_buffer_ext_timestamp() with clang 5 on iOS/ARM
...
The bitwise NOT operator is not defined on signed integers.
Thanks to Wim Taymans for finding the cause.
https://bugzilla.gnome.org/show_bug.cgi?id=711819
2013-11-13 20:15:02 +01:00
Wim Taymans
240c7234f6
rtpbuffer: check for valid payload type
...
The payload type can't be between 72 and 76 because with the marker bit set,
this could be mistaken for an RTCP packet then. We do a relaxed check and
only refuse 72-76 when the marker bit is set. The effect is that when
we try to map an RTCP packet as an RTP packet, we will certainly fail.
2013-09-13 16:05:58 +02:00
Wim Taymans
ca1dac6982
rtcpbuffer: do additional packet checks
...
Check the packet size and avoid crashing on malformed packets.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=655727
2013-08-26 11:47:40 +02:00
Wim Taymans
b848f38215
rtcpbuffer: improve bye parsing
...
It is an error to ask for a non-existing BYE SSRC, the caller should
check the SSRC count first.
2013-08-26 11:46:11 +02:00
Wim Taymans
121235511a
rtpbasedepayload: mark DISCONT on buffer in all cases
...
Always mark discont on the input buffer when we detect a seqnum
discont and not only when we previously marked ourselves DISCONT.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=706422
2013-08-21 12:38:10 +02:00
Olivier Crête
c6fd304eb6
rtpbaseaudiopayload: Avoid copying the data
2013-08-18 22:24:08 -04:00
Wim Taymans
c1da65da5e
rtcpbuffer: calculate FB packet length correctly
2013-08-06 15:44:03 +02:00
Ognyan Tonchev
25fdde908a
rtpbasepayload: Do not leak the event when segment is delayed
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703119
2013-06-26 15:45:30 +02:00
Branko Subasic
4dd5c5b808
rtpbuffer: add gst_rtp_buffer_get_payload_bytes
...
The function gst_rtp_buffer_get_payload can not be used in Python
because it lacks necessary length parameter. This patch adds a new
function, gst_rtp_buffer_get_payload_bytes, to use from Python
bindings. The new function has the advisory "Rename to:" annotation
so it can replace the gst_rtp_buffer_get_payload whan creating
bindings.
The function gst_rtp_buffer_get_extension_bytes is also added. It wraps
gst_rtp_buffer_get_extension_data which doesn't work in Python due to
incomplete annotation and because it returns the length as number of
32-bit words.
https://bugzilla.gnome.org/show_bug.cgi?id=698562
2013-06-18 11:23:40 +02:00
Nicolas Dufresne
94b7ae7767
rtpbasepayload: Delay segment event after caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=700222
2013-05-14 09:50:22 +02:00
Tom Greenwood
789ddf42a9
rtpbasedepayload: Ignore caps events if the caps did not change
...
https://bugzilla.gnome.org/show_bug.cgi?id=697672
2013-04-15 10:00:05 +02:00
Tim-Philipp Müller
664adc6e19
gst-libs: use GST_*_1_0 environment variables everywhere
...
The _1_0 suffixed environment variables override the
non-suffixed ones, so if we're in an environment that
sets the _1_0 suffixed ones, such as jhbuild, we need
to set those to make sure ours actually always get
used.
2013-01-16 10:16:27 +00:00
Thijs Vermeir
2887485358
rtp: fix compiler warning
...
comparison is always true due to limited range of data type
2012-12-18 15:27:48 +01:00
Sebastian Dröge
3f82e919dd
libs: Use foo/foo.h as single-include header consistently everywhere
...
https://bugzilla.gnome.org/show_bug.cgi?id=688785
2012-12-12 17:13:10 +00:00
Evan Nemerson
4d77fba46c
libs: Add missing single include headers and use them in GIRs
2012-11-21 11:01:24 +01:00
Tim-Philipp Müller
71e46b2478
gst_adapter_prev_timestamp -> gst_adapter_prev_pts
...
https://bugzilla.gnome.org/show_bug.cgi?id=675598
2012-11-14 00:03:15 +00:00
Wim Taymans
af3f75f3a9
rtpbuffer: protect against empty buffers
2012-11-12 11:18:16 +01:00
Wim Taymans
4463df5b0d
rtp: fix ntp56 parsing
2012-11-06 09:18:54 +01:00
Wim Taymans
82d327fb91
rtp: add helpers for header extensions
...
Add helpers and defines for the NTP-64 and NTP-56 header extensions.
2012-11-06 09:18:54 +01:00
Tim-Philipp Müller
5f59b4f7ee
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Miguel Angel Cabrera Moya
b1318c86e8
rtpbasedepay: remove unused variable
...
https://bugzilla.gnome.org/show_bug.cgi?id=687146
2012-10-29 21:20:35 +00:00
Tim-Philipp Müller
a4f2df6341
Revert "g-i: change g-ir-scanner arg --library=libgstfoo-X.la to --library=gstfoo-X"
...
This reverts commit e39fbe6b7e
.
Looks like we need to pass the full .la file after all in a setup
with libtool, or it might not find the library, e.g. like
ERROR: can't resolve libraries to shared libraries: gstfft-1.0
Conflicts:
gst-libs/gst/audio/Makefile.am
gst-libs/gst/pbutils/Makefile.am
Also see https://bugzilla.gnome.org/show_bug.cgi?id=603710
2012-10-29 12:47:05 +00:00
Tim-Philipp Müller
e39fbe6b7e
g-i: change g-ir-scanner arg --library=libgstfoo-X.la to --library=gstfoo-X
...
As it should be according to the man page.
https://bugzilla.gnome.org/show_bug.cgi?id=679315
2012-10-28 17:35:57 +00:00
Tim-Philipp Müller
5e0dfec62c
Remove -DGST_USE_UNSTABLE_API
2012-09-17 16:05:37 +01:00
Tim-Philipp Müller
21c61586ad
rtpbasepayload: error out if no CAPS event was received before buffers
...
Most payloaders set/send their own output format from the setcaps
function, so if we don't get input caps, things probably wont' work
right, even if the input format is fixed (as in the case of the mpeg-ts
payloader for example).
https://bugzilla.gnome.org/show_bug.cgi?id=683428
2012-09-06 18:23:22 +01:00
Tim-Philipp Müller
3d006f6d2a
rtpbasepayload: assume input caps are accepted if subclass has no set_caps vfunc
...
Not that anyone should ascribe too much meaning to these return
values in the age of sticky caps.
2012-09-06 17:47:01 +01:00
Mark Nauwelaerts
bd67736851
rtpbasedepay: indicate packet loss using GAP event
2012-09-05 12:02:32 +02:00
Tim-Philipp Müller
392d3225ce
rtp: fix buffer leak when gst_rtp_buffer_map() fails because of broken data
...
Makes libs/rtp unit test valgrind clean.
2012-08-22 09:20:55 +01:00
Wim Taymans
1968127650
rtp: Fix extension data support
...
Allocate header, payload and padding in separate memory blocks in
gst_rtp_buffer_allocate().
don't use part of the payload data as storage for the extension data but store
it in a separate memory block that can be enlarged when needed.
Rework the one and two-byte header extension to make it reserve space for the
extra extension first.
Fix RTP unit test. Don't map the complete buffer or make assumptions on the
memory layout of the underlaying implementation. We can now always add extension
data because we have a separate memory block for it.
2012-08-22 09:56:39 +02:00
Wim Taymans
2d6fd0f72d
rtp: fix extension length calculation
2012-08-22 09:56:39 +02:00
Wim Taymans
f548e58385
rtp: remove unused field
2012-08-22 09:56:39 +02:00
Andoni Morales Alastruey
d2aebc7f94
rtpbuffer: use proper format for gsize
2012-08-08 17:41:19 +02:00
Wim Taymans
11a494d5c9
rtp: Add support for multiple memory blocks in RTP
...
Add support RTP buffers with multiple memory blocks. We allow one block for the
header, one for the extension data, N for data and one memory block for the
padding.
Remove the validate function, we validate now when we map because we need to
parse things in order to map multiple memory blocks.
2012-07-17 16:41:36 +02:00
Evan Nemerson
f21c4667b9
rtp: add many missing annotations on RTP/RTCP buffer functions
2012-07-17 11:10:37 +02:00
Evan Nemerson
63579633f5
rtpbaseaudiopayload: add transfer annotation to get_adapter return
2012-07-17 11:10:04 +02:00
Edward Hervey
2817bdadc9
libs: Remove "Since" markers and minor doc fixups
2012-07-13 12:11:06 +02:00
Wim Taymans
baa2fac2f8
audiopayload: disable broken bufferlist handling
...
The bufferlist handling is broken so make sure it is never enabled.
2012-06-06 16:40:24 +02:00
Sebastian Rasmussen
b7b123964b
gst-libs: make pkg-config get path to pkg-config dirs from configure
...
When --with-pkg-config-path is supplied to configure this path is now
explicitly propagated to pkg-config.
https://bugzilla.gnome.org/show_bug.cgi?id=673377
2012-05-05 23:26:20 +01:00
Sebastian Dröge
65307dd132
gst: Update versioning
2012-04-04 14:55:15 +02:00
Wim Taymans
296e1bf3dd
rtpbuffer: removed old memory
...
Ensure writability of rtp buffer and remove old memory first
Fix some docs
2012-04-04 09:34:00 +02:00
Wim Taymans
6e9d28eef6
rtp: fix initializer
2012-04-02 11:05:38 +02:00
Wim Taymans
92f46c07fe
rtpbuffer: keep more state
...
Prepare for the future, make it possible to map multiple buffer regions, like
the header and the payload.
2012-04-02 10:31:18 +02:00
Wim Taymans
9ef519d99a
Improve buffer allocation of wrapped memory
2012-04-01 18:11:23 +02:00
Wim Taymans
345dc31f20
update for buffer api change
2012-03-30 18:15:30 +02:00
Mark Nauwelaerts
6039266c43
rtpbasepayload: plug caps leak
2012-03-29 17:15:43 +02:00
Wim Taymans
df5253b22c
update for memory api changes
2012-03-15 13:32:08 +01:00
Wim Taymans
28034226c6
update for memory api changes
2012-03-14 21:35:45 +01:00
Wim Taymans
37e940df83
rtpbasepay: add support for DTS and PTS
2012-03-13 18:15:04 +01:00
Wim Taymans
25137962ad
fix for caps API changes
2012-03-11 19:04:41 +01:00
Wim Taymans
63f3f27164
update for new memory api
2012-02-22 02:05:24 +01:00
Olivier Crête
cb044668d3
rtcpbuffer: Set the map.size to the current size of the RTCP packet
...
maxsize is the maximum size
2012-01-27 19:01:55 +01:00
Olivier Crête
b993b8457d
rtpcbuffer: To write inside a RTCP buffer, you must be able to read
...
So always require read
2012-01-27 19:01:55 +01:00
Olivier Crête
6b559a50fb
rtcpbuffer: Return errors if the map mode doesn't match the actions
2012-01-27 19:01:55 +01:00
Olivier Crête
ab359d36d5
rtcpbuffer: Don't try to modify read-only buffers
2012-01-27 19:01:55 +01:00
Wim Taymans
e7575bc525
rtp: improve structures
...
Remove flags that is in the mapinfo now
2012-01-25 12:30:53 +01:00
Wim Taymans
fcdc385aa1
port to new map API
2012-01-25 12:30:53 +01:00
Olivier Crête
1a592199e9
rtpbasepayload: Port to group-less GstBufferList
2012-01-25 11:55:02 +01:00
Wim Taymans
d9ef75b799
rtcp: handle size update correctly
...
Do explicit resize to set the size of a buffer instead of setting a value in
unmap.
2012-01-19 15:20:01 +01:00
Wim Taymans
5872bcc33a
Update for memory API changes
2012-01-19 12:15:18 +01:00
Sebastian Dröge
dc8984d76c
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/app/gstappsrc.c
gst-libs/gst/audio/multichannel.h
gst-libs/gst/video/videooverlay.c
gst/playback/gstplaysink.c
gst/playback/gststreamsynchronizer.c
tests/check/Makefile.am
win32/common/libgstvideo.def
2012-01-10 13:15:12 +01:00
Pascal Buhler
0febae7443
rtcpbuffer: prevent overflow of 16bit header length.
...
RTCP header can be (2^16 + 1) * 4 bytes long, so when validating a bogus
packet it was possible to get a 16bit overflow resulting in a length of 0.
This would put the gst_rtcp_buffer_validate_data function in a endless loop.
https://bugzilla.gnome.org/show_bug.cgi?id=667313
2012-01-05 11:12:25 +00:00
Wim Taymans
6be9a67148
rtp: add INIT macros
2011-12-09 19:22:21 +01:00
Tim-Philipp Müller
54c5cd8c3f
rtpbuffer: add GST_RTP_BUFFER_INIT to initialize RTP buffers on the stack
...
Fixes build of -good.
2011-12-09 15:03:41 +00:00
Edward Hervey
ea0ed511f8
rtp: Initialize GstRTPBuffer before usage
2011-12-05 18:42:24 +01:00
Edward Hervey
94230af7a3
rtp: Don't forget to initialize GstRTPBuffer
2011-12-05 18:30:37 +01: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
Edward Hervey
d94535832b
gst-libs: Add --warn-all to introspection scanner
...
And let's get fixing those docs :)
2011-11-25 10:31:38 +01:00
Wim Taymans
7afdff3575
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/gstaudiodecoder.c
2011-11-17 17:07:41 +01:00
Wim Taymans
e302833e65
add parent to pad functions
2011-11-17 12:48:25 +01:00
Wim Taymans
2202511e77
add parent to query function
2011-11-16 17:25: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
Olivier Crête
82827df405
rtcpbuffer: Add feedback message types from RFC 5104
...
These are Codec Control messages (CCM)
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:24:16 +01:00
Wim Taymans
fc04bcecbe
fix docs
2011-11-14 10:46:56 +01:00
Wim Taymans
107d5a3d05
rtp: fix headers
...
indent, add padding, remove old abidata
2011-11-11 19:21:09 +01:00
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
ad8f694ec6
remove bogus files
...
They got somehow commited in 7012e88090
2011-11-11 10:39:52 +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
Edward Hervey
771cbbb17c
rtpbuffer: Fix compilation issues with gcc 4.6.1
2011-11-04 10:36:15 +01:00
Wim Taymans
df4999aeb1
bufferlist: update for new API
2011-11-02 09:04:27 +01:00
Wim Taymans
01854cca80
basertppay: rename caps fields
...
Make the caps fields for timestamp and seqnum match the element
properties.
See #628773
2011-10-27 18:54:50 +02:00
Wim Taymans
9555229e79
basedepay: remove old fields
2011-10-27 18:50:32 +02:00
Wim Taymans
06311362e9
fix compilation
2011-10-27 17:26:58 +02:00
Wim Taymans
7012e88090
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/audio.h
gst-libs/gst/audio/gstaudiodecoder.c
gst-libs/gst/audio/gstaudiodecoder.h
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstbaseaudioencoder.h
gst/playback/Makefile.am
gst/playback/gstplaybin.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkvideoconvert.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
gst/videoscale/gstvideoscale.c
win32/common/libgstaudio.def
2011-09-06 15:24:32 +02:00
Wim Taymans
e1287b97ab
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggmux.c
gst-libs/gst/audio/audio.c
gst-libs/gst/audio/audio.h
gst-libs/gst/audio/multichannel.h
gst-libs/gst/pbutils/Makefile.am
gst-libs/gst/pbutils/gstdiscoverer.c
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkvideoconvert.c
win32/common/libgstaudio.def
2011-08-29 11:37:36 +02:00
Olivier Crête
791eeeb1a6
basertppayload: Make perfect timestamps reproducible across element restart
...
Without the perfect timestamp machinery, the RTP timestamp can be
computed directly from the running time of a buffer, but the perfect
timestamp patch broke that assumption. This patch restores it by
having the first perfect timestamp be the running time of that buffer
and counting from there.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=654434
2011-08-25 14:16:48 +02:00
Wim Taymans
3fab57b5cf
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/interfaces/videooverlay.c
gst-libs/gst/rtp/gstrtpbuffer.c
po/af.po
po/az.po
po/bg.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/en_GB.po
po/es.po
po/eu.po
po/fi.po
po/fr.po
po/gl.po
po/hu.po
po/id.po
po/it.po
po/ja.po
po/lt.po
po/lv.po
po/nb.po
po/nl.po
po/or.po
po/pl.po
po/pt_BR.po
po/ro.po
po/ru.po
po/sk.po
po/sl.po
po/sq.po
po/sr.po
po/sv.po
po/tr.po
po/uk.po
po/vi.po
po/zh_CN.po
2011-08-22 13:06:27 +02:00
Stefan Kost
01bbdd6bdf
docs: handle warnings emitted by gtk-doc
...
This is useful and in most cases someone had put arbitrary markup into the docs,
misspelled xref'ed symbols, forgot to add stuff to the docs etc..
2011-08-20 19:16:42 +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
Mark Nauwelaerts
06557739ab
rtcpbuffer: provide a WRITE map with maximum available size
...
... which allows adding additional packets and may be needed to counteract
the shrink that implicitly occurred during a map/unmap cycle when adding
a previous packet.
2011-07-09 18:23:18 +02:00
Tim-Philipp Müller
4bf26ba5d2
Add -DGST_USE_UNSTABLE_API to the compiler flags to avoid warnings
2011-07-05 10:07:08 +01:00
Wim Taymans
a8ffd4e28c
rtp: fix for allocator name change
2011-06-22 11:45:58 +02:00
Debarshi Ray
2c6dbae423
Remove unused but set variables
...
This is needed to satisfy the new -Wunused-but-set-variable added in
GCC 4.6: http://gcc.gnu.org/gcc-4.6/changes.html
2011-06-14 22:40:13 +01:00
Wim Taymans
9c54ca5254
-base: update for buffer API change
2011-06-13 16:32:56 +02:00
Wim Taymans
7538dffaa0
basertppayload: cleanup header
2011-06-13 16:28:58 +02:00
Wim Taymans
2a94b0eb04
rtp: use new memory alloc API
2011-06-07 16:18:40 +02:00
Wim Taymans
28f67f4847
event: fix some event leaks
2011-06-07 12:06:22 +02: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
884213b8b8
base: Update for SEGMENT event parse API changes
2011-05-18 17:23:18 +02:00
Sebastian Dröge
97f18beaeb
basertppayload: Change ::get_caps to include the filter caps
...
And improve downstream negotiation a bit by passing our proposed
caps to the peer as a filter.
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
816f4e791d
segment: fix for new core API
...
Fix for gst_*_segment_full rename.
2011-05-09 18:16:46 +02:00
Wim Taymans
ec57868488
-base: don't use buffer caps
...
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Sebastian Dröge
a7e8c8debe
gstbasertppayload: Use g_once_init_{enter,leave}() in the _get_type() function
2011-04-18 18:30:41 +02:00
Sebastian Dröge
5d4fd722f0
rtp: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-18 18:29:35 +02:00
Sebastian Dröge
c8792778f8
Merge branch 'master' into 0.11
2011-04-16 16:06:26 +02:00
Tim-Philipp Müller
1d05e81435
libs: gobject-introspection scanner doesn't need to scan or update plugin info
...
Make sure the scanner doesn't load or introspect or check any plugins,
(especially not outside the build directory).
2011-04-16 11:01:53 +01:00
Wim Taymans
6e160bed3d
Merge branch 'master' into 0.11
...
Conflicts:
android/alsa.mk
android/app.mk
android/app_plugin.mk
android/audio.mk
android/audioconvert.mk
android/decodebin.mk
android/decodebin2.mk
android/gdp.mk
android/interfaces.mk
android/netbuffer.mk
android/pbutils.mk
android/playbin.mk
android/queue2.mk
android/riff.mk
android/rtp.mk
android/rtsp.mk
android/sdp.mk
android/tag.mk
android/tcp.mk
android/typefindfunctions.mk
android/video.mk
2011-04-11 11:37:51 +02:00
Alessandro Decina
030f639a8e
android: make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the
needed Android.mk files.
Androgenizer can be found here:
http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:23:21 +02:00
Sebastian Dröge
0a1d85c233
rtp: Unref events if the parent element disappeared or has no event handler implemented
2011-04-08 15:10:02 +02:00
Ole André Vadla Ravnås
f59b985698
rtp: fix pad callbacks so they handle when parent goes away
...
1) We need to lock and get a strong ref to the parent, if still there.
2) If it has gone away, we need to handle that gracefully.
This is necessary in order to safely modify a running pipeline. Has been
observed when a streaming thread is doing a buffer_alloc() while an
application thread sends an event on a pad further downstream, and from
within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing
while the streaming thread has its buffer_alloc() in progress.
2011-04-08 15:05:23 +02:00
Wim Taymans
3ea2bc3ab0
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/rtp/gstbasertpdepayload.c
2011-04-07 16:19:08 +02:00
Bastien Nocera
96463bb8df
rtp: Remove unused variables
...
https://bugzilla.gnome.org/show_bug.cgi?id=646924
2011-04-07 10:16:39 +02:00
Wim Taymans
4007076b55
Merge branch 'master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
2011-04-06 16:33:56 +02:00
Pascal Buhler
1ad98b0d98
rtcpbuffer: Round to next 32bit word, not current 32bit word at end of SDES chunk
2011-04-05 15:27:03 +02:00
Wim Taymans
da1c863711
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/tag/gstvorbistag.c
2011-04-04 11:31:33 +02:00
Trond Andersen
cec628a414
rtcpbuffer: fix invalid read in validation of padding in rtcp packet
2011-04-04 09:43:06 +02:00
Wim Taymans
730b87271c
bufferlist: fixes for new API
2011-03-31 17:47:43 +02:00
Tim-Philipp Müller
45b6bda76c
libs: make sure gobject-introspection scanner calls gst_init()
...
Cherry-picked from 0.11, since it's the right thing to do (we
now silently rely on various _get_type() working without
gst_init() having been called).
2011-03-30 21:08:29 +01:00
Tim-Philipp Müller
a818fe7381
libs: replace 0.10 with @GST_MAJORMINOR@ in Makefile.am
...
For easier cherry-picking/merging later.
2011-03-30 20:57:32 +01:00
Wim Taymans
248ab2d064
Fix for latest API changes
2011-03-30 16:50:45 +02:00
Wim Taymans
e1869fa267
Merge branch 'master' into 0.11-fdo
2011-03-28 20:13:59 +02:00
Wim Taymans
e33b73f9df
tests: fix RTP and RTCP unit tests
2011-03-28 18:42:09 +02:00
Wim Taymans
3d25a4b470
libs: port to new data API
2011-03-27 13:55:15 +02:00
Olivier Crête
103fb67d20
rtpbuffer: Off-by-one error when creating RTP header extensions with a two-byte header
2011-03-17 21:50:24 -04:00
Tim-Philipp Müller
842911d241
libs: make sure gobject-introspection scanner calls gst_init()
...
Fixes introspection failures caused by type assertions/warnings.
Since we now moved from _get_type() functions to external GType
variables in a couple of places, we actually have to call gst_init()
to make sure these are set when we use GST_TYPE_FOO.
2011-03-09 12:17:14 +00:00
Wim Taymans
c6dd11981d
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst-libs/gst/pbutils/Makefile.am
2011-02-28 11:47:44 +01:00
Tim-Philipp Müller
0ed757db33
gobject-introspection: use same PKG_CONFIG_PATH for g-ir-compiler as for g-ir-scanner
...
Make sure to use the PKG_CONFIG_PATH set at configure time instead of
just relying on an env-var set one. This makes sure both g-ir-compiler
and g-ir-scanner use the same PKG_CONFIG_PATH for determining include
paths etc.
2011-01-08 02:10:03 +00: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
Wim Taymans
c665034742
basedepay: fix refcounting issue
...
Make sure that when _make_writable() returns a new buffer, we actually push that
one instead of the old one.
2010-12-28 11:44:09 +01:00
Wim Taymans
6ffabccf04
depay: update some docs
2010-12-21 15:11:10 +01:00
Wim Taymans
9e787a0211
rtpdepayloade: add support for getting events
...
Add support for intercepting sink events in the depayloader by adding a new
vmethod.
2010-12-21 15:02:18 +01:00
Wim Taymans
d51ff7e4eb
basertppay: use RTP base time when invalid timestamps
...
When we have an invalid running-time (because we clipped, for example) use the
RTP base time for timestamping instead of generating wrong RTP timestamps.
2010-12-21 13:39:26 +01:00
Wim Taymans
bc63334503
rtppayload: copy applied rate to segment
...
Use set_segment_full to copy all segment values to the segment structure.
2010-12-21 13:39:26 +01:00
Wim Taymans
34ea5bdd06
rtpbuffer: relax arrangement for RTP bufferlists
...
Don't assume there are exactly 2 buffers but allow cases where the header and
payload are in 1 buffer or where the payload is in more buffers.
2010-12-15 16:37:29 +01:00
Wim Taymans
1c2c9c10b5
basedepay: add support for buffer lists in the depayloader
...
Add support for buffer lists in the depayloader.
2010-12-15 13:09:17 +01:00
Stefan Kost
ecb164675d
docs: fix wrong use of Since: keyword
2010-12-08 12:11:23 +02:00
Wim Taymans
eee6bc7dc9
more 0.10 -> 0.11 changes
2010-12-06 17:09:10 +01:00
Evan Nemerson
8fb2c27ed0
introspection: Add information on exported packages to GIRs
...
https://bugzilla.gnome.org/show_bug.cgi?id=635392
2010-11-21 00:44:37 +00:00
Olivier Crête
582417e031
rtcpbuffer: Add function to manipulation the data in RTCP feedback packets
...
Add methods to get/set the length of the Feedback Control Information (FCI) as
well as getting a pointer to the FCI itself.
2010-10-05 16:19:14 +02:00
Olivier Crête
7536d96d7c
rtpbuffer: Add function to transform a GstBuffer into a GstBufferList
...
Add a new function called gst_rtp_buffer_list_from_buffer() that takes
a GstBuffer containing a RTP packets and spits out a GstBufferList
containing two buffers, one with the header and the other with the payload.
2010-10-05 16:19:14 +02:00
Olivier Crête
f6b7ea3d39
rtpbuffer: Add functions to add RFC 5285 header extensions to GstBufferLists
...
Add functions to add header extensions to buffer lists, these functions only modify
the header part of the buffer lists, so the data is not copied.
2010-10-05 16:19:14 +02:00
Olivier Crête
fb770ca5e5
rtpbuffer: Add function to read RFC 5285 header extensions from GstBufferLists
2010-10-05 16:19:14 +02:00
Olivier Crête
484871b495
rtpbuffer: Add function to add RTP header extensions with a two bytes header
2010-10-05 16:19:14 +02:00
Olivier Crête
02a0139451
rtpbuffer: Add function to append RFC 5285 one byte header extensions
2010-10-05 16:19:14 +02:00
Olivier Crête
e4c06debb2
rtpbuffer: Add function to parse RFC 5285 header extensions
...
RFC 5285 describes a generic method to add multiple header extensions to RTP packets.
These functions parse these headers and return them, both for the one-byte header and the
two bytes headers.
2010-10-05 16:19:14 +02:00
Thijs Vermeir
a0fa0ff8bf
basertpdepay: ensure metadata is writable
2010-09-29 16:53:21 +02:00
Tim-Philipp Müller
b550eabdac
rtp: improve basertpdepayload's error message when no input caps were set
...
This is pretty much an FAQ, so try to make the error message a bit
more helpful. Also, don't tell people to file a bug in bugzilla
about this (which is what happens if the default error message for
CORE_NEGOTIATION is used).
2010-09-06 18:19:44 +01:00
Wim Taymans
9fd1c48267
rtppayload: notify of first timestamp/seqnum
...
Notify of the first timestamp/seqnum pushed out by the payloader.
Fixes #612264
2010-09-06 13:15:41 +02:00
American Dynamics
1f19649695
basertpdepay: don't clear the discont flag too early
...
Set the discont flag when we receive a DISCONT buffer and only clear the discont
state when we pushed out a DISCONT buffer.
Fixes #626869
2010-08-18 12:43:48 +02:00
Tim-Philipp Müller
e776699036
build: use new AG_GST_PKG_CONFIG_PATH m4 macro from common
...
Sets up a GST_PKG_CONFIG_PATH variable for use in Makefile.am
(avoids trailing ':' in PKG_CONFIG_PATH used).
2010-08-14 19:12:37 +01:00
Tim-Philipp Müller
b61b83376a
introspection: set PKG_CONFIG_PATH so that our in-tree libs come first when calling scanner
...
When calling gobject-introspection scanner, make sure our own
freshly-built libs within the source tree (well, build dir) come
first in the PKG_CONFIG_PATH. May or may not help to make sure
that it doesn't pick up older external plugins-base libs (or
.gir files) from outside the source tree / build directory as
dependencies of the introspected lib instead of using the
stuff we just built in a sibling directory.
https://bugzilla.gnome.org/show_bug.cgi?id=623698
2010-08-14 19:11:48 +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
Mark Nauwelaerts
ed71d802fc
basertpdepayload: ensure writable metadata
2010-04-30 19:38:40 +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
1fa171d396
audiopayload: add property to control packet duration
...
Add a property to specify that the amount of data in a packet should be a
multiple of ptime-multiple.
See #613248
2010-04-09 16:17:31 +02:00
Vincent Untz
764c899215
libs: point gobject-introspection scanner to .la files
...
Point g-ir-scanner to the .la file of our library, which hopefully
makes it find the right dependencies in all cases (ie. our locally
built libgstreamer and not the system-installed one). This is also
how it's done in Gtk+ and how it's documented in the wiki, see
http://live.gnome.org/GObjectIntrospection/AutotoolsIntegration
Fixes #603710 .
2010-04-03 14:03:45 +01:00
Tim-Philipp Müller
b37c993e4e
gst-libs: more gobject-introspection fixes
...
Use right .pc file variable for compiler includes this time:
g-ir-compiler wants the girdirs not the typelibdirs as includes.
2010-03-30 23:46:10 +01:00
Tim-Philipp Müller
64cfa6bf73
gst-libs: fix up gobject-introspection some more
...
Use new girdir and typlibdir from core .pc files, so we can figure
out the right includes to pass to the gobject-introspection tools,
whether core is installed in the same prefix as gobject-introspection
or in a different prefix or uninstalled. This also keeps us from adding
bogus paths to the includes that only work if core is uninstalled.
Also add some missing includes/pkgs where needed.
2010-03-30 19:56:56 +01:00
Benjamin Otte
90f24667d7
Constify some strings in the API
...
Needed by plugins-good
2010-03-19 22:34:36 +01:00
Tim-Philipp Müller
e836151009
docs: more helper libraries docs fixes
...
Quieten gtk-doc a bit more.
2010-03-16 00:44:50 +00:00
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