mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-04 13:32:29 +00:00
ext, gst, gst-libs, tests: update for tag list API changes
This commit is contained in:
parent
7eb0985282
commit
5ee51e47a1
21 changed files with 62 additions and 189 deletions
|
@ -1714,7 +1714,7 @@ gst_ogg_chain_new_stream (GstOggChain * chain, guint32 serialno)
|
||||||
goto init_failed;
|
goto init_failed;
|
||||||
|
|
||||||
/* FIXME: either do something with it or remove it */
|
/* FIXME: either do something with it or remove it */
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
gst_tag_list_add (list, GST_TAG_MERGE_REPLACE, GST_TAG_SERIAL, serialno,
|
gst_tag_list_add (list, GST_TAG_MERGE_REPLACE, GST_TAG_SERIAL, serialno,
|
||||||
NULL);
|
NULL);
|
||||||
gst_tag_list_free (list);
|
gst_tag_list_free (list);
|
||||||
|
@ -2406,7 +2406,7 @@ gst_ogg_demux_activate_chain (GstOggDemux * ogg, GstOggChain * chain,
|
||||||
gst_ogg_demux_send_event (ogg, event);
|
gst_ogg_demux_send_event (ogg, event);
|
||||||
|
|
||||||
gst_element_found_tags (GST_ELEMENT_CAST (ogg),
|
gst_element_found_tags (GST_ELEMENT_CAST (ogg),
|
||||||
gst_tag_list_new_full (GST_TAG_CONTAINER_FORMAT, "Ogg", NULL));
|
gst_tag_list_new (GST_TAG_CONTAINER_FORMAT, "Ogg", NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (ogg, "starting chain");
|
GST_DEBUG_OBJECT (ogg, "starting chain");
|
||||||
|
|
|
@ -461,7 +461,7 @@ extract_tags_theora (GstOggStream * pad, ogg_packet * packet)
|
||||||
(const guint8 *) "\201theora", 7, &pad->taglist);
|
(const guint8 *) "\201theora", 7, &pad->taglist);
|
||||||
|
|
||||||
if (!pad->taglist)
|
if (!pad->taglist)
|
||||||
pad->taglist = gst_tag_list_new ();
|
pad->taglist = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
if (pad->bitrate)
|
if (pad->bitrate)
|
||||||
gst_tag_list_add (pad->taglist, GST_TAG_MERGE_REPLACE,
|
gst_tag_list_add (pad->taglist, GST_TAG_MERGE_REPLACE,
|
||||||
|
@ -775,7 +775,7 @@ extract_tags_vorbis (GstOggStream * pad, ogg_packet * packet)
|
||||||
(const guint8 *) "\003vorbis", 7, &pad->taglist);
|
(const guint8 *) "\003vorbis", 7, &pad->taglist);
|
||||||
|
|
||||||
if (!pad->taglist)
|
if (!pad->taglist)
|
||||||
pad->taglist = gst_tag_list_new ();
|
pad->taglist = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
gst_tag_list_add (pad->taglist, GST_TAG_MERGE_REPLACE,
|
gst_tag_list_add (pad->taglist, GST_TAG_MERGE_REPLACE,
|
||||||
GST_TAG_ENCODER_VERSION, pad->version, NULL);
|
GST_TAG_ENCODER_VERSION, pad->version, NULL);
|
||||||
|
@ -866,7 +866,7 @@ extract_tags_count (GstOggStream * pad, ogg_packet * packet)
|
||||||
tag_list_from_vorbiscomment_packet (packet, NULL, 0, &pad->taglist);
|
tag_list_from_vorbiscomment_packet (packet, NULL, 0, &pad->taglist);
|
||||||
|
|
||||||
if (!pad->taglist)
|
if (!pad->taglist)
|
||||||
pad->taglist = gst_tag_list_new ();
|
pad->taglist = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
if (pad->bitrate)
|
if (pad->bitrate)
|
||||||
gst_tag_list_add (pad->taglist, GST_TAG_MERGE_REPLACE,
|
gst_tag_list_add (pad->taglist, GST_TAG_MERGE_REPLACE,
|
||||||
|
@ -1796,7 +1796,7 @@ extract_tags_kate (GstOggStream * pad, ogg_packet * packet)
|
||||||
g_strdelimit (language, NULL, '\0');
|
g_strdelimit (language, NULL, '\0');
|
||||||
canonical = gst_tag_get_language_code_iso_639_1 (language);
|
canonical = gst_tag_get_language_code_iso_639_1 (language);
|
||||||
if (canonical) {
|
if (canonical) {
|
||||||
list = gst_tag_list_new_full (GST_TAG_LANGUAGE_CODE, canonical, NULL);
|
list = gst_tag_list_new (GST_TAG_LANGUAGE_CODE, canonical, NULL);
|
||||||
} else {
|
} else {
|
||||||
GST_WARNING ("Unknown or invalid language code %s, ignored", language);
|
GST_WARNING ("Unknown or invalid language code %s, ignored", language);
|
||||||
}
|
}
|
||||||
|
|
|
@ -668,9 +668,7 @@ gst_ogm_parse_stream_header (GstOgmParse * ogm, const guint8 * data, guint size)
|
||||||
{
|
{
|
||||||
GstTagList *tags;
|
GstTagList *tags;
|
||||||
|
|
||||||
tags = gst_tag_list_new ();
|
tags = gst_tag_list_new (GST_TAG_SUBTITLE_CODEC, "Ogm", NULL);
|
||||||
gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_SUBTITLE_CODEC,
|
|
||||||
"Ogm", NULL);
|
|
||||||
gst_element_found_tags_for_pad (GST_ELEMENT (ogm), ogm->srcpad, tags);
|
gst_element_found_tags_for_pad (GST_ELEMENT (ogm), ogm->srcpad, tags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -769,7 +769,7 @@ theora_handle_comment_packet (GstTheoraDec * dec, ogg_packet * packet)
|
||||||
|
|
||||||
if (!list) {
|
if (!list) {
|
||||||
GST_ERROR_OBJECT (dec, "couldn't decode comments");
|
GST_ERROR_OBJECT (dec, "couldn't decode comments");
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
}
|
}
|
||||||
if (encoder) {
|
if (encoder) {
|
||||||
gst_tag_list_add (list, GST_TAG_MERGE_REPLACE,
|
gst_tag_list_add (list, GST_TAG_MERGE_REPLACE,
|
||||||
|
|
|
@ -276,6 +276,7 @@ vorbis_handle_identification_packet (GstVorbisDec * vd)
|
||||||
return GST_FLOW_OK;
|
return GST_FLOW_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FIXME 0.11: remove tag handling and let container take care of that? */
|
||||||
static GstFlowReturn
|
static GstFlowReturn
|
||||||
vorbis_handle_comment_packet (GstVorbisDec * vd, ogg_packet * packet)
|
vorbis_handle_comment_packet (GstVorbisDec * vd, ogg_packet * packet)
|
||||||
{
|
{
|
||||||
|
@ -303,7 +304,7 @@ vorbis_handle_comment_packet (GstVorbisDec * vd, ogg_packet * packet)
|
||||||
|
|
||||||
if (!vd->taglist) {
|
if (!vd->taglist) {
|
||||||
GST_ERROR_OBJECT (vd, "couldn't decode comments");
|
GST_ERROR_OBJECT (vd, "couldn't decode comments");
|
||||||
vd->taglist = gst_tag_list_new ();
|
vd->taglist = gst_tag_list_new_empty ();
|
||||||
}
|
}
|
||||||
if (encoder) {
|
if (encoder) {
|
||||||
if (encoder[0])
|
if (encoder[0])
|
||||||
|
|
|
@ -226,7 +226,7 @@ gst_vorbis_enc_start (GstAudioEncoder * enc)
|
||||||
GstVorbisEnc *vorbisenc = GST_VORBISENC (enc);
|
GstVorbisEnc *vorbisenc = GST_VORBISENC (enc);
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (enc, "start");
|
GST_DEBUG_OBJECT (enc, "start");
|
||||||
vorbisenc->tags = gst_tag_list_new ();
|
vorbisenc->tags = gst_tag_list_new_empty ();
|
||||||
vorbisenc->header_sent = FALSE;
|
vorbisenc->header_sent = FALSE;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
@ -1686,7 +1686,7 @@ gst_audio_encoder_activate (GstAudioEncoder * enc, gboolean active)
|
||||||
|
|
||||||
if (enc->priv->tags)
|
if (enc->priv->tags)
|
||||||
gst_tag_list_free (enc->priv->tags);
|
gst_tag_list_free (enc->priv->tags);
|
||||||
enc->priv->tags = gst_tag_list_new ();
|
enc->priv->tags = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
if (!enc->priv->active && klass->start)
|
if (!enc->priv->active && klass->start)
|
||||||
result = klass->start (enc);
|
result = klass->start (enc);
|
||||||
|
|
|
@ -1294,7 +1294,7 @@ gst_cdda_base_src_add_tags (GstCddaBaseSrc * src)
|
||||||
guint num_sectors;
|
guint num_sectors;
|
||||||
|
|
||||||
if (src->tracks[i].tags == NULL)
|
if (src->tracks[i].tags == NULL)
|
||||||
src->tracks[i].tags = gst_tag_list_new ();
|
src->tracks[i].tags = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
num_sectors = src->tracks[i].end - src->tracks[i].start + 1;
|
num_sectors = src->tracks[i].end - src->tracks[i].start + 1;
|
||||||
gst_cdda_base_src_convert (src, sector_format, num_sectors,
|
gst_cdda_base_src_convert (src, sector_format, num_sectors,
|
||||||
|
@ -1428,7 +1428,7 @@ gst_cdda_base_src_start (GstBaseSrc * basesrc)
|
||||||
|
|
||||||
GST_LOG_OBJECT (basesrc, "opening device %s", device);
|
GST_LOG_OBJECT (basesrc, "opening device %s", device);
|
||||||
|
|
||||||
src->tags = gst_tag_list_new ();
|
src->tags = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
ret = klass->open (src, device);
|
ret = klass->open (src, device);
|
||||||
g_free (device);
|
g_free (device);
|
||||||
|
|
|
@ -650,7 +650,7 @@ gst_riff_parse_info (GstElement * element,
|
||||||
}
|
}
|
||||||
data = gst_buffer_map (buf, &size, NULL, GST_MAP_READ);
|
data = gst_buffer_map (buf, &size, NULL, GST_MAP_READ);
|
||||||
|
|
||||||
taglist = gst_tag_list_new ();
|
taglist = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
ptr = data;
|
ptr = data;
|
||||||
left = size;
|
left = size;
|
||||||
|
|
|
@ -458,7 +458,7 @@ gst_exif_reader_init (GstExifReader * reader, gint byte_order,
|
||||||
{
|
{
|
||||||
ensure_exif_tags ();
|
ensure_exif_tags ();
|
||||||
|
|
||||||
reader->taglist = gst_tag_list_new ();
|
reader->taglist = gst_tag_list_new_empty ();
|
||||||
reader->buffer = buf;
|
reader->buffer = buf;
|
||||||
reader->base_offset = base_offset;
|
reader->base_offset = base_offset;
|
||||||
reader->byte_order = byte_order;
|
reader->byte_order = byte_order;
|
||||||
|
|
|
@ -261,7 +261,7 @@ gst_tag_list_new_from_id3v1 (const guint8 * data)
|
||||||
|
|
||||||
if (data[0] != 'T' || data[1] != 'A' || data[2] != 'G')
|
if (data[0] != 'T' || data[1] != 'A' || data[2] != 'G')
|
||||||
return NULL;
|
return NULL;
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
gst_tag_extract_id3v1_string (list, GST_TAG_TITLE, (gchar *) & data[3], 30);
|
gst_tag_extract_id3v1_string (list, GST_TAG_TITLE, (gchar *) & data[3], 30);
|
||||||
gst_tag_extract_id3v1_string (list, GST_TAG_ARTIST, (gchar *) & data[33], 30);
|
gst_tag_extract_id3v1_string (list, GST_TAG_ARTIST, (gchar *) & data[33], 30);
|
||||||
gst_tag_extract_id3v1_string (list, GST_TAG_ALBUM, (gchar *) & data[63], 30);
|
gst_tag_extract_id3v1_string (list, GST_TAG_ALBUM, (gchar *) & data[63], 30);
|
||||||
|
|
|
@ -459,7 +459,7 @@ gst_tag_list_from_vorbiscomment (const guint8 * data, gsize size,
|
||||||
g_return_val_if_fail (data != NULL, NULL);
|
g_return_val_if_fail (data != NULL, NULL);
|
||||||
g_return_val_if_fail (id_data != NULL || id_data_length == 0, NULL);
|
g_return_val_if_fail (id_data != NULL || id_data_length == 0, NULL);
|
||||||
|
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
if (size < 11 || size <= id_data_length + 4)
|
if (size < 11 || size <= id_data_length + 4)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
|
@ -1343,7 +1343,7 @@ gst_tag_list_from_xmp_buffer (GstBuffer * buffer)
|
||||||
|
|
||||||
/* no tag can be longer that the whole buffer */
|
/* no tag can be longer that the whole buffer */
|
||||||
part = g_malloc (xp2 - xp1);
|
part = g_malloc (xp2 - xp1);
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
/* parse data into a list of nodes */
|
/* parse data into a list of nodes */
|
||||||
/* data is between xp1..xp2 */
|
/* data is between xp1..xp2 */
|
||||||
|
|
|
@ -479,7 +479,7 @@ id3v2_frames_to_tag_list (ID3TagsWorking * work, guint size)
|
||||||
return FALSE; /* Must have at least one frame */
|
return FALSE; /* Must have at least one frame */
|
||||||
}
|
}
|
||||||
|
|
||||||
work->tags = gst_tag_list_new ();
|
work->tags = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
while (work->hdr.frame_data_size > frame_hdr_size) {
|
while (work->hdr.frame_data_size > frame_hdr_size) {
|
||||||
guint frame_size = 0;
|
guint frame_size = 0;
|
||||||
|
|
|
@ -1113,10 +1113,7 @@ gst_audio_test_src_fill (GstBaseSrc * basesrc, guint64 offset,
|
||||||
if (!src->tags_pushed) {
|
if (!src->tags_pushed) {
|
||||||
GstTagList *taglist;
|
GstTagList *taglist;
|
||||||
|
|
||||||
taglist = gst_tag_list_new ();
|
taglist = gst_tag_list_new (GST_TAG_DESCRIPTION, "audiotest wave", NULL);
|
||||||
|
|
||||||
gst_tag_list_add (taglist, GST_TAG_MERGE_APPEND,
|
|
||||||
GST_TAG_DESCRIPTION, "audiotest wave", NULL);
|
|
||||||
|
|
||||||
eclass = GST_ELEMENT_CLASS (parent_class);
|
eclass = GST_ELEMENT_CLASS (parent_class);
|
||||||
if (eclass->send_event)
|
if (eclass->send_event)
|
||||||
|
|
|
@ -319,7 +319,7 @@ gst_ssa_parse_chain (GstPad * sinkpad, GstBuffer * buf)
|
||||||
if (G_UNLIKELY (parse->send_tags)) {
|
if (G_UNLIKELY (parse->send_tags)) {
|
||||||
GstTagList *tags;
|
GstTagList *tags;
|
||||||
|
|
||||||
tags = gst_tag_list_new ();
|
tags = gst_tag_list_new_empty ();
|
||||||
gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_SUBTITLE_CODEC,
|
gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_SUBTITLE_CODEC,
|
||||||
"SubStation Alpha", NULL);
|
"SubStation Alpha", NULL);
|
||||||
gst_element_found_tags_for_pad (GST_ELEMENT (parse), parse->srcpad, tags);
|
gst_element_found_tags_for_pad (GST_ELEMENT (parse), parse->srcpad, tags);
|
||||||
|
|
|
@ -1461,12 +1461,9 @@ handle_buffer (GstSubParse * self, GstBuffer * buf)
|
||||||
|
|
||||||
/* push tags */
|
/* push tags */
|
||||||
if (self->subtitle_codec != NULL) {
|
if (self->subtitle_codec != NULL) {
|
||||||
GstTagList *tags;
|
gst_element_found_tags_for_pad (GST_ELEMENT (self), self->srcpad,
|
||||||
|
gst_tag_list_new (GST_TAG_SUBTITLE_CODEC, self->subtitle_codec,
|
||||||
tags = gst_tag_list_new ();
|
NULL));
|
||||||
gst_tag_list_add (tags, GST_TAG_MERGE_APPEND, GST_TAG_SUBTITLE_CODEC,
|
|
||||||
self->subtitle_codec, NULL);
|
|
||||||
gst_element_found_tags_for_pad (GST_ELEMENT (self), self->srcpad, tags);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -234,7 +234,7 @@ GST_START_TEST (test_empty_tags_set)
|
||||||
|
|
||||||
vorbistag = setup_vorbistag ();
|
vorbistag = setup_vorbistag ();
|
||||||
|
|
||||||
tags = gst_tag_list_new ();
|
tags = gst_tag_list_new_empty ();
|
||||||
gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_TITLE, "foobar", NULL);
|
gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_TITLE, "foobar", NULL);
|
||||||
gst_tag_setter_merge_tags (GST_TAG_SETTER (vorbistag), tags,
|
gst_tag_setter_merge_tags (GST_TAG_SETTER (vorbistag), tags,
|
||||||
GST_TAG_MERGE_REPLACE);
|
GST_TAG_MERGE_REPLACE);
|
||||||
|
@ -290,7 +290,7 @@ GST_START_TEST (test_filled_tags_unset)
|
||||||
|
|
||||||
vorbistag = setup_vorbistag ();
|
vorbistag = setup_vorbistag ();
|
||||||
|
|
||||||
tags = gst_tag_list_new ();
|
tags = gst_tag_list_new_empty ();
|
||||||
gst_tag_setter_merge_tags (GST_TAG_SETTER (vorbistag), tags,
|
gst_tag_setter_merge_tags (GST_TAG_SETTER (vorbistag), tags,
|
||||||
GST_TAG_MERGE_REPLACE);
|
GST_TAG_MERGE_REPLACE);
|
||||||
gst_tag_setter_set_tag_merge_mode (GST_TAG_SETTER (vorbistag),
|
gst_tag_setter_set_tag_merge_mode (GST_TAG_SETTER (vorbistag),
|
||||||
|
@ -345,7 +345,7 @@ GST_START_TEST (test_filled_tags_change)
|
||||||
|
|
||||||
vorbistag = setup_vorbistag ();
|
vorbistag = setup_vorbistag ();
|
||||||
|
|
||||||
tags = gst_tag_list_new ();
|
tags = gst_tag_list_new_empty ();
|
||||||
gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_TITLE, "foobar", NULL);
|
gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_TITLE, "foobar", NULL);
|
||||||
gst_tag_setter_merge_tags (GST_TAG_SETTER (vorbistag), tags,
|
gst_tag_setter_merge_tags (GST_TAG_SETTER (vorbistag), tags,
|
||||||
GST_TAG_MERGE_REPLACE);
|
GST_TAG_MERGE_REPLACE);
|
||||||
|
|
|
@ -428,7 +428,7 @@ GST_START_TEST (test_pb_utils_taglist_add_codec_info)
|
||||||
GstCaps *caps;
|
GstCaps *caps;
|
||||||
|
|
||||||
gst_pb_utils_init ();
|
gst_pb_utils_init ();
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
caps = gst_caps_new_empty_simple ("video/x-theora");
|
caps = gst_caps_new_empty_simple ("video/x-theora");
|
||||||
ASSERT_CRITICAL (fail_if
|
ASSERT_CRITICAL (fail_if
|
||||||
(gst_pb_utils_add_codec_description_to_tag_list (NULL,
|
(gst_pb_utils_add_codec_description_to_tag_list (NULL,
|
||||||
|
|
|
@ -185,7 +185,7 @@ GST_START_TEST (test_musicbrainz_tag_registration)
|
||||||
|
|
||||||
gst_tag_register_musicbrainz_tags ();
|
gst_tag_register_musicbrainz_tags ();
|
||||||
|
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
/* musicbrainz tags aren't registered yet */
|
/* musicbrainz tags aren't registered yet */
|
||||||
gst_vorbis_tag_add (list, "MUSICBRAINZ_TRACKID", "123456");
|
gst_vorbis_tag_add (list, "MUSICBRAINZ_TRACKID", "123456");
|
||||||
|
@ -234,7 +234,7 @@ GST_START_TEST (test_vorbis_tags)
|
||||||
{
|
{
|
||||||
GstTagList *list;
|
GstTagList *list;
|
||||||
|
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
/* NULL pointers aren't allowed */
|
/* NULL pointers aren't allowed */
|
||||||
ASSERT_CRITICAL (gst_vorbis_tag_add (NULL, "key", "value"));
|
ASSERT_CRITICAL (gst_vorbis_tag_add (NULL, "key", "value"));
|
||||||
|
@ -370,38 +370,38 @@ GST_START_TEST (test_vorbis_tags)
|
||||||
|
|
||||||
/* there can only be one language per taglist ... */
|
/* there can only be one language per taglist ... */
|
||||||
gst_tag_list_free (list);
|
gst_tag_list_free (list);
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
gst_vorbis_tag_add (list, "LANGUAGE", "fr");
|
gst_vorbis_tag_add (list, "LANGUAGE", "fr");
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "fr");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "fr");
|
||||||
|
|
||||||
gst_tag_list_free (list);
|
gst_tag_list_free (list);
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
gst_vorbis_tag_add (list, "LANGUAGE", "[fr]");
|
gst_vorbis_tag_add (list, "LANGUAGE", "[fr]");
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "fr");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "fr");
|
||||||
|
|
||||||
gst_tag_list_free (list);
|
gst_tag_list_free (list);
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
gst_vorbis_tag_add (list, "LANGUAGE", "French [fr]");
|
gst_vorbis_tag_add (list, "LANGUAGE", "French [fr]");
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "fr");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "fr");
|
||||||
|
|
||||||
gst_tag_list_free (list);
|
gst_tag_list_free (list);
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
gst_vorbis_tag_add (list, "LANGUAGE", "[eng] English");
|
gst_vorbis_tag_add (list, "LANGUAGE", "[eng] English");
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "eng");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "eng");
|
||||||
|
|
||||||
gst_tag_list_free (list);
|
gst_tag_list_free (list);
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
gst_vorbis_tag_add (list, "LANGUAGE", "eng");
|
gst_vorbis_tag_add (list, "LANGUAGE", "eng");
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "eng");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "eng");
|
||||||
|
|
||||||
gst_tag_list_free (list);
|
gst_tag_list_free (list);
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
gst_vorbis_tag_add (list, "LANGUAGE", "[eng]");
|
gst_vorbis_tag_add (list, "LANGUAGE", "[eng]");
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "eng");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "eng");
|
||||||
|
|
||||||
/* free-form *sigh* */
|
/* free-form *sigh* */
|
||||||
gst_tag_list_free (list);
|
gst_tag_list_free (list);
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
gst_vorbis_tag_add (list, "LANGUAGE", "English");
|
gst_vorbis_tag_add (list, "LANGUAGE", "English");
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "English");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LANGUAGE_CODE, "English");
|
||||||
|
|
||||||
|
@ -532,7 +532,7 @@ GST_START_TEST (test_vorbis_tags)
|
||||||
{
|
{
|
||||||
GDate *date = NULL;
|
GDate *date = NULL;
|
||||||
|
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
gst_vorbis_tag_add (list, "DATE", "2006-09-25 22:02:38");
|
gst_vorbis_tag_add (list, "DATE", "2006-09-25 22:02:38");
|
||||||
|
|
||||||
fail_unless (gst_tag_list_get_date_index (list, GST_TAG_DATE, 0, &date));
|
fail_unless (gst_tag_list_get_date_index (list, GST_TAG_DATE, 0, &date));
|
||||||
|
@ -549,7 +549,7 @@ GST_START_TEST (test_vorbis_tags)
|
||||||
{
|
{
|
||||||
GDate *date = NULL;
|
GDate *date = NULL;
|
||||||
|
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
gst_vorbis_tag_add (list, "DATE", "1992-00-00");
|
gst_vorbis_tag_add (list, "DATE", "1992-00-00");
|
||||||
|
|
||||||
fail_unless (gst_tag_list_get_date_index (list, GST_TAG_DATE, 0, &date));
|
fail_unless (gst_tag_list_get_date_index (list, GST_TAG_DATE, 0, &date));
|
||||||
|
@ -564,7 +564,7 @@ GST_START_TEST (test_vorbis_tags)
|
||||||
{
|
{
|
||||||
GDate *date = NULL;
|
GDate *date = NULL;
|
||||||
|
|
||||||
list = gst_tag_list_new ();
|
list = gst_tag_list_new_empty ();
|
||||||
gst_vorbis_tag_add (list, "DATE", "1992-05-00");
|
gst_vorbis_tag_add (list, "DATE", "1992-05-00");
|
||||||
|
|
||||||
fail_unless (gst_tag_list_get_date_index (list, GST_TAG_DATE, 0, &date));
|
fail_unless (gst_tag_list_get_date_index (list, GST_TAG_DATE, 0, &date));
|
||||||
|
@ -957,7 +957,7 @@ GST_START_TEST (test_xmp_formatting)
|
||||||
gsize len;
|
gsize len;
|
||||||
|
|
||||||
/* test data */
|
/* test data */
|
||||||
list = gst_tag_list_new_full (GST_TAG_TITLE, "test title",
|
list = gst_tag_list_new (GST_TAG_TITLE, "test title",
|
||||||
GST_TAG_DESCRIPTION, "test decription",
|
GST_TAG_DESCRIPTION, "test decription",
|
||||||
GST_TAG_KEYWORDS, "keyword1", GST_TAG_KEYWORDS, "keyword2", NULL);
|
GST_TAG_KEYWORDS, "keyword1", GST_TAG_KEYWORDS, "keyword2", NULL);
|
||||||
|
|
||||||
|
@ -1052,65 +1052,6 @@ GST_START_TEST (test_xmp_parsing)
|
||||||
|
|
||||||
GST_END_TEST;
|
GST_END_TEST;
|
||||||
|
|
||||||
static void
|
|
||||||
tag_list_equals (GstTagList * taglist, GstTagList * taglist2)
|
|
||||||
{
|
|
||||||
const gchar *name_sent, *name_recv;
|
|
||||||
const GValue *value_sent, *value_recv;
|
|
||||||
gboolean found;
|
|
||||||
gint comparison;
|
|
||||||
gint n_recv;
|
|
||||||
gint n_sent;
|
|
||||||
gint i, j;
|
|
||||||
|
|
||||||
/* verify tags */
|
|
||||||
fail_unless (taglist2 != NULL);
|
|
||||||
n_recv = gst_structure_n_fields (taglist2);
|
|
||||||
n_sent = gst_structure_n_fields (taglist);
|
|
||||||
fail_unless (n_recv == n_sent);
|
|
||||||
fail_unless (n_sent > 0);
|
|
||||||
|
|
||||||
/* FIXME: compare taglist values */
|
|
||||||
for (i = 0; i < n_sent; i++) {
|
|
||||||
name_sent = gst_structure_nth_field_name (taglist, i);
|
|
||||||
value_sent = gst_structure_get_value (taglist, name_sent);
|
|
||||||
found = FALSE;
|
|
||||||
for (j = 0; j < n_recv; j++) {
|
|
||||||
name_recv = gst_structure_nth_field_name (taglist2, j);
|
|
||||||
if (!strcmp (name_sent, name_recv)) {
|
|
||||||
value_recv = gst_structure_get_value (taglist2, name_recv);
|
|
||||||
comparison = gst_value_compare (value_sent, value_recv);
|
|
||||||
if (comparison != GST_VALUE_EQUAL) {
|
|
||||||
gchar *vs = g_strdup_value_contents (value_sent);
|
|
||||||
gchar *vr = g_strdup_value_contents (value_recv);
|
|
||||||
GST_DEBUG ("sent = %s:'%s', recv = %s:'%s'",
|
|
||||||
G_VALUE_TYPE_NAME (value_sent), vs,
|
|
||||||
G_VALUE_TYPE_NAME (value_recv), vr);
|
|
||||||
g_free (vs);
|
|
||||||
g_free (vr);
|
|
||||||
}
|
|
||||||
if (comparison != GST_VALUE_EQUAL &&
|
|
||||||
G_VALUE_HOLDS (value_sent, G_TYPE_DOUBLE)) {
|
|
||||||
gdouble vs;
|
|
||||||
gdouble vr;
|
|
||||||
|
|
||||||
/* add some tolerance for doubles */
|
|
||||||
vs = g_value_get_double (value_sent);
|
|
||||||
vr = g_value_get_double (value_recv);
|
|
||||||
if (vr >= vs - 0.001 && vr <= vs + 0.001)
|
|
||||||
comparison = GST_VALUE_EQUAL;
|
|
||||||
}
|
|
||||||
fail_unless (comparison == GST_VALUE_EQUAL,
|
|
||||||
"tag item %s has been received with different type or value",
|
|
||||||
name_sent);
|
|
||||||
found = TRUE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fail_unless (found, "tag item %s is lost", name_sent);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
do_xmp_tag_serialization_deserialization (GstTagList * taglist,
|
do_xmp_tag_serialization_deserialization (GstTagList * taglist,
|
||||||
const gchar ** schemas)
|
const gchar ** schemas)
|
||||||
|
@ -1121,7 +1062,7 @@ do_xmp_tag_serialization_deserialization (GstTagList * taglist,
|
||||||
buf = gst_tag_list_to_xmp_buffer_full (taglist, TRUE, schemas);
|
buf = gst_tag_list_to_xmp_buffer_full (taglist, TRUE, schemas);
|
||||||
taglist2 = gst_tag_list_from_xmp_buffer (buf);
|
taglist2 = gst_tag_list_from_xmp_buffer (buf);
|
||||||
|
|
||||||
tag_list_equals (taglist, taglist2);
|
fail_unless (gst_tag_list_is_equal (taglist, taglist2));
|
||||||
|
|
||||||
gst_buffer_unref (buf);
|
gst_buffer_unref (buf);
|
||||||
gst_tag_list_free (taglist2);
|
gst_tag_list_free (taglist2);
|
||||||
|
@ -1131,7 +1072,7 @@ static void
|
||||||
do_simple_xmp_tag_serialization_deserialization (const gchar * gsttag,
|
do_simple_xmp_tag_serialization_deserialization (const gchar * gsttag,
|
||||||
GValue * value)
|
GValue * value)
|
||||||
{
|
{
|
||||||
GstTagList *taglist = gst_tag_list_new ();
|
GstTagList *taglist = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
gst_tag_list_add_value (taglist, GST_TAG_MERGE_REPLACE, gsttag, value);
|
gst_tag_list_add_value (taglist, GST_TAG_MERGE_REPLACE, gsttag, value);
|
||||||
|
|
||||||
|
@ -1323,7 +1264,7 @@ GST_END_TEST;
|
||||||
GST_START_TEST (test_xmp_compound_tags)
|
GST_START_TEST (test_xmp_compound_tags)
|
||||||
{
|
{
|
||||||
const gchar *schemas[] = { "Iptc4xmpExt", NULL };
|
const gchar *schemas[] = { "Iptc4xmpExt", NULL };
|
||||||
GstTagList *taglist = gst_tag_list_new ();
|
GstTagList *taglist = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
gst_tag_list_add (taglist, GST_TAG_MERGE_APPEND, GST_TAG_KEYWORDS, "k1",
|
gst_tag_list_add (taglist, GST_TAG_MERGE_APPEND, GST_TAG_KEYWORDS, "k1",
|
||||||
GST_TAG_KEYWORDS, "k2", GST_TAG_TITLE, "title", GST_TAG_KEYWORDS, "k3",
|
GST_TAG_KEYWORDS, "k2", GST_TAG_TITLE, "title", GST_TAG_KEYWORDS, "k3",
|
||||||
|
@ -1331,7 +1272,7 @@ GST_START_TEST (test_xmp_compound_tags)
|
||||||
do_xmp_tag_serialization_deserialization (taglist, NULL);
|
do_xmp_tag_serialization_deserialization (taglist, NULL);
|
||||||
gst_tag_list_free (taglist);
|
gst_tag_list_free (taglist);
|
||||||
|
|
||||||
taglist = gst_tag_list_new ();
|
taglist = gst_tag_list_new_empty ();
|
||||||
gst_tag_list_add (taglist, GST_TAG_MERGE_APPEND, GST_TAG_GEO_LOCATION_COUNTRY,
|
gst_tag_list_add (taglist, GST_TAG_MERGE_APPEND, GST_TAG_GEO_LOCATION_COUNTRY,
|
||||||
"Brazil", GST_TAG_GEO_LOCATION_CITY, "Campina Grande", NULL);
|
"Brazil", GST_TAG_GEO_LOCATION_CITY, "Campina Grande", NULL);
|
||||||
do_xmp_tag_serialization_deserialization (taglist, schemas);
|
do_xmp_tag_serialization_deserialization (taglist, schemas);
|
||||||
|
@ -1346,7 +1287,7 @@ GST_START_TEST (test_exif_parsing)
|
||||||
GstTagList *taglist;
|
GstTagList *taglist;
|
||||||
GstBuffer *buf;
|
GstBuffer *buf;
|
||||||
GstByteWriter writer;
|
GstByteWriter writer;
|
||||||
const gchar *str;
|
const gchar *str = NULL;
|
||||||
|
|
||||||
gst_byte_writer_init (&writer);
|
gst_byte_writer_init (&writer);
|
||||||
|
|
||||||
|
@ -1371,11 +1312,9 @@ GST_START_TEST (test_exif_parsing)
|
||||||
|
|
||||||
taglist = gst_tag_list_from_exif_buffer (buf, G_LITTLE_ENDIAN, 8);
|
taglist = gst_tag_list_from_exif_buffer (buf, G_LITTLE_ENDIAN, 8);
|
||||||
|
|
||||||
fail_unless (gst_structure_n_fields (taglist) == 1);
|
fail_unless (gst_tag_list_get_tag_size (taglist, GST_TAG_COPYRIGHT) == 1);
|
||||||
fail_unless (gst_structure_has_field_typed (taglist, GST_TAG_COPYRIGHT,
|
gst_tag_list_peek_string_index (taglist, GST_TAG_COPYRIGHT, 0, &str);
|
||||||
G_TYPE_STRING));
|
fail_unless_equals_string (str, "my copyright");
|
||||||
str = gst_structure_get_string (taglist, GST_TAG_COPYRIGHT);
|
|
||||||
fail_unless (strcmp (str, "my copyright") == 0);
|
|
||||||
|
|
||||||
gst_tag_list_free (taglist);
|
gst_tag_list_free (taglist);
|
||||||
gst_buffer_unref (buf);
|
gst_buffer_unref (buf);
|
||||||
|
@ -1395,7 +1334,7 @@ do_exif_tag_serialization_deserialization (GstTagList * taglist)
|
||||||
taglist2 = gst_tag_list_from_exif_buffer (buf, G_LITTLE_ENDIAN, 0);
|
taglist2 = gst_tag_list_from_exif_buffer (buf, G_LITTLE_ENDIAN, 0);
|
||||||
gst_buffer_unref (buf);
|
gst_buffer_unref (buf);
|
||||||
|
|
||||||
tag_list_equals (taglist, taglist2);
|
fail_unless (gst_tag_list_is_equal (taglist, taglist2));
|
||||||
gst_tag_list_free (taglist2);
|
gst_tag_list_free (taglist2);
|
||||||
|
|
||||||
/* BE */
|
/* BE */
|
||||||
|
@ -1403,7 +1342,7 @@ do_exif_tag_serialization_deserialization (GstTagList * taglist)
|
||||||
taglist2 = gst_tag_list_from_exif_buffer (buf, G_BIG_ENDIAN, 0);
|
taglist2 = gst_tag_list_from_exif_buffer (buf, G_BIG_ENDIAN, 0);
|
||||||
gst_buffer_unref (buf);
|
gst_buffer_unref (buf);
|
||||||
|
|
||||||
tag_list_equals (taglist, taglist2);
|
fail_unless (gst_tag_list_is_equal (taglist, taglist2));
|
||||||
gst_tag_list_free (taglist2);
|
gst_tag_list_free (taglist2);
|
||||||
|
|
||||||
/* APP1 */
|
/* APP1 */
|
||||||
|
@ -1411,7 +1350,7 @@ do_exif_tag_serialization_deserialization (GstTagList * taglist)
|
||||||
taglist2 = gst_tag_list_from_exif_buffer_with_tiff_header (buf);
|
taglist2 = gst_tag_list_from_exif_buffer_with_tiff_header (buf);
|
||||||
gst_buffer_unref (buf);
|
gst_buffer_unref (buf);
|
||||||
|
|
||||||
tag_list_equals (taglist, taglist2);
|
fail_unless (gst_tag_list_is_equal (taglist, taglist2));
|
||||||
gst_tag_list_free (taglist2);
|
gst_tag_list_free (taglist2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1419,7 +1358,7 @@ static void
|
||||||
do_simple_exif_tag_serialization_deserialization (const gchar * gsttag,
|
do_simple_exif_tag_serialization_deserialization (const gchar * gsttag,
|
||||||
GValue * value)
|
GValue * value)
|
||||||
{
|
{
|
||||||
GstTagList *taglist = gst_tag_list_new ();
|
GstTagList *taglist = gst_tag_list_new_empty ();
|
||||||
|
|
||||||
gst_tag_list_add_value (taglist, GST_TAG_MERGE_REPLACE, gsttag, value);
|
gst_tag_list_add_value (taglist, GST_TAG_MERGE_REPLACE, gsttag, value);
|
||||||
do_exif_tag_serialization_deserialization (taglist);
|
do_exif_tag_serialization_deserialization (taglist);
|
||||||
|
@ -1438,7 +1377,7 @@ GST_START_TEST (test_exif_multiple_tags)
|
||||||
|
|
||||||
gst_tag_register_musicbrainz_tags ();
|
gst_tag_register_musicbrainz_tags ();
|
||||||
|
|
||||||
taglist = gst_tag_list_new_full (GST_TAG_ARTIST, "artist",
|
taglist = gst_tag_list_new (GST_TAG_ARTIST, "artist",
|
||||||
GST_TAG_DEVICE_MANUFACTURER, "make",
|
GST_TAG_DEVICE_MANUFACTURER, "make",
|
||||||
GST_TAG_DEVICE_MODEL, "model", GST_TAG_GEO_LOCATION_LATITUDE, 45.5,
|
GST_TAG_DEVICE_MODEL, "model", GST_TAG_GEO_LOCATION_LATITUDE, 45.5,
|
||||||
GST_TAG_GEO_LOCATION_LONGITUDE, -10.25,
|
GST_TAG_GEO_LOCATION_LONGITUDE, -10.25,
|
||||||
|
@ -1806,22 +1745,22 @@ GST_START_TEST (test_exif_tags_serialization_deserialization)
|
||||||
|
|
||||||
/* flash is a little bit more tricky, because 2 tags are merged into 1 in
|
/* flash is a little bit more tricky, because 2 tags are merged into 1 in
|
||||||
* exif */
|
* exif */
|
||||||
taglist = gst_tag_list_new_full (GST_TAG_CAPTURING_FLASH_FIRED, FALSE,
|
taglist = gst_tag_list_new (GST_TAG_CAPTURING_FLASH_FIRED, FALSE,
|
||||||
GST_TAG_CAPTURING_FLASH_MODE, "auto", NULL);
|
GST_TAG_CAPTURING_FLASH_MODE, "auto", NULL);
|
||||||
do_exif_tag_serialization_deserialization (taglist);
|
do_exif_tag_serialization_deserialization (taglist);
|
||||||
gst_tag_list_free (taglist);
|
gst_tag_list_free (taglist);
|
||||||
|
|
||||||
taglist = gst_tag_list_new_full (GST_TAG_CAPTURING_FLASH_FIRED, TRUE,
|
taglist = gst_tag_list_new (GST_TAG_CAPTURING_FLASH_FIRED, TRUE,
|
||||||
GST_TAG_CAPTURING_FLASH_MODE, "auto", NULL);
|
GST_TAG_CAPTURING_FLASH_MODE, "auto", NULL);
|
||||||
do_exif_tag_serialization_deserialization (taglist);
|
do_exif_tag_serialization_deserialization (taglist);
|
||||||
gst_tag_list_free (taglist);
|
gst_tag_list_free (taglist);
|
||||||
|
|
||||||
taglist = gst_tag_list_new_full (GST_TAG_CAPTURING_FLASH_FIRED, FALSE,
|
taglist = gst_tag_list_new (GST_TAG_CAPTURING_FLASH_FIRED, FALSE,
|
||||||
GST_TAG_CAPTURING_FLASH_MODE, "never", NULL);
|
GST_TAG_CAPTURING_FLASH_MODE, "never", NULL);
|
||||||
do_exif_tag_serialization_deserialization (taglist);
|
do_exif_tag_serialization_deserialization (taglist);
|
||||||
gst_tag_list_free (taglist);
|
gst_tag_list_free (taglist);
|
||||||
|
|
||||||
taglist = gst_tag_list_new_full (GST_TAG_CAPTURING_FLASH_FIRED, TRUE,
|
taglist = gst_tag_list_new (GST_TAG_CAPTURING_FLASH_FIRED, TRUE,
|
||||||
GST_TAG_CAPTURING_FLASH_MODE, "always", NULL);
|
GST_TAG_CAPTURING_FLASH_MODE, "always", NULL);
|
||||||
do_exif_tag_serialization_deserialization (taglist);
|
do_exif_tag_serialization_deserialization (taglist);
|
||||||
gst_tag_list_free (taglist);
|
gst_tag_list_free (taglist);
|
||||||
|
|
|
@ -76,65 +76,6 @@ test_element_init (TestElement * this)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
tag_list_equals (GstTagList * taglist, GstTagList * taglist2)
|
|
||||||
{
|
|
||||||
const gchar *name_sent, *name_recv;
|
|
||||||
const GValue *value_sent, *value_recv;
|
|
||||||
gboolean found;
|
|
||||||
gint comparison;
|
|
||||||
gint n_recv;
|
|
||||||
gint n_sent;
|
|
||||||
gint i, j;
|
|
||||||
|
|
||||||
/* verify tags */
|
|
||||||
fail_unless (taglist2 != NULL);
|
|
||||||
n_recv = gst_structure_n_fields (taglist2);
|
|
||||||
n_sent = gst_structure_n_fields (taglist);
|
|
||||||
fail_unless (n_recv == n_sent);
|
|
||||||
fail_unless (n_sent > 0);
|
|
||||||
|
|
||||||
/* FIXME: compare taglist values */
|
|
||||||
for (i = 0; i < n_sent; i++) {
|
|
||||||
name_sent = gst_structure_nth_field_name (taglist, i);
|
|
||||||
value_sent = gst_structure_get_value (taglist, name_sent);
|
|
||||||
found = FALSE;
|
|
||||||
for (j = 0; j < n_recv; j++) {
|
|
||||||
name_recv = gst_structure_nth_field_name (taglist2, j);
|
|
||||||
if (!strcmp (name_sent, name_recv)) {
|
|
||||||
value_recv = gst_structure_get_value (taglist2, name_recv);
|
|
||||||
comparison = gst_value_compare (value_sent, value_recv);
|
|
||||||
if (comparison != GST_VALUE_EQUAL) {
|
|
||||||
gchar *vs = g_strdup_value_contents (value_sent);
|
|
||||||
gchar *vr = g_strdup_value_contents (value_recv);
|
|
||||||
GST_DEBUG ("sent = %s:'%s', recv = %s:'%s'",
|
|
||||||
G_VALUE_TYPE_NAME (value_sent), vs,
|
|
||||||
G_VALUE_TYPE_NAME (value_recv), vr);
|
|
||||||
g_free (vs);
|
|
||||||
g_free (vr);
|
|
||||||
}
|
|
||||||
if (comparison != GST_VALUE_EQUAL &&
|
|
||||||
G_VALUE_HOLDS (value_sent, G_TYPE_DOUBLE)) {
|
|
||||||
gdouble vs;
|
|
||||||
gdouble vr;
|
|
||||||
|
|
||||||
/* add some tolerance for doubles */
|
|
||||||
vs = g_value_get_double (value_sent);
|
|
||||||
vr = g_value_get_double (value_recv);
|
|
||||||
if (vr >= vs - 0.001 && vr <= vs + 0.001)
|
|
||||||
comparison = GST_VALUE_EQUAL;
|
|
||||||
}
|
|
||||||
fail_unless (comparison == GST_VALUE_EQUAL,
|
|
||||||
"tag item %s has been received with different type or value",
|
|
||||||
name_sent);
|
|
||||||
found = TRUE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fail_unless (found, "tag item %s is lost", name_sent);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gst_buffer_equals (GstBuffer * buf_a, GstBuffer * buf_b)
|
gst_buffer_equals (GstBuffer * buf_a, GstBuffer * buf_b)
|
||||||
{
|
{
|
||||||
|
@ -159,7 +100,7 @@ gst_buffer_equals (GstBuffer * buf_a, GstBuffer * buf_b)
|
||||||
static GstTagList *
|
static GstTagList *
|
||||||
create_taglist (void)
|
create_taglist (void)
|
||||||
{
|
{
|
||||||
return gst_tag_list_new_full (GST_TAG_ARTIST, "artist",
|
return gst_tag_list_new (GST_TAG_ARTIST, "artist",
|
||||||
GST_TAG_TITLE, "title", GST_TAG_COPYRIGHT, "copyright", NULL);
|
GST_TAG_TITLE, "title", GST_TAG_COPYRIGHT, "copyright", NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -213,7 +154,7 @@ GST_START_TEST (test_disable)
|
||||||
GstBuffer *buf;
|
GstBuffer *buf;
|
||||||
const gchar *str;
|
const gchar *str;
|
||||||
|
|
||||||
taglist = gst_tag_list_new_full (GST_TAG_ARTIST, "artist", NULL);
|
taglist = gst_tag_list_new (GST_TAG_ARTIST, "artist", NULL);
|
||||||
|
|
||||||
/* add a tag that is mapped on xmp schema (as of Mar, 21th 2011) */
|
/* add a tag that is mapped on xmp schema (as of Mar, 21th 2011) */
|
||||||
gst_tag_list_add (taglist, GST_TAG_MERGE_REPLACE, GST_TAG_USER_RATING, 5,
|
gst_tag_list_add (taglist, GST_TAG_MERGE_REPLACE, GST_TAG_USER_RATING, 5,
|
||||||
|
@ -223,7 +164,7 @@ GST_START_TEST (test_disable)
|
||||||
gst_tag_xmp_writer_tag_list_to_xmp_buffer (GST_TAG_XMP_WRITER
|
gst_tag_xmp_writer_tag_list_to_xmp_buffer (GST_TAG_XMP_WRITER
|
||||||
(test_element), taglist, TRUE);
|
(test_element), taglist, TRUE);
|
||||||
taglist2 = gst_tag_list_from_xmp_buffer (buf);
|
taglist2 = gst_tag_list_from_xmp_buffer (buf);
|
||||||
tag_list_equals (taglist, taglist2);
|
fail_unless (gst_tag_list_is_equal (taglist, taglist2));
|
||||||
gst_tag_list_free (taglist2);
|
gst_tag_list_free (taglist2);
|
||||||
gst_buffer_unref (buf);
|
gst_buffer_unref (buf);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue