namespace property {
constexpr Property Pause = MakeProperty(format::Flag, "pause");
-constexpr Property Paused = MakeProperty(format::Flag, "paused");
constexpr Property Duration = MakeProperty(format::Double, "duration");
constexpr Property PlaybackTime = MakeProperty(format::Double, "playback-time");
constexpr Property Volume = MakeProperty(format::Double, "volume");
if constexpr (IsVoid) {
(obj->*m_callback)();
} else {
- assert(event->data != nullptr);
if (event->format != m_property.format.format) {
qCWarning(mpvHelper()).nospace()
<< "Observed property: " << event->name
<< ", got format: " << event->format;
return;
}
+ if (event->data == nullptr) {
+ qCWarning(mpvHelper()).nospace()
+ << "Observed property: " << event->name
+ << " was registered with format: " << m_property.format.format
+ << ", but was delivered without data, skipping call";
+ return;
+ }
const auto &mpvData = *static_cast<
typename decltype(Property::format)::MpvInternalType *>(
event->data);
property, handler)));
const bool inserted = pair.second;
if (!inserted) {
+ qCWarning(mpvHelper) << "Already observing property:" << property.name;
return false;
}
break;
}
default: {
+ qCDebug(mpvHelper) << "Received event:" << event->event_id;
const auto it = m_eventHandlers.find(event->event_id);
if (it == std::end(m_eventHandlers)) {
+ qCDebug(mpvHelper) << "Received event without handler:"
+ << event->event_id;
return;
}
it->second->run(m_obj, event);