Tim-Philipp Müller
4a28e649c3
rtp: cache meta tag quarks and add more utility functions for metas
...
Every g_quark_from_static_string() is a hash table lookup serialised
on the global quark lock in GLib. Let's just look up the two quarks
we need once and cache them locally for future use. While we're at it,
add new utility functions for the two most commonly used tags
(audio + video). Make first argument a gpointer so we don't have to
cast and make the code ugly. These are used for logging purposes
only anyway.
2017-05-24 13:32:10 +01:00
Sebastian Dröge
3549aa7924
rtpjpegpay: Allow different quantization tables for components 2 and 3
...
RFC 2435 mentions in section 4.1 that U/V use table number 1, but this seems
just like an example. Some encoders are not following that and there seems to
be no reason to reject their streams.
https://bugzilla.gnome.org/show_bug.cgi?id=761345
2016-03-25 12:52:56 +02:00
Vineeth TM
1071309870
good: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Sebastian Dröge
e244b9be87
rtpjpegpay: Skip APP and JPG markers and print warnings for unknown markers
...
For APP/JPG markers the size is following and we have to skip that. This is
not really a problem unless the marker contains e.g. a preview JPEG or
something else that we might interprete as another marker.
2016-01-31 11:05:05 +11:00
Reynaldo H. Verdejo Pinochet
3c8b7e079c
rtp/jpegpay: remove unnecessary NULL checks before g_free()
2015-11-15 01:43:08 -08:00
Sebastian Dröge
b1089fb520
rtp: Copy metadata in the (de)payloader, but only the relevant ones
...
The payloader didn't copy anything so far, the depayloader copied every
possible meta. Let's make it consistent and just copy all metas without
tags or with only the video tag.
https://bugzilla.gnome.org/show_bug.cgi?id=751774
2015-08-11 12:47:23 +02:00
Hyunjun Ko
5a17572119
rtppayload: set standard payload type as default
...
Initialize the PT to the default value of the codec and check if
it is still the default before declaring the pt to be dynamic or
not when setting the caps.
Also use the PT constants from the rtp lib when possible
https://bugzilla.gnome.org/show_bug.cgi?id=747965
2015-08-06 01:38:43 -03:00
Sebastian Dröge
dc059efa60
rtp: Use GST_BUFFER_PTS() instead of GST_BUFFER_TIMESTAMP()
...
The mix between all these in the RTP code is confusing, let's try to be
consistent.
2015-06-10 14:34:47 +02:00
Luis de Bethencourt
671b4d25cd
remove unused enum items PROP_LAST
...
This were probably added to the enums due to cargo cult programming and are
unused. Removing them.
2015-04-24 17:01:12 +01:00
Sebastian Rasmussen
896fc20806
rtpjpegpay/-depay: Remove incorrectly introduced framesize SDP attribute
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726415
2015-04-02 17:52:41 -04:00
Guillaume Desmottes
9a7479fb0d
rtpjpegpay: propagate the GST_BUFFER_FLAG_DISCONT flag
...
Propagate the DISCONT flag to the first RTP packet being used to transfer
a DISCONT buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=730563
2014-06-18 16:25:07 +02:00
Tim-Philipp Müller
ccb7380689
rtpjpegpay: pre-allocate buffer list of the right size
2014-06-18 14:54:59 +01:00
Ognyan Tonchev
2143a6e452
jpegpay: consider header len when calculating payload len
...
Fixed https://bugzilla.gnome.org/show_bug.cgi?id=726777
2014-03-27 09:45:20 +01:00
Wim Taymans
4258ddcc36
jpegpay: turn some errors into warnings
...
Turn some errors into warnings, we can continue processing so this should
not be fatal.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=657079
2013-06-26 20:49:41 +02:00
Wim Taymans
190b3d6688
Revert "rtpjpegpay/depay: Replace framesize caps with width/height"
...
This reverts commit 0075d111b4
.
Extra application/x-rtp are SDP fields, which are strings.
2013-05-31 15:08:16 +02:00
Wim Taymans
f870cef8bc
Revert "rtpjpegpay/depay: Replace framerate caps field with fraction"
...
This reverts commit 9fd25a810b
.
We deal with sdp attributes in application/sdp, which are always strings.
2013-05-31 15:05:51 +02:00
Sebastian Rasmussen
9fd25a810b
rtpjpegpay/depay: Replace framerate caps field with fraction
...
The previous implementation had the formatting of SDP attributes happen
in each RTP payloader, now instead the constituent values are propagated
as caps fields. This allows for applications to do SDP offer/answer
based on caps negotiation.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-23 21:05:49 +02:00
Sebastian Rasmussen
0075d111b4
rtpjpegpay/depay: Replace framesize caps with width/height
...
The previous implementation had the formatting of SDP attributes happen
in each RTP payloader, now instead the constituent values are propagated
as caps fields. This allows for applications to do SDP offer/answer
based on caps negotiation.
Keep parsing a-framerate, x-framerate and x-dimensions in rtpjpegdepay
to be backwards compatible with previous payloaders.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-23 21:05:43 +02:00
Sebastian Rasmussen
2361567bae
rtpjpegpay/depay: Add framesize caps for use in SDP
...
The format of the value adheres to RFC6064 and it is meant to be parsed
and included in the SDP sent by gst-rtsp-server to its clients.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-21 09:09:03 +02:00
Sebastian Rasmussen
919eed0787
rtpjpegpay: Add optional framerate caps for use in SDP
...
The format of the value adheres to RFC4566 and it is meant to be parsed
and included in the SDP sent by gst-rtsp-server to its clients.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-21 09:08:21 +02:00
Jonas Holmberg
e12457f138
rtpjpegpay: handle width and height > 2040
...
If width or height is greater than 2040 set width and height to zero in
the rtp header and add x-dimensions to outcaps.
Solves #684955
2012-12-20 15:40:49 +01:00
Tim-Philipp Müller
230cf41cc9
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Patricia Muscalu
15cce2dd26
rtpjpegpay: always enable buffer-lists
2012-07-23 16:15:59 +02:00
Youness Alaoui
7703a11073
rtpjpegpay: Allow U and V components to use different quant tables if they contain the same data
...
This allows some cameras (Logitech C920) that specify different quant
tables but both with the same data, to work.
Bug reported by Robert Krakora
2012-05-16 09:49:08 +02:00
Tim-Philipp Müller
e09ae5736d
Use new gst_element_class_set_static_metadata()
2012-04-10 00:51:41 +01:00
Wim Taymans
69002aa24f
update for buffer changes
2012-03-28 12:53:05 +02:00
Wim Taymans
583d39dd8d
update for new memory API
2012-01-25 12:30:28 +01:00
Tim-Philipp Müller
668e15598b
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
sys/v4l2/gstv4l2object.c
2011-12-08 01:28:26 +00:00
Edward Hervey
04520cbe9a
rtp: Initialize GstRTPBuffer before usage
2011-12-05 18:39:59 +01:00
Sebastian Rasmussen
c090201ca5
rtpjpegpay: Ceil jpeg dimensions, instead of floor
...
A JPEG image inside an RTP stream has a preceeding RFC2435 header that
conveys width/height. The dimensions in this header are limited to be
multiples of 8. Since JPEG uses an MCU of 8x8 pixels any image must
already indirectly have image data dimensions that are rounded up in
order to contain enough data to render the image. Therefore this fix
safely rounds the image dimensions in the RFC2435 header up to the
closest multiple of 8.
2011-12-05 10:48:54 +01:00
Vincent Penquerc'h
c0e101e93f
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Wim Taymans
249d0083cc
update for base class rename
2011-11-11 12:25:01 +01:00
Wim Taymans
fbaf216d25
update for changed base classes
2011-11-10 17:23:47 +01:00
Wim Taymans
4121021bb2
Merge branch 'master' into 0.11
...
Conflicts:
ext/pulse/pulsesink.c
ext/pulse/pulsesrc.c
gst/audioparsers/gstac3parse.c
gst/rtp/gstrtph264depay.c
gst/rtp/gstrtph264pay.c
gst/rtpmanager/gstrtpssrcdemux.c
2011-08-03 18:25:30 +02:00
Robert Krakora
f7893b8721
rtpjpegpay: Add support for H.264 payload in MJPEG container
...
See http://www.quickcamteam.net/uvc-h264/USB_Video_Payload_H.264_0.87.pdf
Fixes bug #655530 .
2011-08-03 10:09:42 +02:00
Mark Nauwelaerts
eb82a50bd1
rtp: port remaining to 0.11
2011-07-10 21:50:19 +02:00
Stefan Kost
d122ea0122
rtp: fix static array overruns in a nicer way
...
Use G_N_ELEMENTS instead of hard-coding the array size.
2011-05-20 10:34:47 +03:00
Stefan Kost
5792d3b9c0
rtp: fix static array overruns
...
Yes array[10] has elements from 0...9.
2011-05-20 00:53:44 +03:00
Wim Taymans
f4155f3cf3
rtp: add RTP hint to the klass
2010-12-21 17:23:03 +01:00
Wim Taymans
f357e09ac1
rtp: fix rank of payloaders and depayloaders
...
Set the payloaders and depayloaders to a reasonable rank.
2010-12-21 17:22:58 +01:00
Stefan Kost
d8167e3071
various (gst): add a missing G_PARAM_STATIC_STRINGS flags
2010-10-13 18:00:28 +03:00
Wim Taymans
604c6555a4
rtpjpegpay: cleanups for DRI markers
...
Protect against invalid DRI markers.
do some cleanups
2010-09-13 17:31:35 +02:00
American Dynamics
0f3151c73b
gstrtpjpegpay: Added Define Restart Interval (DRI) Marker
...
Added ability to detect and respond to a JPEG-defined DRI marker
2010-09-13 16:47:23 +02:00
Wim Taymans
de4a7fc4c4
rtpjpegpay: improve debugging
2010-09-09 18:48:53 +02:00
Sebastian Dröge
640cb863d4
rtpjpegpay: Fix uninitialized variable compiler warning
...
Fixes bug #629018 .
2010-09-08 07:13:42 +02:00
Wim Taymans
2ed53fd77f
rtpjpegpay: do some more sanitity checks
...
Protect some more against invalid input.
2010-09-07 16:40:08 +02:00
American Dynamics
a482677a14
jpegpay: handle corrupted jpeg better
...
Protect against corrupted jpeg input.
2010-09-07 15:20:12 +02:00
Stefan Kost
6772badb88
docs: enable the 2 of 65 rtp elements in the docs
2010-04-08 17:19:41 +03:00
Benjamin Otte
cccfeaa59c
gst_element_class_set_details => gst_element_class_set_details_simple
2010-03-18 14:32:00 +01:00
Wim Taymans
ad6d4540a7
rtppay: don't ignore result from set_outcaps
...
set_outcaps can fail and we need to propagate the result upstream.
2010-02-12 13:53:58 +01:00