Commit graph

1935 commits

Author SHA1 Message Date
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
Edward Hervey
c6bc271e7e encoding-profile: Add guard against profiles without format 2010-12-21 13:08:15 +01:00
Edward Hervey
76afffd55f gstdiscoverer: Don't leak tags 2010-12-19 13:45:01 +01:00
Rob Clark
aa07af41f3 fix compile errors on macosx
with i686-apple-darwin10-gcc-4.2.1:

encoding-profile.h:134: warning: type qualifiers ignored on function return type
encoding-profile.c:240: warning: type qualifiers ignored on function return type
gstencodebin.c: In function 'next_unused_stream_profile':
gstencodebin.c:454: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
gstencodebin.c:464: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
2010-12-17 19:06:27 -06:00
Andy Wingo
dd699397c2 add gst_rtsp_url_decode_path_components
* gst-libs/gst/rtsp/gstrtspurl.h:
* gst-libs/gst/rtsp/gstrtspurl.c (gst_rtsp_url_decode_path_components):
  New public function, returns a strv of uri-decoded path components.

* tests/check/Makefile.am:
* tests/check/libs/rtsp.c: Add tests.
2010-12-15 17:51:36 +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
Edward Hervey
82b4f9bfef pbutils: New Profile library
https://bugzilla.gnome.org/show_bug.cgi?id=627476
2010-12-15 11:54:32 +01:00
Stefan Kost
7990379237 pbutils: spell out two more container formats 2010-12-13 18:06:20 +02:00
Stefan Kost
4e8956c9f1 discoverer: query seekability
Besides the duration we can also query the seekability of a stream. Use the new
API in the gst-discoverer tool.

API: gst_discoverer_info_get_seekable
2010-12-13 17:03:25 +02:00
Wim Taymans
5f36105915 appsink: unset flushing flag when starting
When we start again after being stopped, clear the flushing flag or else
it will always be TRUE.

Fixes #636769
2010-12-10 19:00:48 +01:00
Edward Hervey
e9d9474330 pbutils: Add/Fix some media descriptions
Fixes #623413
2010-12-09 16:57:35 +01:00
Stefan Kost
ecb164675d docs: fix wrong use of Since: keyword 2010-12-08 12:11:23 +02:00
Edward Hervey
f9c7be9639 rtsp: Move around the typedefs to make GIR happy
Otherwise it will generate they symbols as _GstRTSP* (with the leading
underscore).
2010-12-07 17:35:56 +01:00
Tim-Philipp Müller
78f33715ff libs: use GLib 2.22 API unconditionally 2010-12-04 14:45:58 +00:00
Mark Nauwelaerts
7c4fcf776f riff: document omitted field in _gst_riff_strf_auds
(aka WAVEFORMATEX)
2010-12-03 13:53:51 +01:00
Tim-Philipp Müller
8604fac13f video: add missing break statement for the GST_VIDEO_FORMAT_RGB8_PALETTED case 2010-12-03 00:02:26 +00:00
Edward Hervey
8743c88a33 libgstrtsp: Fix typo in .pc to use for GIR 2010-12-02 19:11:37 +01:00
Wim Taymans
626af33160 sdp: only parse TTL for IP4 addresses
Only IP4 addresses can have a TTL in the address.
2010-12-02 19:09:11 +01:00
Wim Taymans
e0d4a48ae7 sdp: add method to check for multicast addresses
Expose a previously internal method to check for multicast addresses.

