Title: [254815] trunk/Source/ThirdParty/libwebrtc
Revision
254815
Author
[email protected]
Date
2020-01-20 01:44:34 -0800 (Mon, 20 Jan 2020)

Log Message

Setting kVTCompressionPropertyKey_DataRateLimits on RTCVideoEncoderH264 fails
https://bugs.webkit.org/show_bug.cgi?id=206402

Reviewed by Eric Carlson.

Add helper routine dedicated to setting VTB/VCP array value properties.
Logging shows the bitrate is then set appropriately.

* Source/webrtc/sdk/objc/components/video_codec/helpers.cc:
* Source/webrtc/sdk/objc/components/video_codec/helpers.h:

Modified Paths

Diff

Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (254814 => 254815)


--- trunk/Source/ThirdParty/libwebrtc/ChangeLog	2020-01-20 09:23:10 UTC (rev 254814)
+++ trunk/Source/ThirdParty/libwebrtc/ChangeLog	2020-01-20 09:44:34 UTC (rev 254815)
@@ -1,3 +1,16 @@
+2020-01-20  youenn fablet  <[email protected]>
+
+        Setting kVTCompressionPropertyKey_DataRateLimits on RTCVideoEncoderH264 fails
+        https://bugs.webkit.org/show_bug.cgi?id=206402
+
+        Reviewed by Eric Carlson.
+
+        Add helper routine dedicated to setting VTB/VCP array value properties.
+        Logging shows the bitrate is then set appropriately.
+
+        * Source/webrtc/sdk/objc/components/video_codec/helpers.cc:
+        * Source/webrtc/sdk/objc/components/video_codec/helpers.h:
+
 2020-01-06  youenn fablet  <[email protected]>
 
         Implement RTC VTB encoders in GPUProcess

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/helpers.cc (254814 => 254815)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/helpers.cc	2020-01-20 09:23:10 UTC (rev 254814)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/helpers.cc	2020-01-20 09:44:34 UTC (rev 254815)
@@ -116,3 +116,23 @@
                       << " to " << val_string << ": " << status;
   }
 }
+
+// Convenience function for setting a VT property.
+void SetVTSessionProperty(VTCompressionSessionRef vtSession, VCPCompressionSessionRef vcpSession,
+                          CFStringRef key,
+                          CFArrayRef value) {
+  RTC_DCHECK(vtSession || vcpSession);
+  OSStatus status = noErr;
+  if (vtSession)
+    status = VTSessionSetProperty(vtSession, key, value);
+#if ENABLE_VCP_ENCODER
+  else
+    status = webrtc::VCPCompressionSessionSetProperty(vcpSession, key, value);
+#endif
+
+  if (status != noErr) {
+    std::string key_string = CFStringToString(key);
+    RTC_LOG(LS_ERROR) << "VTSessionSetProperty failed to set: " << key_string
+                      << " to array value: " << status << ", vcpSession: " << vcpSession;
+  }
+}

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/helpers.h (254814 => 254815)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/helpers.h	2020-01-20 09:23:10 UTC (rev 254814)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/helpers.h	2020-01-20 09:44:34 UTC (rev 254815)
@@ -46,4 +46,9 @@
                           CFStringRef key,
                           CFStringRef value);
 
+// Convenience function for setting a VT property.
+void SetVTSessionProperty(VTCompressionSessionRef session, VCPCompressionSessionRef vcpSession,
+                          CFStringRef key,
+                          CFArrayRef value);
+
 #endif  // SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_HELPERS_H_
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to