MythTV master
v2videoStreamInfo.h
Go to the documentation of this file.
1
2// Program Name: videoStreamInfo.h
3// Created : May. 30, 2020
4//
5// Copyright (c) 2020 Peter Bennett <pbennett@mythtv.org>
6//
7// Licensed under the GPL v2 or later, see COPYING for details
8//
10
11#ifndef V2VIDEOSTREAMINFO_H_
12#define V2VIDEOSTREAMINFO_H_
13
14#include <QString>
15#include <QDateTime>
16
18
20
21class V2VideoStreamInfo : public QObject
22{
23 Q_OBJECT
24 Q_CLASSINFO( "Version" , "1.00" );
25
26 SERVICE_PROPERTY2( QString , CodecType )
27 SERVICE_PROPERTY2( QString , CodecName )
28 SERVICE_PROPERTY2( int , Width )
29 SERVICE_PROPERTY2( int , Height )
30 SERVICE_PROPERTY2( float , AspectRatio )
31 SERVICE_PROPERTY2( QString , FieldOrder )
32 SERVICE_PROPERTY2( float , FrameRate )
33 SERVICE_PROPERTY2( float , AvgFrameRate )
34 SERVICE_PROPERTY2( int , Channels )
35 SERVICE_PROPERTY2( qlonglong , Duration )
36
37 public:
38
39 Q_INVOKABLE V2VideoStreamInfo(QObject *parent = nullptr)
40 : QObject( parent )
41 {
42 }
43
44 void Copy( const V2VideoStreamInfo *src )
45 {
46 m_CodecType = src->m_CodecType ;
47 m_CodecName = src->m_CodecName ;
48 m_Width = src->m_Width ;
49 m_Height = src->m_Height ;
50 m_AspectRatio = src->m_AspectRatio ;
51 m_FieldOrder = src->m_FieldOrder ;
52 m_FrameRate = src->m_FrameRate ;
53 m_AvgFrameRate = src->m_AvgFrameRate ;
54 m_Channels = src->m_Channels ;
55 m_Duration = src->m_Duration ;
56 }
57
58 private:
60};
61
63
64#endif
void Copy(const V2VideoStreamInfo *src)
Q_DISABLE_COPY(V2VideoStreamInfo)
Q_CLASSINFO("Version", "1.00")
Q_INVOKABLE V2VideoStreamInfo(QObject *parent=nullptr)
Q_DECLARE_METATYPE(std::chrono::seconds)
#define SERVICE_PROPERTY2(Type, Name)