added missing parse when running h263 decoder 30/188830/3 accepted/tizen_5.0_unified accepted/tizen/5.0/unified/20181102.015314 accepted/tizen/unified/20180912.061616 submit/tizen/20180911.070435 submit/tizen_5.0/20181101.000003
authorSejun Park <sejun79.park@samsung.com>
Tue, 11 Sep 2018 02:45:47 +0000 (11:45 +0900)
committerSejun Park <sejun79.park@samsung.com>
Tue, 11 Sep 2018 05:06:24 +0000 (14:06 +0900)
Change-Id: I3cdc7dead8341078dd756f4ead1c58edae65fb44

packaging/mm-hal-interface.spec
testcase/codec/codec_haltests.cpp

index b6415d8..0c11ff9 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       mm-hal-interface
 Summary:    Multimedia HAL Interface
-Version:    0.0.17
+Version:    0.0.18
 Release:    0
 Group:      Multimedia/Development
 License:    Apache-2.0
index 41498aa..2d4e592 100644 (file)
@@ -114,45 +114,31 @@ pad_added_cb(GstElement * demux, GstPad * pad, GstBin * pipeline)
 
   caps = gst_pad_query_caps(pad, NULL);
   gchar *caps_str = gst_caps_to_string(caps);
+  gst_caps_unref(caps);
 
   if (strstr(caps_str, "h264")) {
     parse = gst_element_factory_make("h264parse", NULL);
     codec = gst_element_factory_make(codec_list[H264].plugins[0], NULL);
-    sink = gst_element_factory_make("fakesink", NULL);
-
-    gst_bin_add_many(GST_BIN(pipeline), parse, codec, sink, NULL);
-    gst_element_link_many(demux, parse, codec, sink, NULL);
-
-    gst_element_set_state(parse, GST_STATE_PAUSED);
-    gst_element_set_state(codec, GST_STATE_PAUSED);
-    gst_element_set_state(sink, GST_STATE_PAUSED);
   } else if (strstr(caps_str, "h263")) {
     parse = gst_element_factory_make("h263parse", NULL);
     codec = gst_element_factory_make(codec_list[H263].plugins[0], NULL);
-    sink = gst_element_factory_make("fakesink", NULL);
-
-    gst_bin_add_many(GST_BIN(pipeline), codec, sink, NULL);
-    gst_element_link_many(demux, codec, sink, NULL);
-
-    gst_element_set_state(parse, GST_STATE_PAUSED);
-    gst_element_set_state(codec, GST_STATE_PAUSED);
-    gst_element_set_state(sink, GST_STATE_PAUSED);
   } else if (strstr(caps_str, "video/mpeg")) {
     parse = gst_element_factory_make("mpeg4videoparse", NULL);
     codec = gst_element_factory_make(codec_list[MPEG4].plugins[0], NULL);
-    sink = gst_element_factory_make("fakesink", NULL);
-
-    gst_bin_add_many(GST_BIN(pipeline), parse, codec, sink, NULL);
-    gst_element_link_many(demux, parse, codec, sink, NULL);
-
-    gst_element_set_state(parse, GST_STATE_PAUSED);
-    gst_element_set_state(codec, GST_STATE_PAUSED);
-    gst_element_set_state(sink, GST_STATE_PAUSED);
   } else {
     GST_WARNING_OBJECT(pad, "non video pad");
+    g_free(caps_str);
+    return;
   }
 
-  gst_caps_unref(caps);
+  sink = gst_element_factory_make("fakesink", NULL);
+  gst_bin_add_many(GST_BIN(pipeline), parse, codec, sink, NULL);
+  gst_element_link_many(demux, parse, codec, sink, NULL);
+
+  gst_element_set_state(parse, GST_STATE_PAUSED);
+  gst_element_set_state(codec, GST_STATE_PAUSED);
+  gst_element_set_state(sink, GST_STATE_PAUSED);
+  g_free(caps_str);
 }
 
 static GstBusSyncReply