Commit graph

1804 commits

Author SHA1 Message Date
Thiago Santos
19cef39023 tag: Adds some basic photography tags
Adds the following basic photography tags.

API: GST_TAG_CAPTURING_SHUTTER_SPEED
API: GST_TAG_CAPTURING_FOCAL_RATIO
API: GST_TAG_CAPTURING_FOCAL_LENGTH
API: GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO
API: GST_TAG_CAPTURING_ISO_SPEED

Fixes #626651
2010-08-24 22:05:20 -03:00
Sebastian Dröge
c30ad57e86 video: Fix component width for NV12/NV21
Both have width/2 as component width for the chroma planes.
2010-08-24 10:03:04 +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
c3a519494b docs: fix typo in appsink docs so function gets cross-referenced properly 2010-08-14 19:12:37 +01: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
Stefan Kost
5ba7ca1642 appsrc: fix the classification.
Change "Src" into "Source" (we use that elsewhere). I did not keept "Src" as it
is quite unlikely that someone plugs appsrc by searching the registry by classification.
2010-08-12 18:16:20 +03:00
Thiago Santos
adcb6e642d tags: exif: Fix bug in inner ifd parsing
Do not use the result of inner ifd's parsing to increment
the current tag index. The reasons are:

1) The function returns a boolean.
2) The inner ifd's tags are in a separate table, so they shouldn't
interfere with its parent ifd table parsing.
2010-08-11 08:55:59 -03:00
Thiago Santos
c45bf80a0c tag: exif: Put ExifVersion in the correct IFD
ExifVersion is from the 'exif' ifd, not the 0th ifd.
2010-08-11 08:55:59 -03:00
Thiago Santos
5c5a200025 tag: exif: Refactor functions declaration
Use some macros to declare serialization/deserialization
functions prototypes.
2010-08-11 08:55:54 -03:00
Thiago Santos
f0d10d6375 tag: exif: Add another DateTime mapping
datetimes can also be represented by the 0x132 tag. Map it, too.
2010-08-11 08:51:28 -03:00
Thiago Santos
1547c2b9ce tag: exif: Fix bug on image-orientation parsing
Do not skip one extra tag when parsing image-orientation tags.
2010-08-10 11:30:04 -03:00
Sebastian Dröge
53f8149c90 exiftag: Compare with G_MAXUINT16 instead of -1
Fixes a compiler warning on the OS X buildbot.
2010-08-10 11:53:19 +02:00
Thiago Santos
61e11b0fc4 xmp: exif: Adds GST_TAG_APPLICATION_NAME mappings
adds xmp and exif helper library mappings for GST_TAG_APPLICATION_NAME
tag.
2010-08-09 18:04:08 -03:00
Thiago Santos
43e1f0474f tag: exif: Write ExifVersion tag
Write ExifVersion tag unconditionally when creating exif
buffers. Might help other applications parsing of this data.
2010-08-09 18:03:46 -03:00
Thiago Santos
4a42d3b0ce tags: exif: Fix inner tags offset rewriting
Fixes a bug that made exif helper lib fail to rewrite inner ifd tags
offsets when there were more than 1 inner ifd.
2010-08-09 17:51:35 -03:00
Sebastian Dröge
b296c96169 baseaudiosink/baseaudiosrc: Post CLOCK-LOST/CLOCK-PROVIDE when going to/from READY
Otherwise the clocks are redistributed every time the pipeline
goes to PAUSED, which is quite expensive.
2010-08-04 15:19:42 +02:00
Thiago Santos
f7ee816355 tag: xmp: Make xmp lib aware for the different tag types
Makes the xmp helper lib aware that the tags can be simple,
sequences or bags (there is still struct and alt, but those
aren't handled yet). Adding this info makes serialization
and deserialization more consistent.
2010-08-04 09:56:39 -03:00
Thiago Santos
b9573cc75d xmp: Add a new layer of indirection (GstXmpSchema)
Instead of storing all tags in a single hashtable, store them
grouped by schema in a GstXmpSchema, and add those to the toplevel
hashtable.
2010-08-04 09:56:39 -03:00
Thiago Santos
2760c96dfc tag: xmp: Make bag tags deserialization work correctly
If we find a bag of tags of type string in the xmp packet, we
should concat them, this is not the ideal approach, but at
least works for now as we don't know what type of tag it
is (simple, structure, seq, alt or bag)
2010-08-04 09:56:39 -03:00
Wim Taymans
f9404c0b27 ringbuffer: improve debugging 2010-08-04 10:33:32 +02:00
Wim Taymans
2304ff9095 ringbuffer: whitespace fixes 2010-08-04 10:33:32 +02:00
Thiago Santos
0c51c8209b tag: xmp: removing useless locking
Everything in the xmp helper lib is initiallized once and on a thread
safe way, and after that there are only reads going on, no more
writing. Based on that, drop the locking.
2010-08-01 06:53:28 -03:00
Tim-Philipp Müller
db5d418282 tag: initialize datetime variable in xmp tag parsing code
Fixes (correct) compiler warning on the OSX build bot.
2010-07-26 18:23:33 +02:00
Tim-Philipp Müller
5a0c2517ee pbutils: add compile time and runtime version checks for gst-plugins-base
So people can check what version of the gst-plugins-base libs they're
building against or linked against.

API: GST_PLUGINS_BASE_VERSION_MAJOR
API: GST_PLUGINS_BASE_VERSION_MINOR
API: GST_PLUGINS_BASE_VERSION_MICRO
API: GST_PLUGINS_BASE_VERSION_NANO
API: GST_CHECK_PLUGINS_BASE_VERSION
API: gst_plugins_base_version()
API: gst_plugins_base_version_string()
2010-07-26 17:25:15 +02:00
Thiago Santos
93f97277da tag: exif: Map GST_TAG_DATE_TIME
Adds mapping to the exif helper library for GST_TAG_DATE_TIME.
Tests included.

https://bugzilla.gnome.org/show_bug.cgi?id=594504
2010-07-26 12:00:31 -03:00
Thiago Santos
5e51a77df4 tag: xmp: Maps GST_TAG_DATE_TIME
Adds mapping for GST_TAG_DATE_TIME.
Tests included.

https://bugzilla.gnome.org/show_bug.cgi?id=594504
2010-07-26 12:00:30 -03:00
Sebastian Dröge
ed271ff809 baseaudiosink: Post clock-provide and clock-lost messages when going from/to PLAYING 2010-07-16 17:40:45 +02:00
Sebastian Dröge
e84c7f02b4 baseaudiosrc: Post clock-provide and clock-lost messages when going from/to PLAYING 2010-07-16 17:40:45 +02:00
Sebastian Dröge
f1ac770f1b baseaudiosink: Use new gst_audio_clock_new_full() 2010-07-16 17:40:45 +02:00
Sebastian Dröge
32b0b0aef9 baseaudiosrc: Use new gst_audio_clock_new_full() 2010-07-16 17:40:45 +02:00
Sebastian Dröge
8989ad93d9 audioclock: API: Add gst_audio_clock_new_full() with a GDestroyNotify for the user_data
Elements usually use their own instance as instance data but the
clock can have a longer lifetime than their elements and the clock
doesn't own a reference of the element.

Fixes bug #623807.
2010-07-16 17:40:17 +02:00
Tim-Philipp Müller
524c977c18 riff: add FLV4 fourcc and map it to video/x-vp6-flash
Fixes #623176.
2010-06-30 21:20:37 +01:00
Olivier Crête
2f8dc27e29 netbuffer: declare with G_DEFINE_TYPE for type safety
Fixes #623233.
2010-06-30 21:10:10 +01:00
Wim Taymans
2ced0a3d5d ringbuffer: check for ringbuffer state first
Check for the state of the ringbuffer before doing the checks of the other
buffer properties, when we're not started, we don't care about those values.
2010-06-25 17:21:57 +02:00
Thiago Santos
dbdfb71673 tag: Fix printf format string
Use %s for strings, not %d.
2010-06-24 08:42:50 -03:00
Thiago Santos
c774cdcff0 tag: xmp: Adds GST_TAG_IMAGE_ORIENTATION mapping
Adds GST_TAG_IMAGE_ORIENTATION mapping to xmp helper lib.
Tests included.
2010-06-23 12:03:47 -03:00
Thiago Santos
e327be5a96 tag: exif: Adds mapping for GST_TAG_IMAGE_ORIENTATION
Adds GST_TAG_IMAGE_ORIENTATION to the exif helper lib mapped tags.
Tests included.
2010-06-23 12:03:47 -03:00
Thiago Santos
a08c2ec760 tag: Use gst_tag_list_peek_string_index in vorbistag
Use _peek_string_index instead of _get_string_index to avoid
a string copy
2010-06-18 14:17:30 -03:00
Thiago Santos
4219a5ae5c tag: xmp: Init char variable for gps coordinates
Initialize char variable for gps coordinates deserialization to 0
to identify when it couldn't be parsed/found and error out.

Fixes #621509
2010-06-14 15:05:16 -03:00
Edward Hervey
3879c57b01 video: Fix unitialized variable.
yay macosx compilers :(
2010-06-14 14:13:16 +02:00
Sebastian Dröge
611d87ce7a appsrc: Return FALSE from the seek handler if no seek callback was set 2010-06-14 11:03:50 +02:00
Sebastian Dröge
506be85356 video: Re-add (but deprecated) GST_VIDEO_{RED,GREEN,BLUE}_MASK_1[56] 2010-06-13 08:20:13 +02:00
Martin Bisson
b8f330dea6 video.{c,h}: Fix an endianness bug fix.
This commit makes sure the endianness is ok for RGB/BGR 15/16 formats.
2010-06-12 13:51:27 +02:00
Martin Bisson
f5a690f860 video.{c,h}: Add support for RGB and BGR with 15 and 16 bits. 2010-06-12 13:51:27 +02:00
Edward Hervey
5e1cef7a5d gstexiftag: Fix unitialized variables
I hate thee macosx
2010-06-11 15:25:35 +02:00
Edward Hervey
f12a4e6ed6 gstexiftag: Fix debug statements 2010-06-11 08:47:27 +02:00
Edward Hervey
42dd1471f8 exiftag: Fix unitialized variable 2010-06-11 08:47:17 +02:00
Stefan Kost
a0b5bb5113 docs: fix gtk-doc warnings
Variable names in function prototypes in the headers should match the doc-
comment.
2010-06-10 20:36:32 +03:00
Edward Hervey
1d21ce0da2 riff: Add support for VP6F (On2 VP6 Flash variant) 2010-06-09 22:35:52 +02:00
Thiago Santos
ccfb6e3c02 tag: exif: Refactor byte-order handling
Only check for valid byte-order values when creating the
exif readers and writers
2010-06-09 16:28:43 -03:00
Thiago Santos
491d025530 tag: exif: Adds new geo-location tag mappings
Adds mappings for:
GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION
GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION
GST_TAG_GEO_LOCATION_MOVEMENT_SPEED
GST_TAG_GEO_LOCATION_ELEVATION

Does some refactoring in the code to reduce number of parameters
passed to functions

Tests included.
2010-06-09 16:26:43 -03:00
Thiago Santos
6b6a4e85ad tag: Adds basic exif tags support
Adds exif helper lib functions to parse exif buffers from/to
taglists. Exif is tipically used in jpeg images, but it can
also be embedded into TIFF, AVI and WAV formats.

Adds a couple function to handle exif in tiff header structures, that is how
exif is embedded in jpeg and (obviously) in tiff.

API: gst_tag_list_to_exif_buffer
API: gst_tag_list_to_exif_buffer_with_tiff_header
API: gst_tag_list_from_exif_buffer
API: gst_tag_list_from_exif_buffer_with_tiff_header

Fixes #614872
2010-06-09 16:26:36 -03:00
Sebastian Dröge
80cc85d218 video: Return TRUE in gst_video_format_is_gray() for Y800 and Y16 2010-06-08 11:01:44 +02:00
Martin Bisson
b0d15133d7 video: Add support for Y800 and Y16
Fixes bug #620441.
2010-06-07 08:17:55 +02:00
Wim Taymans
f562c8b290 appsrc: fix documentation string 2010-06-05 11:28:17 +02:00
Sebastian Dröge
a5c35621c3 Revert "baseaudiosink: Allocate and free the clock in NULL->READY and reverse"
This reverts commit cea2644ed8.

Many audio sink assume that they can create a clock in
the instance init function and it will be there forever
and not be cleared by the state change functions.
2010-06-03 13:44:40 +02:00
Sebastian Dröge
cea2644ed8 baseaudiosink: Allocate and free the clock in NULL->READY and reverse 2010-06-03 10:23:22 +02:00
Sebastian Dröge
61a65cda11 configure: Remove (now) useless check for cbrt 2010-05-28 08:27:29 +02:00
David Schleef
3edafbd0e5 interfaces: Use pow() instead of cbrt() for MSVC 2010-05-27 12:55:43 -07:00
Sebastian Dröge
fdfb70e262 fft: Merge kissfft 1.2.8
This reduces memory footprint for the FFT and adds
OpenMP support (but we don't use it).
2010-05-24 11:27:36 +02:00
Tim-Philipp Müller
5e022fa0a4 pbutils: add basic descriptions for new WebM and VP8 types 2010-05-20 15:14:30 +01:00
Sebastian Dröge
0a4eaa7f60 riff: Add support for On2 VP8 2010-05-19 19:23:07 +02:00
Sebastian Dröge
f43216b9d7 appsrc: Always take the object lock when accessing the caps
Fixes bug #618625.
2010-05-14 17:24:14 +02:00
Wim Taymans
9696af170f riff: relax width and height constraints
Increase the acceptable video sizes from [16,4096] to [1, MAX].

See #618392
2010-05-13 12:06:41 +02:00
Sebastian Dröge
30b67cda5d video: Use simple fraction multiplication functions instead of going through GValues 2010-05-13 11:16:02 +02: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
Wim Taymans
1fdfed5cc1 sdpmessage: add new TIAS bandwidth modifier
Add TIAS modifier as specified in RFC 3890.
Do some whitespace fixes.
2010-05-07 17:17:54 +02:00
Stefan Kost
18f07f03d1 docs: be more firendly to gtk-doc limitted parsing capabilities 2010-05-06 11:34:53 +03:00
Stefan Kost
639e1ab2b5 docs: fix wrong doc markup 2010-05-06 09:42:02 +03:00
Tim-Philipp Müller
7fee2c0fe7 rtsp: weekday and month names in RTSP date string should be in C locale
Create date string using C locale weekday and month names.

Fixes #617636.
2010-05-05 13:04:25 +01:00
Thiago Santos
e879fc9ca3 tag: xmp: Adds new geo-location mappings
Adds GST_TAG_GEO_LOCATION_MOVEMENT_SPEED,
GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION and
GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION to xmp
mappings.

Tests included.
2010-05-03 14:14:25 -03:00
Thiago Santos
a20aa39fa3 tag: xmp: Adds xmp mappings for device tags
Adds xmp mappings for GST_TAG_DEVICE_MANUFACTURER and
GST_TAG_DEVICE_MODEL. Also adds tests for it.
2010-05-03 14:14:03 -03:00
Tim-Philipp Müller
00f7fbe750 rtsp: deprecate remaining base64 function now that we depend on GLib 2.20
API: deprecate gst_rtsp_base64_decode_ip(), use g_base64_decode_inplace() instead
2010-04-30 20:01:55 +01:00
Mark Nauwelaerts
ed71d802fc basertpdepayload: ensure writable metadata 2010-04-30 19:38:40 +02:00
Sebastian Dröge
25c1a331be video: API: Add GST_VIDEO_FORMAT_v308 for packed 4:4:4 YUV 2010-04-29 18:21:21 +02:00
Tim-Philipp Müller
e9431554fa 0.10.28.2 pre-release 2010-04-14 15:35:06 +01: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
Thiago Santos
818e869d70 appsrc: Be sure that metadata is writable before setting caps
Call gst_buffer_make_metadata_writable before attempting
to set caps on the buffer.
2010-04-08 07:40:29 -03:00
Tim-Philipp Müller
0ebbb98bfa docs: add gtk-doc chunks with Since: tags for new GST_VIDEO_CAPS_GRAY* API 2010-04-07 20:21:14 +01:00
Sebastian Dröge
fab97aec53 video: Fix parsing of 8-bit grayscale caps 2010-04-07 17:25:23 +02:00
Sebastian Dröge
bf8fff4e33 video: API: Add GST_VIDEO_CAPS_GRAY{8,16} 2010-04-07 17:23:22 +02:00
Sebastian Dröge
1e3a66f539 video: Add support for 8-bit and 16-bit grayscale formats 2010-04-07 17:06:36 +02:00
Wim Taymans
318fbf3310 rtspconnection: Handle closed POST socket in tunneling
Catch more socket errors.
Rework how sockets are managed in the GSource, wake up the maincontext instead
of adding/removing the sockets from the source.
Add callback for when the tunnel connection is lost. Some clients (Quicktime
Player) close the POST connection in tunneled mode and reopen the socket when
needed.

See #612915
2010-04-06 10:59:39 +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
Edward Hervey
7173d4b1c2 tagdemux: Remove unused variable 2010-04-01 13:51:13 +02: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
Tim-Philipp Müller
14063f0670 Our RIFF library depends on both the audio and tag libraries
Update rules in Makefile.am accordingly.
2010-03-30 19:29:48 +01:00
Tim-Philipp Müller
93e408bdbb gst-libs: build independent sub-directories in parallel if make -jN is used
Build those libraries that don't depend on any other gst-plugins-base
libraries in parallel if make -jN is used.
2010-03-29 10:47:31 +01:00
Tim-Philipp Müller
00aaae8189 gst-libs: specify dependencies in Makefile.am to make them explicit 2010-03-29 00:21:01 +01:00
Tim-Philipp Müller
37d000d175 xoverlay: change new set_render_rectangle() vfunc to take four arguments so we don't depend on libgstvideo
Don't make libgstinterfaces (and thus libgstaudio etc.) indirectly depend
on libgstvideo by using the GstVideoRectangle helper structure in the API,
which causes undesirable dependencies, esp. with the gobject-introspection
(people will point and laugh at us if they find out that libgstaudio
depends on libgstvideo). Instead, pass the x, y, width and height parameters
directly to the function.

Re-fixes #610249.
2010-03-28 20:21:10 +01:00
Thiago Santos
9ef1e58ccc tag: xmp: Do not remove tag from list twice
There was a but when parsing the tags that removed two tags
from the list when only one was parsed
2010-03-24 23:04:43 -03:00
Thiago Santos
f2ef0cd7b1 tag: xmp: Add some comments
Just adds some comments explaining some stuff about the
(de)serialization functions. Add myself to the copyright list too.
2010-03-24 15:42:22 -03:00
Thiago Santos
8fda870b29 tag: xmp: Adds _USER_RATING mapping for xmp
Adds a new mapping for _USER_RATING on xmp helper lib
and also adds tests for it
2010-03-24 15:34:52 -03:00
Thiago Santos
007bf4fe7c tag: xmp: Add Elevation tag mapping
Adds a mapping to the _ELEVATION tag, this is a different
mapping as it has to be mapped into exif:GPSAltitude and
exif:GPSAltitudeRef at the same time. So we needed to refactor
a little more to be able to deserialize it properly.

Now, when parsing a xmp buffer into a taglist all tags are
added to a list before being parsed so that when one of the
altitude tags are found the deserialization function can search
for its complementary tag to do the correct parsing

Fixes #613690
2010-03-24 15:34:40 -03:00
Thiago Santos
e207463582 tag: xmp: Fix off by one
Avoid ignoring single char tags, like exif:GPSAltitudeRef

Fixes #613690
2010-03-24 15:34:02 -03:00
Thiago Santos
7ebbfbd3a5 tag: xmp: Adds mappings for LATITUDE and LONGITUDE
Adds the mappings for those tags and tests
for tags serialization.

Fixes #613690
2010-03-24 15:33:16 -03:00