summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2016-11-19 23:43:21 +0100
committerCarlos Garnacho <carlosg@gnome.org>2016-11-20 15:28:42 +0100
commite3aa41756b50b788732e3623cd8f2a9c8d795e4c (patch)
treeaa37dd1ee557bee1a8e2f970231919d024a44d3c
parentf39c2de2cbef9964069574eb71adb0a9512a29d6 (diff)
downloadtracker-e3aa41756b50b788732e3623cd8f2a9c8d795e4c.tar.gz
tracker-extract: Deep copy GstToc
According to gst_discoverer_info_get_toc(), it must be deep copied if you want to use it past the discoverer info lifetime.
-rw-r--r--src/tracker-extract/tracker-extract-gstreamer.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/tracker-extract/tracker-extract-gstreamer.c b/src/tracker-extract/tracker-extract-gstreamer.c
index daa712deb..081b89f40 100644
--- a/src/tracker-extract/tracker-extract-gstreamer.c
+++ b/src/tracker-extract/tracker-extract-gstreamer.c
@@ -1151,6 +1151,7 @@ discoverer_init_and_run (MetadataExtractor *extractor,
{
GstDiscovererInfo *info;
const GstTagList *discoverer_tags;
+ const GstToc *gst_toc;
GError *error = NULL;
GList *l;
gchar *required_plugins_message;
@@ -1232,9 +1233,9 @@ discoverer_init_and_run (MetadataExtractor *extractor,
}
#endif
- extractor->gst_toc = gst_discoverer_info_get_toc (info);
- if (extractor->gst_toc)
- gst_toc_ref (extractor->gst_toc);
+ gst_toc = gst_discoverer_info_get_toc (info);
+ if (gst_toc)
+ extractor->gst_toc = gst_toc_copy (gst_toc);
extractor->duration = gst_discoverer_info_get_duration (info) / GST_SECOND;