|
|
@@ -1548,6 +1548,16 @@ static media_frames_per_second convert(CMTime time_)
|
|
|
|
|
|
using frame_rates_t = vector<pair<media_frames_per_second, media_frames_per_second>>;
|
|
|
|
|
|
+static bool operator==(const media_frames_per_second &a, const media_frames_per_second &b)
|
|
|
+{
|
|
|
+ return a.numerator == b.numerator && a.denominator == b.denominator;
|
|
|
+}
|
|
|
+
|
|
|
+static bool operator!=(const media_frames_per_second &a, const media_frames_per_second &b)
|
|
|
+{
|
|
|
+ return !(a == b);
|
|
|
+}
|
|
|
+
|
|
|
static frame_rates_t enumerate_frame_rates(AVCaptureDevice *dev, const CMVideoDimensions *dims = nullptr)
|
|
|
{
|
|
|
frame_rates_t res;
|
|
|
@@ -1588,16 +1598,6 @@ static frame_rates_t enumerate_frame_rates(AVCaptureDevice *dev, const CMVideoDi
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
-static bool operator==(const media_frames_per_second &a, const media_frames_per_second &b)
|
|
|
-{
|
|
|
- return a.numerator == b.numerator && a.denominator == b.denominator;
|
|
|
-}
|
|
|
-
|
|
|
-static bool operator!=(const media_frames_per_second &a, const media_frames_per_second &b)
|
|
|
-{
|
|
|
- return !(a == b);
|
|
|
-}
|
|
|
-
|
|
|
static bool frame_rate_property_needs_update(obs_property_t *p, const frame_rates_t &frame_rates)
|
|
|
{
|
|
|
auto fps_num = frame_rates.size();
|