4#ifndef QGLIST_HELPER_P_H
5#define QGLIST_HELPER_P_H
18#include <QtCore/qtconfigmacros.h>
20#include <QtMultimedia/private/qiteratorfacade_p.h>
30template <
typename ListType,
bool IsConst>
41 return *
reinterpret_cast<
const ListType *>(&element->data);
47 element = element->next;
55template <
typename ListType,
bool IsConst>
58 static_assert(
std::is_pointer_v<ListType>);
64 auto begin() {
return GListIterator<ListType, IsConst>(head); }
70template <
typename ListType>
72template <
typename ListType>
q23::expected< QGstDiscovererInfo, QUniqueGErrorHandle > discover(const QString &uri)
q23::expected< QGstDiscovererInfo, QUniqueGErrorHandle > discover(QIODevice *)
GListRangeAdaptorImpl< ListType, true > GListConstRangeAdaptor
GListRangeAdaptorImpl< ListType, false > GListRangeAdaptor
QMediaMetaData toStreamMetadata(const QGstDiscovererAudioInfo &info)
static constexpr std::chrono::nanoseconds discovererTimeout
QMediaMetaData toStreamMetadata(const QGstDiscovererSubtitleInfo &info)
QMediaMetaData toStreamMetadata(const QGstDiscovererVideoInfo &info)
QMediaMetaData toContainerMetadata(const QGstDiscovererInfo &info)
static void updateMetadata(QMediaMetaData &metadata, QMediaMetaData::Key key, ValueType value)
void addMissingKeysFromTaglist(QMediaMetaData &metadata, const QGstTagListHandle &tagList)
Combined button and popup list for selecting options.
GListIterator(GListType element=nullptr)
const ListType & dereference() const noexcept
void increment() noexcept
bool equals(const GListIterator &other) const noexcept
GListRangeAdaptorImpl(GListType list)
QLocale::Language language
std::vector< QGstDiscovererAudioInfo > audioStreams
std::vector< QGstDiscovererContainerInfo > containerStreams
std::vector< QGstDiscovererVideoInfo > videoStreams
std::optional< QGstDiscovererContainerInfo > containerInfo
std::vector< QGstDiscovererSubtitleInfo > subtitleStreams
std::optional< std::chrono::nanoseconds > duration
QLocale::Language language
Fraction pixelAspectRatio