/** * @RDE_HEADER@ * AV helper functions * $Id$ * $HeadURL$ * $Author$ * Created by Christian Fröbel, SLSE, 2017-06-23 */ #pragma once #include "avm_export.h" #include "ava_types.h" #include #include #include class QByteArray; class QString; namespace AudioVideoManagement { /** * Input format: a float denoting the duration in seconds; * resolution is one hundredth of a second. * The dot ('.') and digital places thereafter are optional. * When given, there must be exactly two digital places. * Valid input examples: * - 1494829980.13 * - 1494829980 */ AVM_COMMON_EXPORT AvaDuration createDuration(const QByteArray &avDuration); /** * input format: same as for createDuration(). */ AVM_COMMON_EXPORT AvaTimePoint createTimePoint(const QByteArray &avTimePoint); AVM_COMMON_EXPORT QString toString(AvaDuration pos); AVM_COMMON_EXPORT QString toString(AvaTimePoint pos); AVM_COMMON_EXPORT qint64 toMSecSinceEpoch(AvaTimePoint pos); AVM_COMMON_EXPORT AvaTimePoint toTimePoint(qint64 msecSinceEpoch); AVM_COMMON_EXPORT bool isStreamNameValid(const std::string &name); AVM_COMMON_EXPORT bool isStreamNameValid(const QString &name); /** * @param nameWithSourceSpec is the AVS-internal stream name plus a source specifier: * "(S)" for Server, "(L)" for Local, nothing for Interface. * @return the StreamSource and the stream name without the source specicifier. */ AVM_COMMON_EXPORT std::pair extractStreamSource(const QString &nameWithSourceSpec); } // namespace AudioVideoManagement