mirror of
https://github.com/zoriya/react-native-omni.git
synced 2026-08-16 02:44:51 +00:00
Handle rendition selection
This commit is contained in:
+4
@@ -31,6 +31,7 @@ namespace margelo::nitro::omni {
|
||||
enum class BoolProperty {
|
||||
ISPLAYING SWIFT_NAME(isplaying) = 0,
|
||||
MUTED SWIFT_NAME(muted) = 1,
|
||||
ISAUTOQUALITY SWIFT_NAME(isautoquality) = 2,
|
||||
} CLOSED_ENUM;
|
||||
|
||||
} // namespace margelo::nitro::omni
|
||||
@@ -45,6 +46,7 @@ namespace margelo::nitro {
|
||||
switch (hashString(unionValue.c_str(), unionValue.size())) {
|
||||
case hashString("isPlaying"): return margelo::nitro::omni::BoolProperty::ISPLAYING;
|
||||
case hashString("muted"): return margelo::nitro::omni::BoolProperty::MUTED;
|
||||
case hashString("isAutoQuality"): return margelo::nitro::omni::BoolProperty::ISAUTOQUALITY;
|
||||
default: [[unlikely]]
|
||||
throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum BoolProperty - invalid value!");
|
||||
}
|
||||
@@ -53,6 +55,7 @@ namespace margelo::nitro {
|
||||
switch (arg) {
|
||||
case margelo::nitro::omni::BoolProperty::ISPLAYING: return JSIConverter<std::string>::toJSI(runtime, "isPlaying");
|
||||
case margelo::nitro::omni::BoolProperty::MUTED: return JSIConverter<std::string>::toJSI(runtime, "muted");
|
||||
case margelo::nitro::omni::BoolProperty::ISAUTOQUALITY: return JSIConverter<std::string>::toJSI(runtime, "isAutoQuality");
|
||||
default: [[unlikely]]
|
||||
throw std::invalid_argument("Cannot convert BoolProperty to JS - invalid value: "
|
||||
+ std::to_string(static_cast<int>(arg)) + "!");
|
||||
@@ -66,6 +69,7 @@ namespace margelo::nitro {
|
||||
switch (hashString(unionValue.c_str(), unionValue.size())) {
|
||||
case hashString("isPlaying"):
|
||||
case hashString("muted"):
|
||||
case hashString("isAutoQuality"):
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
||||
@@ -37,6 +37,7 @@ namespace margelo::nitro::omni {
|
||||
prototype.registerHybridSetter("volume", &HybridOmniPlayerSpec::setVolume);
|
||||
prototype.registerHybridGetter("muted", &HybridOmniPlayerSpec::getMuted);
|
||||
prototype.registerHybridSetter("muted", &HybridOmniPlayerSpec::setMuted);
|
||||
prototype.registerHybridGetter("isAutoQuality", &HybridOmniPlayerSpec::getIsAutoQuality);
|
||||
prototype.registerHybridMethod("play", &HybridOmniPlayerSpec::play);
|
||||
prototype.registerHybridMethod("pause", &HybridOmniPlayerSpec::pause);
|
||||
prototype.registerHybridMethod("seekBy", &HybridOmniPlayerSpec::seekBy);
|
||||
|
||||
@@ -83,6 +83,7 @@ namespace margelo::nitro::omni {
|
||||
virtual void setVolume(double volume) = 0;
|
||||
virtual bool getMuted() = 0;
|
||||
virtual void setMuted(bool muted) = 0;
|
||||
virtual bool getIsAutoQuality() = 0;
|
||||
|
||||
public:
|
||||
// Methods
|
||||
|
||||
@@ -34,6 +34,7 @@ namespace margelo::nitro::omni {
|
||||
DURATION SWIFT_NAME(duration) = 2,
|
||||
PLAYBACKRATE SWIFT_NAME(playbackrate) = 3,
|
||||
VOLUME SWIFT_NAME(volume) = 4,
|
||||
ISAUTOQUALITY SWIFT_NAME(isautoquality) = 5,
|
||||
} CLOSED_ENUM;
|
||||
|
||||
} // namespace margelo::nitro::omni
|
||||
@@ -51,6 +52,7 @@ namespace margelo::nitro {
|
||||
case hashString("duration"): return margelo::nitro::omni::NumberProperty::DURATION;
|
||||
case hashString("playbackRate"): return margelo::nitro::omni::NumberProperty::PLAYBACKRATE;
|
||||
case hashString("volume"): return margelo::nitro::omni::NumberProperty::VOLUME;
|
||||
case hashString("isAutoQuality"): return margelo::nitro::omni::NumberProperty::ISAUTOQUALITY;
|
||||
default: [[unlikely]]
|
||||
throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum NumberProperty - invalid value!");
|
||||
}
|
||||
@@ -62,6 +64,7 @@ namespace margelo::nitro {
|
||||
case margelo::nitro::omni::NumberProperty::DURATION: return JSIConverter<std::string>::toJSI(runtime, "duration");
|
||||
case margelo::nitro::omni::NumberProperty::PLAYBACKRATE: return JSIConverter<std::string>::toJSI(runtime, "playbackRate");
|
||||
case margelo::nitro::omni::NumberProperty::VOLUME: return JSIConverter<std::string>::toJSI(runtime, "volume");
|
||||
case margelo::nitro::omni::NumberProperty::ISAUTOQUALITY: return JSIConverter<std::string>::toJSI(runtime, "isAutoQuality");
|
||||
default: [[unlikely]]
|
||||
throw std::invalid_argument("Cannot convert NumberProperty to JS - invalid value: "
|
||||
+ std::to_string(static_cast<int>(arg)) + "!");
|
||||
@@ -78,6 +81,7 @@ namespace margelo::nitro {
|
||||
case hashString("duration"):
|
||||
case hashString("playbackRate"):
|
||||
case hashString("volume"):
|
||||
case hashString("isAutoQuality"):
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user