[0.0.2] fix svace issue 57/263257/2 accepted/tizen/unified/20210903.142950 submit/tizen/20210903.050853
authorEunhye Choi <eunhae1.choi@samsung.com>
Mon, 30 Aug 2021 08:13:00 +0000 (17:13 +0900)
committerEunhye Choi <eunhae1.choi@samsung.com>
Mon, 30 Aug 2021 09:02:04 +0000 (18:02 +0900)
Change-Id: I065918d1b205e793f371be4288bbe3915e813b6a

packaging/libtrackrenderer.spec
src/include_internal/trackrenderer/trackrenderer.h
src/track_util.cpp
src/trackrenderer_capi.cpp

index be001d12f4ec7ec0a3d937d563635743ebc99664..e30879f71af0d113a872d6ab2a080c4aa083ff3a 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libtrackrenderer
 Summary:    new multimedia streaming player trackrenderer
-Version:    0.0.1
+Version:    0.0.2
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 2eacf329640711da7a606e619121b52fbdb0774d..9ab4b9e72535fe394a91d15d4ab15122e20cf0c5 100644 (file)
@@ -261,8 +261,8 @@ class TrackRenderer : public ResourceConflictListener,
                                          unsigned char* psshdata,
                                          void* userdata);
   static void GstDecodedVideoBufferCb_(GstElement* element,
-                                           GstBuffer* buffer, GstPad* pad,
-                                           void* userdata);
+                                         GstBuffer* buffer, GstPad* pad,
+                                         void* userdata);
   static AttributesByElement InitAttributeByElementType_();
   static GstPadProbeReturn GstSrcPadProbeBlockCb_(GstPad* pad,
                                                   GstPadProbeInfo* info,
index d52cc4ca6074b2a450bc5ecbc43eeb4159c6ae33..117ed8dc7956e4f1d947514d4f7a8ce5701957f8 100644 (file)
@@ -18,18 +18,14 @@ namespace track_util {
 bool GetActiveTrack(const std::vector<Track>& track_list, const TrackType type,
                     Track* track) {
   if (!track) return false;
-  auto find_target = [type](Track item)->bool {
-    if (item.type == type && item.active) {
+  for (const auto& item : track_list) {
+    if (item.type == type && item.active == true) {
+      *track = item;
+      // TRACKRENDERER_INFO("tracktype : %d, index : %d", track->type, track->index);
       return true;
-    } else {
-      return false;
     }
-  };
-  auto target = std::find_if(track_list.begin(), track_list.end(), find_target);
-  if (target == track_list.end()) return false;  // There is no target.
-  *track = *target;
-  // TRACKRENDERER_INFO("tracktype : %d, index : %d", track->type, track->index);
-  return true;
+  }
+  return false;
 }
 
 bool GetActiveTrackList(const std::vector<Track>& tracklist,
index e51730ad9a3bd3b18f41501fcbba07f403de61a2..96f448df666cebdd265ef6f8577f36bb280e2ed8 100644 (file)
@@ -556,31 +556,39 @@ int trackrenderer_get_playing_time(TrackRendererHandle handle,
   return kSuccess;
 }
 
+using TrackType = plusplayer::trackrenderer::TrackType;
+
 int trackrenderer_deactivate(TrackRendererHandle handle,
                              TrackRendererTrackType type) {
   auto priv = static_cast<TrackRendererPrivPtr>(handle);
   if (!priv) return kFailed;
-  if (priv->renderer->Deactivate(
-          plusplayer::trackrenderer::capi_utils::ConvertToTrackType(type)) ==
-      false) {
+
+  TrackType track_type = plusplayer::trackrenderer::capi_utils::ConvertToTrackType(type);
+  if (track_type >= TrackType::kTrackTypeMax)
     return kFailed;
-  }
+
+  if (priv->renderer->Deactivate(track_type) == false)
+    return kFailed;
+
   return kSuccess;
 }
 
+
 int trackrenderer_activate(TrackRendererHandle handle,
                            TrackRendererTrackType type,
                            TrackRendererTrack* trackinfo) {
   auto priv = static_cast<TrackRendererPrivPtr>(handle);
   if (!priv) return kFailed;
-  // TODO(sy0207.ju):MakeTrack return vector. use magic number.
+
   auto tracks = plusplayer::trackrenderer::capi_utils::MakeTrack(trackinfo, 1);
 
-  if (priv->renderer->Activate(
-          plusplayer::trackrenderer::capi_utils::ConvertToTrackType(type),
-          tracks.front()) == false) {
+  TrackType track_type = plusplayer::trackrenderer::capi_utils::ConvertToTrackType(type);
+  if (track_type >= TrackType::kTrackTypeMax)
     return kFailed;
-  }
+
+  if (priv->renderer->Activate(track_type, tracks.front()) == false)
+    return kFailed;
+
   return kSuccess;
 }
 
@@ -625,7 +633,7 @@ int trackrenderer_submit_packet(TrackRendererHandle handle,
       data->index, data->buffer, data->caps);
 #endif
 
-  SubmitStatus status;
+  SubmitStatus status = SubmitStatus::kSuccess;
   if (priv->renderer->SubmitPacket(std::move(inputbuffer), &status) == false) {
     return kFailed;
   }
@@ -651,7 +659,7 @@ int trackrenderer_submit_packet2(TrackRendererHandle handle,
       data->index, data->buffer, data->caps, false);
 #endif
 
-  SubmitStatus status;
+  SubmitStatus status = SubmitStatus::kSuccess;
   if (priv->renderer->SubmitPacket(std::move(inputbuffer), &status) == false) {
     if (retval) {
       *retval = ConvertToTrackRendererSubmitStatus(status);