Hello community,

here is the log from the commit of package gstreamer-transcoder for 
openSUSE:Factory checked in at 2018-10-04 19:00:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-transcoder (Old)
 and      /work/SRC/openSUSE:Factory/.gstreamer-transcoder.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gstreamer-transcoder"

Thu Oct  4 19:00:40 2018 rev:10 rq:638665 version:1.14.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gstreamer-transcoder/gstreamer-transcoder.changes    
    2018-06-27 10:22:51.880879619 +0200
+++ 
/work/SRC/openSUSE:Factory/.gstreamer-transcoder.new/gstreamer-transcoder.changes
   2018-10-04 19:00:41.827253518 +0200
@@ -1,0 +2,9 @@
+Wed Sep 26 22:36:00 UTC 2018 - bjorn....@gmail.com
+
+- Update to version 1.14.1:
+  + transcodebin: Handle files with several tracks of a kind. This
+    doesn't support transcoding the various tracks yet, but there
+    is a FIXME about that for now.
+  + Force profile=high in youtube target.
+
+-------------------------------------------------------------------

Old:
----
  gst-transcoder-1.14.0.tar.gz

New:
----
  gst-transcoder-1.14.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gstreamer-transcoder.spec ++++++
--- /var/tmp/diff_new_pack.H5J03o/_old  2018-10-04 19:00:42.519252793 +0200
+++ /var/tmp/diff_new_pack.H5J03o/_new  2018-10-04 19:00:42.523252789 +0200
@@ -12,13 +12,13 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 %define _name   gst-transcoder
 Name:           gstreamer-transcoder
-Version:        1.14.0
+Version:        1.14.1
 Release:        0
 Summary:        GStreamer Transcoding API
 License:        LGPL-2.1-only

++++++ gst-transcoder-1.14.0.tar.gz -> gst-transcoder-1.14.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-transcoder-1.14.0/data/targets/online-service/youtube.gep 
new/gst-transcoder-1.14.1/data/targets/online-service/youtube.gep
--- old/gst-transcoder-1.14.0/data/targets/online-service/youtube.gep   
2018-03-24 13:38:14.000000000 +0100
+++ new/gst-transcoder-1.14.1/data/targets/online-service/youtube.gep   
2018-07-23 16:37:27.000000000 +0200
@@ -19,6 +19,6 @@
 [streamprofile-default-1]
 parent=default
 type=video
-format=video/x-h264
+format=video/x-h264,profile=high
 preset=Profile YouTube
 pass=0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-transcoder-1.14.0/gst/transcode/gsttranscodebin.c 
new/gst-transcoder-1.14.1/gst/transcode/gsttranscodebin.c
--- old/gst-transcoder-1.14.0/gst/transcode/gsttranscodebin.c   2018-03-24 
13:38:14.000000000 +0100
+++ new/gst-transcoder-1.14.1/gst/transcode/gsttranscodebin.c   2018-07-23 
16:37:27.000000000 +0200
@@ -104,7 +104,8 @@
     GstCaps * caps)
 {
   GstPad *filter_src = NULL, *filter_sink = NULL;
-  GstElement *filter = NULL;
+  GstElement* filter = NULL;
+  GstObject *filter_parent;
 
   if (self->video_filter &&
       !g_strcmp0 (gst_structure_get_name (gst_caps_get_structure (caps, 0)),
@@ -119,6 +120,15 @@
   if (!filter)
     return pad;
 
+  if ((filter_parent = gst_object_get_parent (GST_OBJECT (filter)))) {
+      GST_WARNING_OBJECT (self, "Filter already in use (inside %" 
GST_PTR_FORMAT ").",
+        filter_parent);
+      GST_FIXME_OBJECT(self, "Handle transcoding several streams of a same 
kind.");
+      gst_object_unref(filter_parent);
+
+      return pad;
+  }
+
   /* We are guaranteed filters only have 1 unique sinkpad and srcpad */
   GST_OBJECT_LOCK (filter);
   filter_sink = filter->sinkpads->data;
@@ -177,24 +187,34 @@
 
   pad = _insert_filter (self, sinkpad, pad, caps);
   lret = gst_pad_link (pad, sinkpad);
-  if (G_UNLIKELY (lret != GST_PAD_LINK_OK)) {
-    GstCaps *othercaps = gst_pad_query_caps (sinkpad, NULL);
-    caps = gst_pad_get_current_caps (pad);
-
-    GST_ELEMENT_ERROR_WITH_DETAILS (self, CORE, PAD,
-        (NULL),
-        ("Couldn't link pads:\n    %" GST_PTR_FORMAT ": %" GST_PTR_FORMAT
-            "\nand:\n" "    %" GST_PTR_FORMAT ": %" GST_PTR_FORMAT "\n\n",
-            pad, caps, sinkpad, othercaps),
-        ("linking-error", GST_TYPE_PAD_LINK_RETURN, lret,
-            "source-pad", GST_TYPE_PAD, pad,
-            "source-caps", GST_TYPE_CAPS, caps,
-            "sink-pad", GST_TYPE_PAD, sinkpad,
-            "sink-caps", GST_TYPE_CAPS, othercaps, NULL));
-
-    gst_caps_unref (caps);
-    if (othercaps)
-      gst_caps_unref (othercaps);
+  switch (lret) {
+    case GST_PAD_LINK_OK:
+        break;
+    case GST_PAD_LINK_WAS_LINKED:
+        GST_FIXME_OBJECT(self, "Pad %" GST_PTR_FORMAT " was already linked",
+          sinkpad);
+        break;
+    default:
+    {
+        GstCaps* othercaps = gst_pad_query_caps(sinkpad, NULL);
+        caps = gst_pad_get_current_caps(pad);
+
+        GST_ELEMENT_ERROR_WITH_DETAILS(self, CORE, PAD,
+            (NULL),
+            ("Couldn't link pads:\n    %" GST_PTR_FORMAT ": %" GST_PTR_FORMAT
+             "\nand:\n"
+             "    %" GST_PTR_FORMAT ": %" GST_PTR_FORMAT "\n\n",
+                pad, caps, sinkpad, othercaps),
+            ("linking-error", GST_TYPE_PAD_LINK_RETURN, lret,
+                "source-pad", GST_TYPE_PAD, pad,
+                "source-caps", GST_TYPE_CAPS, caps,
+                "sink-pad", GST_TYPE_PAD, sinkpad,
+                "sink-caps", GST_TYPE_CAPS, othercaps, NULL));
+
+        gst_caps_unref(caps);
+        if (othercaps)
+            gst_caps_unref(othercaps);
+    }
   }
 
   gst_object_unref (sinkpad);


Reply via email to