Commit graph

107 commits

Author SHA1 Message Date
Thiago Santos 9c5f791a34 tag: exif: Adds flash tags mapping
Adds a mapping for GST_TAG_CAPTURING_FLASH_FIRED/_MODE to
the exif Flash tag.

Tests included.
2010-08-25 08:36:59 -03:00
Thiago Santos ac361dcc3a tag: exif: More photography mappings
Adds mappings from:
GST_TAG_CAPTURING_EXPOSURE_PROGRAM -> ExposureProgram
GST_TAG_CAPTURING_EXPOSURE_MODE -> ExposureMode
GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE -> SceneCaptureType
GST_TAG_CAPTURING_GAIN_ADJUSTMENT -> GainControl
GST_TAG_CAPTURING_WHITE_BALANCE -> WhiteBalance
GST_TAG_CAPTURING_CONTRAST -> Constrast
GST_TAG_CAPTURING_SATURATION -> Saturation

Also renames gst_tag_image_orientation_from_exif_value and
gst_tag_image_orientation_to_exif_value to remove the 'gst'
prefix and not including in the win32 defs.

Tests included.
2010-08-25 08:32:19 -03:00
Thiago Santos 10d680b74d tag: exif: Adds photography tags mappings
Adds the following mappings for the exif helper:
* GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO -> DigitalZoomRatio
* GST_TAG_CAPTURING_FOCAL_LENGTH -> FocalLength
* GST_TAG_CAPTURING_SHUTTER_SPEED -> ExposureTime, ShutterSpeedValue
* GST_TAG_CAPTURING_FOCAL_RATIO -> FNumber, ApertureValue
* GST_TAG_CAPTURING_ISO_SPEED -> ISOSpeed, PhotographicSensitivity

Tests included.
2010-08-24 22:24:36 -03:00
Thiago Santos 57013ae63e tag: exif: Adds mapping for GST_TAG_APPLICATION_DATA
Adds mapping for GST_TAG_APPLICATION_DATA to the exif
'maker-note' tag.
2010-08-24 22:20:48 -03: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 f600b510fe tests: tag: Test to try to serialize multiple exif tags
Adds a new test for exif data that tries serializing data
from multiple ifd tables and check if it works.
2010-08-09 18:03: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
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
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 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 4418dc9cdf tests: tag: Adds unit tests for exif helper lib
Adds some simple unit tests for exif helper lib functions

Fixes #614872
2010-06-09 16:26:42 -03:00
Sebastian Dröge 60f992707f video: Fix unit test, the Y800 checks were not used before and were not working 2010-06-08 11:02:08 +02: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
Thiago Santos 390b719e96 tests: tag: Refactor a bit
Refactor xmp tags unit tests and remove an useless assertion.

This will make easier to add unit tests to serialize/deserialize
taglists.
2010-04-04 22:34:19 -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 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
Benjamin Otte 3bd4aa26ff Add -Wwrite-strings to configure
Fixes for the code included
2010-03-16 17:41:51 +01:00
Benjamin Otte 5e21fa5e0e gst_element_class_set_details => gst_element_class_set_details_simple
Also change my email from the old university one to the current one.
2010-03-16 17:41:50 +01:00
Benjamin Otte 43b1683421 Add -Wmissing-declarations -Wmissing-prototypes to warning flags
Includes all the fixes necessary to make stuff compile again.
2010-03-11 13:50:31 +01:00
Stefan Kost 8551c49ff9 tags: add basic xmp metadata support
XMP metadata can be embedded in many media container formats. Implement own
parser and formatter that can be used to convert between an xpacket and a
GstTagList. Add unit tests.
2010-03-11 10:52:56 +02:00
Tim-Philipp Müller fc73a73f0a checks: some more testing for the new language code functions 2009-12-13 18:42:11 +00:00
Tim-Philipp Müller 088c7c07a2 tag: add some utility functions for language codes and tags
Add some utility functions for language tags and ISO-639
codes. These are useful for both GUIs and elements. The
iso-codes package is used for language name translations
if available.

API: gst_tag_get_language_codes()
API: gst_tag_get_language_name()
API: gst_tag_get_language_code()
API: gst_tag_get_language_code_iso_639_1()
API: gst_tag_get_language_code_iso_639_2B()
API: gst_tag_get_language_code_iso_639_2T()
2009-12-12 15:48:37 +00:00
Jan Schmidt 36711ab477 video: Add functions to create/parse still frame events.
Add a new video event to mark the start or end of a still-frame
sequence, and a parser function to identify and extract info from
such events.
API: gst_video_event_new_still_frame()
API: gst_video_event_parse_still_frame()

