summaryrefslogtreecommitdiffstats
path: root/ext/metadata
diff options
context:
space:
mode:
authorDave Robillard <dave@drobilla.net>2009-07-22 14:02:16 -0400
committerDave Robillard <dave@drobilla.net>2009-07-22 14:02:16 -0400
commitef6dbf9be87af7a91a50a910f8578ce3de75846c (patch)
treeef2ba06906d155c8dee835bdaafa06d09628e8bc /ext/metadata
parentba89c9e518ded3d919461903a444799a5115c34f (diff)
parent87a97e24d4b4e63dc2fa3a3a12f9b30bfbe54368 (diff)
downloadgst-plugins-bad-ef6dbf9be87af7a91a50a910f8578ce3de75846c.tar.gz
gst-plugins-bad-ef6dbf9be87af7a91a50a910f8578ce3de75846c.tar.bz2
gst-plugins-bad-ef6dbf9be87af7a91a50a910f8578ce3de75846c.zip
Merge branch 'master' of git://anongit.freedesktop.org/gstreamer/gst-plugins-bad into fdo
Diffstat (limited to 'ext/metadata')
-rw-r--r--ext/metadata/gstbasemetadata.c6
-rw-r--r--ext/metadata/gstmetadatamux.c9
-rw-r--r--ext/metadata/metadataexif.c22
-rw-r--r--ext/metadata/metadatatags.c2
4 files changed, 28 insertions, 11 deletions
diff --git a/ext/metadata/gstbasemetadata.c b/ext/metadata/gstbasemetadata.c
index 4609013b..dd91b2aa 100644
--- a/ext/metadata/gstbasemetadata.c
+++ b/ext/metadata/gstbasemetadata.c
@@ -1151,8 +1151,8 @@ gst_base_metadata_calculate_offsets (GstBaseMetadata * base)
goto done;
}
- metadata_chunk_array_remove_zero_size (&META_DATA_INJECT_CHUNKS (base->
- metadata));
+ metadata_chunk_array_remove_zero_size (&META_DATA_INJECT_CHUNKS
+ (base->metadata));
metadata_lazy_update (base->metadata);
@@ -1420,7 +1420,7 @@ gst_base_metadata_change_state (GstElement * element, GstStateChange transition)
switch (transition) {
case GST_STATE_CHANGE_PAUSED_TO_READY:
gst_base_metadata_reset_streaming (filter);
- if (filter->state != MT_STATE_PARSED)
+ if (filter->state == MT_STATE_PARSED)
gst_base_metadata_reset_parsing (filter);
break;
default:
diff --git a/ext/metadata/gstmetadatamux.c b/ext/metadata/gstmetadatamux.c
index e6a66fa3..9ddf6ccf 100644
--- a/ext/metadata/gstmetadatamux.c
+++ b/ext/metadata/gstmetadatamux.c
@@ -418,9 +418,12 @@ gst_metadata_mux_create_chunks_from_tags (GstBaseMetadata * base)
guint8 *buf = NULL;
guint32 size = 0;
+ GST_DEBUG_OBJECT (base, "Creating chunks from tags..");
+
if (taglist) {
if (gst_base_metadata_get_option_flag (base) & META_OPT_EXIF) {
+ GST_DEBUG_OBJECT (base, "Using EXIF");
metadatamux_exif_create_chunk_from_tag_list (&buf, &size, taglist,
&filter->exif_options);
gst_base_metadata_update_inject_segment_with_new_data (base, &buf, &size,
@@ -428,12 +431,14 @@ gst_metadata_mux_create_chunks_from_tags (GstBaseMetadata * base)
}
if (gst_base_metadata_get_option_flag (base) & META_OPT_IPTC) {
+ GST_DEBUG_OBJECT (base, "Using IPTC");
metadatamux_iptc_create_chunk_from_tag_list (&buf, &size, taglist);
gst_base_metadata_update_inject_segment_with_new_data (base, &buf, &size,
MD_CHUNK_IPTC);
}
if (gst_base_metadata_get_option_flag (base) & META_OPT_XMP) {
+ GST_DEBUG_OBJECT (base, "Using XMP");
metadatamux_xmp_create_chunk_from_tag_list (&buf, &size, taglist);
gst_base_metadata_update_inject_segment_with_new_data (base, &buf, &size,
MD_CHUNK_XMP);
@@ -441,6 +446,10 @@ gst_metadata_mux_create_chunks_from_tags (GstBaseMetadata * base)
}
+ else {
+ GST_DEBUG_OBJECT (base, "Empty taglist");
+ }
+
if (buf) {
g_free (buf);
}
diff --git a/ext/metadata/metadataexif.c b/ext/metadata/metadataexif.c
index 0769dab4..1fb97d58 100644
--- a/ext/metadata/metadataexif.c
+++ b/ext/metadata/metadataexif.c
@@ -556,11 +556,13 @@ metadataparse_exif_content_foreach_entry_func (ExifEntry * entry,
MEUserData *meudata = (MEUserData *) user_data;
GType type = G_TYPE_NONE;
ExifByteOrder byte_order;
- const gchar *tag = metadataparse_exif_get_tag_from_exif (entry->tag, &type);
+ const gchar *tag;
/* We need the byte order */
if (!entry || !entry->parent || !entry->parent->parent)
return;
+
+ tag = metadataparse_exif_get_tag_from_exif (entry->tag, &type);
byte_order = exif_data_get_byte_order (entry->parent->parent);
if (metadataparse_handle_unit_tags (entry, meudata, byte_order))
@@ -694,14 +696,17 @@ metadataparse_exif_content_foreach_entry_func (ExifEntry * entry,
/* DDD - degrees */
value = (gdouble) rt->numerator / (gdouble) rt->denominator;
- GST_DEBUG ("deg: %lu / %lu", rt->numerator, rt->denominator);
+ GST_DEBUG ("deg: %lu / %lu", (gulong) rt->numerator,
+ (gulong) rt->denominator);
rt++;
/* MM - minutes and SS - seconds */
- GST_DEBUG ("min: %lu / %lu", rt->numerator, rt->denominator);
+ GST_DEBUG ("min: %lu / %lu", (gulong) rt->numerator,
+ (gulong) rt->denominator);
value += (gdouble) rt->numerator / ((gdouble) rt->denominator * 60.0);
rt++;
- GST_DEBUG ("sec: %lu / %lu", rt->numerator, rt->denominator);
+ GST_DEBUG ("sec: %lu / %lu", (gulong) rt->numerator,
+ (gulong) rt->denominator);
value +=
(gdouble) rt->numerator / ((gdouble) rt->denominator * 3600.0);
@@ -1052,21 +1057,24 @@ metadatamux_exif_for_each_tag_in_list (const GstTagList * list,
/* DDD - degrees */
rt->numerator = (gulong) v;
rt->denominator = 1;
- GST_DEBUG ("deg: %lf : %lu / %lu", v, rt->numerator, rt->denominator);
+ GST_DEBUG ("deg: %lf : %lu / %lu", v, (gulong) rt->numerator,
+ (gulong) rt->denominator);
v -= rt->numerator;
rt++;
/* MM - minutes */
rt->numerator = (gulong) (v * 60.0);
rt->denominator = 1;
- GST_DEBUG ("min: %lf : %lu / %lu", v, rt->numerator, rt->denominator);
+ GST_DEBUG ("min: %lf : %lu / %lu", v, (gulong) rt->numerator,
+ (gulong) rt->denominator);
v -= ((gdouble) rt->numerator / 60.0);
rt++;
/* SS - seconds */
rt->numerator = (gulong) (0.5 + v * 3600.0);
rt->denominator = 1;
- GST_DEBUG ("sec: %lf : %lu / %lu", v, rt->numerator, rt->denominator);
+ GST_DEBUG ("sec: %lf : %lu / %lu", v, (gulong) rt->numerator,
+ (gulong) rt->denominator);
if (entry->tag == EXIF_TAG_GPS_LONGITUDE) {
GST_DEBUG ("longitude : %lf", value);
diff --git a/ext/metadata/metadatatags.c b/ext/metadata/metadatatags.c
index 4beee172..9d25ef8f 100644
--- a/ext/metadata/metadatatags.c
+++ b/ext/metadata/metadatatags.c
@@ -316,7 +316,7 @@ metadata_tags_exif_register (void)
gst_tag_register (GST_TAG_CAPTURE_ORIENTATION, GST_TAG_FLAG_META,
G_TYPE_UINT, GST_TAG_CAPTURE_ORIENTATION,
- "The kind of light source.", NULL);
+ "The orientation of the camera.", NULL);
/*
from -100 to 100