diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/dv/gstdvdemux.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ext/dv/gstdvdemux.c b/ext/dv/gstdvdemux.c index 352283a9a..be9964771 100644 --- a/ext/dv/gstdvdemux.c +++ b/ext/dv/gstdvdemux.c @@ -303,6 +303,8 @@ gst_dvdemux_add_pad (GstDVDemux * dvdemux, GstStaticPadTemplate * template, GstPad *pad; GstEvent *event; gchar *stream_id; + gchar rec_datetime[40]; + GstDateTime *rec_dt; pad = gst_pad_new_from_static_template (template, template->name_template); @@ -341,6 +343,16 @@ gst_dvdemux_add_pad (GstDVDemux * dvdemux, GstStaticPadTemplate * template, tags = gst_tag_list_new (GST_TAG_CONTAINER_FORMAT, "DV", NULL); gst_tag_list_set_scope (tags, GST_TAG_SCOPE_GLOBAL); + + if (dv_get_recording_datetime (dvdemux->decoder, rec_datetime)) { + rec_dt = gst_date_time_new_from_iso8601_string (rec_datetime); + if (rec_dt) { + gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_DATE_TIME, + rec_dt, NULL); + gst_date_time_unref (rec_dt); + } + } + if (dvdemux->videosrcpad) gst_pad_push_event (dvdemux->videosrcpad, gst_event_new_tag (gst_tag_list_ref (tags))); |