See #634093
2010-12-02 19:09:11 +01:00
Sebastian Dröge
36c9ba990a pbutils: Take nano version into account in GST_CHECK_PLUGINS_BASE_VERSION()
If the nano is > 0 the current version should be handled the same as
micro + 1.
2010-12-02 19:04:29 +01:00
Sebastian Dröge
8b60aa8e01 video: Add YUV9, YVU9 and IYU1 video formats
API: GST_VIDEO_FORMAT_YUV9: planar 4:1:0 YUV
API: GST_VIDEO_FORMAT_YVU9: planar 4:1:0 YUV (chroma planes swapped)
API: GST_VIDEO_FORMAT_IYU1: packed 4:1:1 YUV (Cr-Y0-Y1-Cb-Y2-Y3)
2010-12-02 19:04:29 +01:00
Sebastian Dröge
ea7446e5b5 video: Add 8-bit paletted RGB
API: Add GST_VIDEO_FORMAT_RGB8_PALETTED
API: Add GST_VIDEO_CAPS_RGB8_PALETTED
API: Add gst_video_parse_caps_palette()
2010-12-02 19:04:29 +01:00
Sebastian Dröge
a13720fc55 video: Return correct component width/height for A420 2010-12-02 19:04:27 +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
Arun Raghavan
6b66f455a2 discoverer: Minor documentation fix
docs: Minor discoverer documentation fix
2010-11-18 07:51:20 +00:00
Arun Raghavan
5cb8b39c2c discoverer: Fix a gtk-doc gobject-introspection annotation
gst_discoverer_discover_uri() expects the caller to unref the returned
GstDiscovererInfo object. The corresponding gtk-doc annotation was not
updated to reflect this.
2010-11-08 11:44:28 +00:00
Arun Raghavan
d392994597 discoverer: Fix argument type to _container_info_get_streams()
No reason for gst_discoverer_container_info_get_streams() to not take a
GstDiscovererContainerInfo as its argument.
2010-11-08 11:44:22 +00:00
Tim-Philipp Müller
3ecb114b61 tag: fix leak when parsing undefined EXIF tag into tag list
gst_buffer_set_data() does not set GST_BUFFER_MALLOCDATA, but
the code assumes the buffer takes ownership of the memory
allocated earlier.
2010-11-02 12:02:23 +00:00
Tim-Philipp Müller
1c0b90661f tag: fix GstDateTime leak when converting exif tag to tag list 2010-11-02 11:58:14 +00:00
Stefan Kost
03eea2364a discoverer: rename boolean getters for consistency
Rename _get_is_image() to _is_image() and _get_interlaced() to _is_interlaced().

https://bugzilla.gnome.org/show_bug.cgi?id=633311
2010-10-30 14:50:21 +01:00
Tim-Philipp Müller
98c7889293 pbutils: remove padding from now-private GstDiscovererInfo structure 2010-10-30 12:24:05 +01:00
Wim Taymans
ac06dd5d0e rtspconnection: calculate better timeout value
We want to send the keealive message a little earlier than the timeout value
specifies. Scale this based on the value of the timeout instead of just assuming
5 seconds.
2010-10-29 14:22:39 +01:00
Thijs Vermeir
2e888cb784 rtsp: don't let the rtsp connection timeout
Because we should act before the rtsp server does a timeout, we
reduce the timeout-time with 5 seconds, this should be safe to always
keep te rtsp connection alive.

https://bugzilla.gnome.org/show_bug.cgi?id=633455
2010-10-29 14:22:39 +01:00
Stefan Kost
79020ae3f6 discoverer: use const in most of the getters 2010-10-28 18:54:37 +03:00
Stefan Kost
127beb9e6c discoverer: use specific types in getters
Use GstDiscoverer{Audio,Video}Info in getters like
gst_discoverer_{audio,video}_info_get_*(). This avoids the casts in the macros,
help language bindings and is more correct.
2010-10-28 18:54:37 +03:00
Edward Hervey
65cfcffbc0 discoverer: Get pad caps if we can't get negotiated caps
Better provide something than nothing

https://bugzilla.gnome.org/show_bug.cgi?id=632988
2010-10-24 16:19:09 +02:00
Edward Hervey
da9682a593 discoverer: Don't ref a NULL caps
https://bugzilla.gnome.org/show_bug.cgi?id=632988
2010-10-24 16:19:09 +02:00
Edward Hervey
9c06f55e19 pbutils: Description for RealAudio container format 2010-10-24 16:17:44 +02:00
Edward Hervey
d8a91f1f0d pbutils: Add description for VP6 alpha and ASS subtitle 2010-10-24 16:17:44 +02:00
Tim-Philipp Müller
be36a64c57 libs: touch marshal.list files to force rebuild after Makefile.am changes
Force regeneration of marshal.[ch] files after prefix changes in
Makefile.am, to avoid build errors for those of us who don't
habitually make clean first.
2010-10-19 00:07:47 +01:00
Thiago Santos
5984ff1086 tag: Adds GST_TAG_CAPTURING_SOURCE
Adds a tag to indicate the source/device used for the capture.

