Add queue attributes 50/299750/4
authorGilbok Lee <gilbok.lee@samsung.com>
Tue, 10 Oct 2023 01:28:20 +0000 (10:28 +0900)
committerGilbok Lee <gilbok.lee@samsung.com>
Wed, 11 Oct 2023 09:31:28 +0000 (18:31 +0900)
- video/audio max-time, current-level-time attributes

Change-Id: I84343619bb150b43c56ed3b9bcfffb304de2ff8c

packaging/libtrackrenderer.spec
src/include_internal/trackrenderer/trackrenderer_attr.h
src/trackrenderer_attr.cpp

index 45b8b3788db9bcd6142a3b2dd1ab34308e024385..32284662db2fa37c6473e61d0ebb6eb4346f9664 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libtrackrenderer
 Summary:    new multimedia streaming player trackrenderer
-Version:    0.0.40
+Version:    0.0.41
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 3d1e71a45cbfa20a8f6b0384f70c145cea11c198..629f113cf42a0383ddb90cdcd3258390cc13d63c 100644 (file)
@@ -35,8 +35,12 @@ enum class Attribute {
   kAudioQueueCurrentLevelByte,  // std::uint64_t
   kVideoMinByteThreshold,       // std::uint32_t
   kAudioMinByteThreshold,       // std::uint32_t
+  kVideoQueueMaxTime,           // std::uint64_t
+  kAudioQueueMaxTime,           // std::uint64_t
   kVideoQueueMaxBuffer,         // std::uint64_t
   kAudioQueueMaxBuffer,         // std::uint64_t
+  kVideoQueueCurrentLevelTime,  // std::uint64_t
+  kAudioQueueCurrentLevelTime,  // std::uint64_t
   kVideoRenderTimeOffset,       // std::int64_t
   kAudioRenderTimeOffset,       // std::int64_t
   kMax,
@@ -83,12 +87,24 @@ static const std::map<std::string, TrackRendererAttrInfo>
         {"audio-min-byte-percent",
          {ValueType::kUInt32,
           plusplayer::trackrenderer::Attribute::kAudioMinByteThreshold}},
+        {"video-queue-max-time",
+         {ValueType::kUInt64,
+          plusplayer::trackrenderer::Attribute::kVideoQueueMaxTime}},
+        {"audio-queue-max-time",
+         {ValueType::kUInt64,
+          plusplayer::trackrenderer::Attribute::kAudioQueueMaxTime}},
         {"video-queue-max-buffer",
          {ValueType::kUInt64,
           plusplayer::trackrenderer::Attribute::kVideoQueueMaxBuffer}},
         {"audio-queue-max-buffer",
          {ValueType::kUInt64,
           plusplayer::trackrenderer::Attribute::kAudioQueueMaxBuffer}},
+        {"video-current-level-time",
+         {ValueType::kUInt64,
+          plusplayer::trackrenderer::Attribute::kVideoQueueCurrentLevelTime}},
+        {"audio-current-level-time",
+         {ValueType::kUInt64,
+          plusplayer::trackrenderer::Attribute::kAudioQueueCurrentLevelTime}},
         {"video-render-time-offset",
          {ValueType::kInt64,
           plusplayer::trackrenderer::Attribute::kVideoRenderTimeOffset}},
index 5f6d7681a684e51af3b80a75a480c463243c6a6e..8271d87f475ce5b3ff36d3d035eab19ce5243d49 100644 (file)
@@ -42,8 +42,6 @@ constexpr std::uint64_t kMaxTimeOfVideoSrcQueue = 0;            // 0ns
 constexpr std::uint64_t kMaxTimeOfAudioSrcQueue = 0;            // 0ns
 constexpr std::uint64_t kCurrentLevelTimeOfVideo = 0;           // 0ns
 constexpr std::uint64_t kCurrentLevelTimeOfAudio = 0;           // 0ns
-constexpr std::uint32_t kMinTimeThresholdOfVideo = 0;           // 0%
-constexpr std::uint32_t kMinTimeThresholdOfAudio = 0;           // 0%
 constexpr std::uint64_t kMaxBufferOfVideoSrcQueue = 5;          // cnt
 constexpr std::uint64_t kMaxBufferOfAudioSrcQueue = 5;          // cnt
 constexpr std::int64_t kDefaultRenderTimeOffset = 0;
@@ -129,6 +127,18 @@ const TrackRenderer::Attributes TrackRenderer::kAttributes_ = {
                    PROPERTY("min-percent"),                     //
                    WITHOUT_INIT,                                //
                    DEFAULT_VALUE(::kMinByteThresholdOfAudio)),  //
+    MAKE_ATTRIBUTE(kVideoQueueMaxTime,                          //
+                   ELEMENT(kAppSrcVideo),                       //
+                   VALUE_TYPE(std::uint64_t),                   //
+                   PROPERTY("max-time"),                        //
+                   WITHOUT_INIT,                                //
+                   DEFAULT_VALUE(::kMaxTimeOfVideoSrcQueue)),   //
+    MAKE_ATTRIBUTE(kAudioQueueMaxTime,                          //
+                   ELEMENT(kAppSrcAudio),                       //
+                   VALUE_TYPE(std::uint64_t),                   //
+                   PROPERTY("max-time"),                        //
+                   WITHOUT_INIT,                                //
+                   DEFAULT_VALUE(::kMaxTimeOfAudioSrcQueue)),   //
     MAKE_ATTRIBUTE(kVideoQueueMaxBuffer,                        //
                    ELEMENT(kAppSrcVideo),                       //
                    VALUE_TYPE(std::uint64_t),                   //
@@ -141,6 +151,18 @@ const TrackRenderer::Attributes TrackRenderer::kAttributes_ = {
                    PROPERTY("max-buffers"),                     //
                    WITH_INIT,                                   //
                    DEFAULT_VALUE(::kMaxBufferOfAudioSrcQueue)), //
+    MAKE_ATTRIBUTE(kVideoQueueCurrentLevelTime,                 //
+                   ELEMENT(kAppSrcVideo),                       //
+                   VALUE_TYPE(std::uint64_t),                   //
+                   PROPERTY("current-level-time"),              //
+                   WITHOUT_INIT,                                //
+                   DEFAULT_VALUE(::kCurrentLevelTimeOfVideo)),  //
+    MAKE_ATTRIBUTE(kAudioQueueCurrentLevelTime,                 //
+                   ELEMENT(kAppSrcAudio),                       //
+                   VALUE_TYPE(std::uint64_t),                   //
+                   PROPERTY("current-level-time"),              //
+                   WITHOUT_INIT,                                //
+                   DEFAULT_VALUE(::kCurrentLevelTimeOfAudio)),  //
     MAKE_ATTRIBUTE(kVideoRenderTimeOffset,                      //
                    ELEMENT(kSinkVideo),                         //
                    VALUE_TYPE(std::int64_t),                    //