Fixes: #601942
2009-11-18 00:10:57 +00:00
Sebastian Dröge d086c05c1f cddabasesrc: Add unit test for property settings
Also includes a regression test for bug #601104.
2009-11-09 18:12:15 +01:00
Benjamin Otte 4db9487a1f tests/check/libs/video.c: Update strides for Y41B 2009-10-07 11:49:18 +02:00
Sebastian Dröge 901dbc6ab4 cddabasesrc: Fix string leaks in the unit test and a leak in cddabasesrc 2009-09-17 17:00:10 +02:00
Jonathan Matthew 6781c4c9c5 cddabasesrc: ignore URI fragments that look like device paths
Rhythmbox uses cdda:// URIs of the form cdda://track#device, which
worked before the fix for bug #321532.

Also adds a check for negative track numbers and some unit tests for URI
parsing.

Fixes bug #595454.
2009-09-17 17:00:10 +02:00
Wim Taymans 66c388a0e0 rtp: add bufferlist support 2009-06-18 18:51:04 +02:00
Tim-Philipp Müller 8efe6108c4 cddabasesrc: fix posting of discid tags after MERGE_MODE_REPLACE_ALL changes in core
Don't use REPLACE_ALL merge mode when that's not really what we want,
as now that REPLACE_ALL actually does what it's supposed to do in
core, we drop tags we wanted to keep, such as the various disc id
tags. Add unit test for this as well. Fixes #579463.
2009-04-19 18:15:28 +01:00
Jan Schmidt a8e3b4cacb check: Add GST_VIDEO_FORMAT_YVYU to the test so it passes. 2009-04-16 00:41:42 +01:00
Jan Schmidt 033e654172 navigation: Extend the navigation interface
Add support for a set of standard commands that can be queried and executed to
support applications like DVD. Add query construction and parsing functions.
Add new messages that can be sent on the bus to provide notifications related
to commands, multiangle changes, and button highlight activity.
Add some helper functions to parse the existing GstNavigation events that
elements might receive.
Document it all and add unit tests.
2009-04-02 12:21:18 +01:00
Sebastian Dröge f14015567b Correctly cast to GstBuffer * before passing to gst_buffer_(copy|unref) 2009-02-22 19:20:40 +01:00
Edward Hervey 83fe624025 tests: Fix indentation 2009-02-22 13:43:35 +01:00
Tim-Philipp Müller 95d6fb0501 pbutils: remove duplicate detail strings when calling the external codec installer
It doesn't make sense to ask installers for the same codec or element twice, so filter out duplicate requests before calling the external helper script and make the unit test check this works right. Fixes #567636.
2009-02-02 17:34:23 +00: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
Edward Hervey c5ae184910 gst-libs/gst/cdda/gstcddabasesrc.c: Remove erroneous gst_buffer_ref().
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_handle_event):
Remove erroneous gst_buffer_ref().
* tests/check/libs/rtp.c: (GST_START_TEST):
Don't forget to unref the buffer once you're done with it.
2008-12-12 19:41:28 +00: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
Stefan Kost 54acaa5706 Use new geo location tags from core. Fixes #481169
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c:
* tests/check/libs/tag.c:
Use new geo location tags from core. Fixes #481169
2008-09-02 06:37:04 +00:00
Sebastian Dröge 0de81029c8 API: Make gst_audio_check_channel_positions() public.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions):
* gst-libs/gst/audio/multichannel.h:
API: Make gst_audio_check_channel_positions() public.
* tests/check/libs/audio.c: (GST_START_TEST):
Add some simple checks for gst_audio_check_channel_positions().
2008-06-03 08:48:32 +00:00
Tim-Philipp Müller 5ce4d71f82 tests/check/libs/video.c: More checks.
Original commit message from CVS:
* tests/check/libs/video.c:
More checks.
2008-05-26 10:26:00 +00:00
Wim Taymans c6b54c3d02 Don't use bad gst_element_get_pad().
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind):
* gst/playback/decodetest.c: (new_decoded_pad_cb):
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(try_to_link_1), (elem_is_dynamic), (close_link), (type_found),
(cleanup_decodebin):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_init),
(connect_element), (gst_decode_group_control_demuxer_pad):
* gst/playback/gstplaybasebin.c: (queue_remove_probe),
(queue_out_of_data), (gen_preroll_element), (preroll_unlinked),
(mute_group_type):
* gst/playback/gstplaybin.c: (gst_play_bin_vis_blocked),
(gst_play_bin_set_property), (handoff), (gen_video_element),
(gen_text_element), (gen_audio_element), (gen_vis_element),
(remove_sinks), (add_sink), (setup_sinks):
* gst/playback/gstplaybin2.c: (pad_added_cb), (no_more_pads_cb):
* gst/playback/gstplaysink.c: (gst_play_sink_get_video_sink),
(gst_play_sink_get_audio_sink), (gst_play_sink_vis_unblocked),
(gst_play_sink_vis_blocked), (gst_play_sink_set_vis_plugin),
(gst_play_sink_get_vis_plugin), (gst_play_sink_set_mute),
(gen_video_chain), (gen_text_chain), (gen_audio_chain),
(gen_vis_chain), (gst_play_sink_reconfigure),
(gst_play_sink_set_font_desc), (gst_play_sink_get_font_desc),
(gst_play_sink_request_pad):
* gst/playback/gsturidecodebin.c: (type_found), (setup_source):
* gst/playback/test.c: (gen_video_element), (gen_audio_element),
(cb_newpad):
* gst/playback/test6.c: (new_decoded_pad_cb):
* tests/check/elements/audioconvert.c: (GST_START_TEST):
* tests/check/elements/audiorate.c: (test_injector_chain),
(do_perfect_stream_test):
* tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST):
* tests/check/elements/gdpdepay.c: (GST_START_TEST):
* tests/check/elements/gnomevfssink.c:
* tests/check/elements/textoverlay.c:
(notgst_check_setup_src_pad2), (notgst_check_teardown_src_pad2):
* tests/check/elements/videotestsrc.c: (GST_START_TEST):
* tests/check/libs/cddabasesrc.c: (GST_START_TEST):
* tests/check/pipelines/oggmux.c: (test_pipeline):
* tests/check/pipelines/streamheader.c: (GST_START_TEST):
* tests/check/pipelines/theoraenc.c: (GST_START_TEST):
* tests/check/pipelines/vorbisenc.c: (GST_START_TEST):
* tests/examples/seek/scrubby.c: (make_wav_pipeline):
* tests/examples/seek/seek.c: (make_mod_pipeline),
(make_dv_pipeline), (make_wav_pipeline), (make_flac_pipeline),
(make_sid_pipeline), (make_parse_pipeline), (make_vorbis_pipeline),
(make_theora_pipeline), (make_vorbis_theora_pipeline),
(make_avi_msmpeg4v3_mp3_pipeline), (make_mp3_pipeline),
(make_avi_pipeline), (make_mpeg_pipeline), (make_mpegnt_pipeline),
(update_fill), (msg_buffering):
Don't use bad gst_element_get_pad().
2008-05-21 16:36:50 +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
Tim-Philipp Müller 96a3780816 gst-libs/gst/video/video.c: Add guards to these functions to ensure sane input values.
Original commit message from CVS:
* gst-libs/gst/video/video.c: (gst_video_format_new_caps),
(gst_video_format_to_fourcc), (gst_video_format_get_row_stride),
(gst_video_format_get_pixel_stride),
(gst_video_format_get_component_width),
(gst_video_format_get_component_height),
(gst_video_format_get_component_offset), (gst_video_format_get_size),
(gst_video_format_convert):
Add guards to these functions to ensure sane input values.
* tests/check/libs/video.c:
Fix unit test not to create caps with width=0 and height=0.
2008-04-11 17:13:52 +00:00
Tim-Philipp Müller a0de863603 gst-libs/gst/video/video.c: Fix gst_video_format_parse_caps() for RGB caps with alpha channel (#522635).
Original commit message from CVS:
* gst-libs/gst/video/video.c: (gst_video_format_parse_caps),
(gst_video_format_from_rgba32_masks):
Fix gst_video_format_parse_caps() for RGB caps with alpha channel
(#522635).
* tests/check/libs/video.c: (test_parse_caps_rgb), (video_suite):
Add unit test for the RGB caps parsing and creation, checking for
internal consistency of the new API and consistency of the API with
the old GST_VIDEO_CAPS_* defines.
2008-03-17 10:32:28 +00:00