Already maps it in exif and adds tests.

API: GST_TAG_CAPTURING_SOURCE

https://bugzilla.gnome.org/show_bug.cgi?id=631773
2010-10-16 00:50:11 +01:00
Thiago Santos
b49f83d738 tag: Adds GST_TAG_CAPTURING_METERING_MODE
Adds a tag to inform what mode was used by a camera to calculate
the picture capturing exposure

Also adds mapping to exif and tests

API: GST_TAG_CAPTURING_METERING_MODE

https://bugzilla.gnome.org/show_bug.cgi?id=631773
2010-10-16 00:42:09 +01:00
Thiago Santos
f67e7aacf3 tag: Adds GST_TAG_CAPTURING_SHARPNESS
Adds new tag for tagging sharpness processing used
when capturing an image. Also maps it in the exif
tags.

Tests included.

API: GST_TAG_CAPTURING_SHARPNESS

https://bugzilla.gnome.org/show_bug.cgi?id=631773
2010-10-16 00:31:07 +01:00
Tim-Philipp Müller
f396a37fc5 rtsp: don't export marshaller function
Make sure the marshaller function isn't exported. As it was
never in a public header file, this should be fine.
2010-10-15 23:54:40 +01:00
Tim-Philipp Müller
0e8865c733 pbutils: fix distcheck
Apparently noinst implies dist.
2010-10-15 21:23:14 +01:00
Tim-Philipp Müller
45ae532162 pbutils: make marshaller private
There's no reason to make the marshaller public API. Don't install
pbutils-marshal.h header file and use prefix that makes sure the
symbol doesn't get exported.
2010-10-15 19:58:04 +01:00
Tim-Philipp Müller
c85e958c7c pbutils: use fewer variables in Makefile.am to make things clearer
Also fix typo in DISTCLEANFILES.
2010-10-15 19:16:52 +01:00
Tim-Philipp Müller
beae0db284 docs: improve gst_discoverer_new() docs a bit 2010-10-15 17:23:44 +01:00
Tim-Philipp Müller
b5f6f4873b discoverer: private structs need to padding 2010-10-15 16:43:41 +01:00
Sebastian Dröge
b3192de682 video: Fix stupid copy&paste error in last commit 2010-10-15 11:26:50 +02:00
Sebastian Dröge
8741707430 video: API: Add A420 video format
This is planar 4:2:0 YUV plus non-subsampled alpha plane.
2010-10-15 11:12:34 +02:00
Thiago Santos
67eb531163 tag: Update with latest datetime from core
Updates datetime functions to latest APIs in core
2010-10-13 12:30:31 -03:00
Stefan Kost
83c14483ed various: add a missing G_PARAM_STATIC_STRINGS flag to object properties 2010-10-13 16:13:31 +03:00
Edward Hervey
a356bb268d pbutils: rename gstdiscoverer-private.h to pbutils-private.h 2010-10-08 15:27:44 +02:00
Edward Hervey
3bc73c9d0f pbutils: Use copy_and_clean_caps for description methods
This allows the various _get_*_description() methods to be more
forgiving with the provided caps.
2010-10-08 15:27:39 +02:00
Tim-Philipp Müller
6f87bc2307 rtsp: make public _get_type() functions thread-safe 2010-10-08 11:34:59 +01:00
Tim-Philipp Müller
d59558af87 rtspurl: minor clean-up
Merge and const-ify two arrays that should be one.
2010-10-08 11:34:59 +01:00
Tim-Philipp Müller
06afe5f049 rtsp: fix enum value name in enums that are public API
https://bugzilla.gnome.org/show_bug.cgi?id=629746
2010-10-08 11:34:58 +01:00
Tim-Philipp Müller
751c34bffc audio: make public get_type() functions thread-safe 2010-10-08 11:34:58 +01:00
Tim-Philipp Müller
6b7af81e30 audio: fix enum value name in enums that are public API
So run-time bindings can introspect the names correctly (we abuse this
field as description field only in elements, not for public API
(where the description belongs into the gtk-doc chunk).

https://bugzilla.gnome.org/show_bug.cgi?id=629746
2010-10-08 11:34:58 +01: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
Arun Raghavan
33e6fe44b2 build: Fix include path order for gir generation
This makes sure that the built girs are picked up over installed girs
where this is currently the case.
2010-10-04 09:59:35 +01:00
Tim-Philipp Müller
719a9f5739 codec utils: populate mpeg4 caps "level" field with level, not profile
Call the right function to get the level. Also add some more debug
logging.
2010-10-01 15:29:36 +01:00
Tim-Philipp Müller
5c2c727f84 pbutils: include config.h in codec utils 2010-09-30 15:19:02 +01:00
Tim-Philipp Müller
515a768dbc docs: add new codec utils API to docs 2010-09-30 13:09:29 +01:00
Arun Raghavan
def1cf7276 pbutils: Add MPEG-4 Video profile/level extraction
This adds code to translate the profile_and_level indication from the
MPEG-4 video (ISO/IEC 14496-2) headers to a string profile/level. The
mappings are taken from the spec and Wireshark's code, and might need to
be expanded on.

https://bugzilla.gnome.org/show_bug.cgi?id=617314

API: gst_codec_utils_mpeg4video_get_profile()
API: gst_codec_utils_mpeg4video_get_level()
API: gst_codec_utils_mpeg4video_caps_set_level_and_profile()
2010-09-30 13:09:29 +01:00
Arun Raghavan
e4bd09f0ed pbutils: add H.264 profile/level extraction functions to codec utils
This adds code to parse the first few bytes of H.264 sequence parameter
set in order to extract the profile and level as const strings. This
code was originally in both qtdemux and matroskademux.

https://bugzilla.gnome.org/show_bug.cgi?id=617314

API: gst_codec_utils_h264_get_level()
API: gst_codec_utils_h264_get_profile()
API: gst_codec_utils_h264_caps_set_level_and_profile()
2010-09-30 13:09:29 +01:00
Arun Raghavan
0cf81938a1 pbutils: add AAC profile detection to codec utils
This moves AAC profile detection to pbutils, and uses this in
typefindfunctions. This will also be used in qtdemux.

https://bugzilla.gnome.org/show_bug.cgi?id=617314

API: gst_codec_utils_aac_get_profile()
API: codec_utils_aac_caps_set_level_and_profile()
2010-09-30 13:09:29 +01:00
Arun Raghavan
c77f88cac6 pbutils: add codec-specific utility functions for AAC
This allows us to add generic codec-specific functionality, like
extracting profile/level data from headers, without having to duplicate
code across demuxers and typefindfunctions.

As a starting point, this moves over AAC level extraction code from
typefindfunctions, so it can be reused in qtdemux, etc.

https://bugzilla.gnome.org/show_bug.cgi?id=617314

API: gst_codec_utils_aac_get_sample_rate_from_index()
API: gst_codec_utils_aac_get_level()
2010-09-30 13:09:28 +01:00
René Stadler
78b2ab608b tags: fix unused function warning with debug disabled 2010-09-30 13:12:30 +03:00
René Stadler
4188e2648f tags: fix illegal use of internal debug category function
From gstinfo.h:

  /* do not use this function, use the GST_DEBUG_CATEGORY_INIT macro */
  GstDebugCategory *_gst_debug_category_new (const gchar * name,

And more importantly:

  #pragma GCC poison _gst_debug_category_new

So this commit fixes --disable-gst-debug builds.
2010-09-30 13:08:55 +03:00
Thijs Vermeir
a0fa0ff8bf basertpdepay: ensure metadata is writable 2010-09-29 16:53:21 +02:00
Edward Hervey
ab23c2647f pbutils: Add descriptions for more codecs 2010-09-29 13:29:39 +02:00
René Stadler
85e2c17f32 xoverlay: allow render rectangle coordinates to be negative
This is useful for cropped zooming of the overlay.
2010-09-28 15:20:37 +03:00
René Stadler
cfa7bf7400 xoverlay: fix endless loop in deprecated method 2010-09-28 15:20:26 +03:00
Tim-Philipp Müller
56441d45cf tags: add debug category for tags utility functions 2010-09-28 10:34:06 +01:00
Tim-Philipp Müller
5ef53dcf5c tags: try ISO-8859-1 as second fallback in case WINDOWS-1252 is not supported
Better safe than sorry. Some embedded systems may use crippled iconv
implementations or not support WINDOWS-1252 for other reasons.

https://bugzilla.gnome.org/show_bug.cgi?id=630471
2010-09-28 10:33:47 +01:00
Sreerenj Balachandran
b3e39daee0 tags: when converting freeform strings try Windows-1252 as fallback instead of ISO-8859-1
Windows-1252 is a superset of ISO-8859-1, which uses some space
allocated to control characters for additional printable characters.

https://bugzilla.gnome.org/show_bug.cgi?id=630471
2010-09-28 10:33:36 +01:00
Wim Taymans
84dba3698d baseaudiosink: add Since markers
Fixes #630443
2010-09-24 13:09:28 +02:00
Havard Graff
3067a83df2 baseaudiosink: Added getter and setter for drift tolerance. 2010-09-24 13:06:35 +02:00
Wim Taymans
c89082b2dd baseaudiosink: subtract the render_delay from our latency
The latency reported by the base class includes the render_delay, which we don't
want to include when we start slaving our clocks.

See #630441
2010-09-24 12:54:47 +02:00
Sebastian Dröge
550d59354f ringbuffer: Use G_DEFINE_ABSTRACT_TYPE instead of manual GObject boilerplate code
This also makes the _get_type() function threadsafe.

Fixes bug #630440.
2010-09-23 23:58:50 +02:00
Thiago Santos
10f0319d62 tags: exif: Add mapping for _HORIZONTAL_ERROR
Maps GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR to the
GPSHPositionError tag in exif.

Tests included.
2010-09-23 10:16:07 -03:00
Thiago Santos
24b523e129 appsrc: Do not override buffer caps if appsrc caps is null
Make appsrc not set caps on buffers when its own caps is NULL.

This avoids calling make_metadata_writable on all buffers and
prevents losing buffer caps in case we are not replacing it
with something meaningful.

https://bugzilla.gnome.org/show_bug.cgi?id=630353
2010-09-23 08:23:47 -03:00
Edward Hervey
6ecbdab1fe discoverer: Fixup DiscovererResult handling
This was a leftover from the changes from a flag to an enum
2010-09-22 12:57:22 +02:00
Edward Hervey
3912e59488 discoverer: We don't need the signals from the queues 2010-09-22 12:10:24 +02:00
David Schleef
69077eddd8 gst-libs: build pbutils after video
Because pbutils now depends on video.
2010-09-22 01:50:21 -07:00
Stefan Kost
784d7be363 discoverer: fix docs
While the doc parser allows for certain variation, it is a good idea to not
use random characters here and there, but try to stick to the little markup
syntax there is.
2010-09-20 21:04:48 +03:00
Edward Hervey
f2d522670e discoverer: Fix debug statement.
Fixes build on macosx
2010-09-20 16:45:32 +02:00
Edward Hervey
30b3cf8823 pbutils: New Discoverer utility
Fixes #625944
2010-09-20 13:11:42 +02:00
Sebastian Dröge
0cb380e710 sdp: Fix ACCEPTABLE_CHAR() macro to work with signed and unsigned chars 2010-09-17 11:46:05 +02:00
Sebastian Dröge
3328f89c49 Revert "sdp: Remove useless check in macro"
This reverts commit e6a041b69f.

It's not a useless check, the signedness of "char" and "gchar" is
defined by the ABI.
2010-09-17 11:44:29 +02:00