MythTV  master
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
V4L2encStreamHandler Class Reference

#include <v4l2encstreamhandler.h>

Inheritance diagram for V4L2encStreamHandler:
Inheritance graph
[legend]
Collaboration diagram for V4L2encStreamHandler:
Collaboration graph
[legend]

Public Member Functions

 V4L2encStreamHandler (const QString &device, int audio_input, int inputid)
 
 ~V4L2encStreamHandler (void) override
 
void run (void) override
 Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More...
 
bool Configure (void)
 
QString Driver (void) const
 
int GetStreamType (void)
 
bool IsOpen (void) const
 
bool HasTuner (void) const
 
bool HasAudio (void) const
 
bool HasSlicedVBI (void) const
 
bool HasPictureAttributes (void) const
 
int AvailCount (void) const
 
bool StartEncoding (void)
 
bool StopEncoding (void)
 
void RestartEncoding (void)
 
QString ErrorString (void) const
 
- Public Member Functions inherited from StreamHandler
virtual void AddListener (MPEGStreamData *data, bool allow_section_reader=false, bool needs_buffering=false, const QString &output_file=QString())
 
virtual void RemoveListener (MPEGStreamData *data)
 
bool IsRunning (void) const
 
bool HasError (void) const
 
virtual bool AddNamedOutputFile (const QString &filename)
 Called with _listener_lock locked just after adding new output file. More...
 
virtual void RemoveNamedOutputFile (const QString &filename)
 Called with _listener_lock locked just before removing old output file. More...
 

Static Public Member Functions

static V4L2encStreamHandlerGet (const QString &devname, int audioinput, int inputid)
 
static void Return (V4L2encStreamHandler *&ref, int inputid)
 

Protected Member Functions

bool Status (bool &failed, bool &failing)
 
bool SetOption (const QString &opt, int value)
 
bool SetOption (const QString &opt, const QString &value)
 
bool SetControl (int request, int value)
 
bool SetVideoCaptureFormat (void)
 
bool SetLanguageMode (void)
 Set audio language mode. More...
 
bool SetRecordingVolume (void)
 
bool HasLock (void)
 
int GetSignalStrength (void)
 
bool GetResolution (int &width, int &height) const
 
void SetBitrate (int bitrate, int maxbitrate, int bitratemode, const QString &reason)
 
bool SetBitrateForResolution (void)
 
- Protected Member Functions inherited from StreamHandler
 StreamHandler (QString device, int inputid)
 
 ~StreamHandler () override
 
void Start (void)
 
void Stop (void)
 
void SetRunning (bool running, bool using_buffering, bool using_section_reader)
 
bool AddPIDFilter (PIDInfo *info)
 
bool RemovePIDFilter (uint pid)
 
bool RemoveAllPIDFilters (void)
 
void UpdateListeningForEIT (void)
 
bool UpdateFiltersFromStreamData (void)
 
virtual bool UpdateFilters (void)
 
virtual void CycleFiltersByPriority ()
 
PIDPriority GetPIDPriority (uint pid) const
 
void ReaderPaused (int fd) override
 
void PriorityEvent (int fd) override
 
virtual PIDInfoCreatePIDInfo (uint pid, uint stream_type, int pes_type)
 
void WriteMPTS (const unsigned char *buffer, uint len)
 Write out a copy of the raw MPTS. More...
 
virtual void SetRunningDesired (bool desired)
 At minimum this sets _running_desired, this may also send signals to anything that might be blocking the run() loop. More...
 
- Protected Member Functions inherited from MThread
int exec (void)
 Enters the qt event loop. call exit or quit to exit thread. More...
 
 MThread (const QString &objectName)
 Standard constructor. More...
 
 MThread (const QString &objectName, QRunnable *runnable)
 Use this constructor if you want the default run() method to run the QRunnable's run() method instead of entering the Qt event loop. More...
 
virtual ~MThread ()
 
 MThread (const MThread &)=delete
 
MThreadoperator= (const MThread &)=delete
 
void RunProlog (void)
 Sets up a thread, call this if you reimplement run(). More...
 
void RunEpilog (void)
 Cleans up a thread's resources, call this if you reimplement run(). More...
 
QThread * qthread (void)
 Returns the thread, this will always return the same pointer no matter how often you restart the thread. More...
 
void setObjectName (const QString &name)
 
QString objectName (void) const
 
void setPriority (QThread::Priority priority)
 
QThread::Priority priority (void) const
 
bool isFinished (void) const
 
bool isRunning (void) const
 
void setStackSize (uint stackSize)
 
uint stackSize (void) const
 
void exit (int retcode=0)
 Use this to exit from the thread if you are using a Qt event loop. More...
 
void start (QThread::Priority p=QThread::InheritPriority)
 Tell MThread to start running the thread in the near future. More...
 
void terminate (void)
 Kill a thread unsafely. More...
 
void quit (void)
 calls exit(0) More...
 
bool wait (std::chrono::milliseconds time=std::chrono::milliseconds::max())
 Wait for the MThread to exit, with a maximum timeout. More...
 
- Protected Member Functions inherited from DeviceReaderCB
virtual ~DeviceReaderCB ()=default
 

Static Protected Member Functions

static QString RequestDescription (int request)
 
- Static Protected Member Functions inherited from MThread
static void setTerminationEnabled (bool enabled=true)
 
static void usleep (std::chrono::microseconds time)
 
template<typename R , typename P >
static std::enable_if_t< std::chrono::treat_as_floating_point< R >::value, void > usleep (std::chrono::duration< R, P > time)
 
static void ThreadSetup (const QString &name)
 This is to be called on startup in those few threads that haven't been ported to MThread. More...
 
static void ThreadCleanup (void)
 This is to be called on exit in those few threads that haven't been ported to MThread. More...
 
static void Cleanup (void)
 This will print out all the running threads, call exit(1) on each and then wait up to 5 seconds total for all the threads to exit. More...
 
static void GetAllThreadNames (QStringList &list)
 
static void GetAllRunningThreadNames (QStringList &list)
 

Private Types

enum  constants { PACKET_SIZE = 188 * 32768 }
 

Private Member Functions

bool Open (void)
 
void Close (void)
 
bool ConfigureVBI (void)
 

Private Attributes

bool m_failing {false}
 
QString m_error
 
bool m_hasTuner {false}
 
bool m_hasPictureAttributes {false}
 
int m_bufferSize {1000 * (int)TSPacket::kSize}
 
int m_desiredStreamType {-1}
 
int m_streamType {-1}
 
int m_aspectRatio {-1}
 
int m_bitrateMode {V4L2_MPEG_VIDEO_BITRATE_MODE_VBR}
 
int m_bitrate {-1}
 
int m_maxBitrate {-1}
 
int m_audioCodec {-1}
 
int m_audioLayer {V4L2_MPEG_AUDIO_ENCODING_LAYER_1}
 
int m_audioSampleRate {-1}
 
int m_audioBitrateL1 {-1}
 
int m_audioBitrateL2 {-1}
 
int m_audioBitrateL3 {-1}
 
int m_audioVolume {-1}
 
int m_langMode {-1}
 0 is Main Lang; 1 is SAP Lang; 2 is Dual More...
 
uint m_lowBitrateMode {V4L2_MPEG_VIDEO_BITRATE_MODE_VBR}
 
uint m_lowBitrate {UINT_MAX}
 
uint m_lowPeakBitrate {UINT_MAX}
 
uint m_mediumBitrateMode {V4L2_MPEG_VIDEO_BITRATE_MODE_VBR}
 
uint m_mediumBitrate {UINT_MAX}
 
uint m_mediumPeakBitrate {UINT_MAX}
 
uint m_highBitrateMode {V4L2_MPEG_VIDEO_BITRATE_MODE_VBR}
 
uint m_highBitrate {UINT_MAX}
 
uint m_highPeakBitrate {UINT_MAX}
 
int m_fd {-1}
 
int m_audioInput {-1}
 
uint m_width {UINT_MAX}
 
uint m_height {UINT_MAX}
 
uint m_signalStrength {UINT_MAX}
 
V4L2util m_v4l2
 
DeviceReadBufferm_drb {nullptr}
 
QString m_vbiDevice
 
QAtomicInt m_streamingCnt {0}
 
QMutex m_streamLock
 
bool m_pauseEncodingAllowed {true}
 

Static Private Attributes

static QMutex s_handlers_lock
 
static QMap< QString, V4L2encStreamHandler * > s_handlers
 
static QMap< QString, uints_handlers_refcnt
 
static const std::array< const int, 14 > kAudioRateL1
 
static const std::array< const int, 14 > kAudioRateL2
 
static const std::array< const int, 14 > kAudioRateL3
 
static const std::array< const std::string, 15 > kStreamTypes
 

Friends

class V4L2encRecorder
 
class V4L2encSignalMonitor
 

Additional Inherited Members

- Protected Types inherited from StreamHandler
using StreamDataList = QHash< MPEGStreamData *, QString >
 
- Protected Attributes inherited from StreamHandler
QString m_device
 
int m_inputId
 
bool m_needsBuffering {false}
 
bool m_allowSectionReader {false}
 
QMutex m_addRmLock
 
QMutex m_startStopLock
 
volatile bool m_runningDesired {false}
 
volatile bool m_bError {false}
 
bool m_running {false}
 
bool m_restarting {false}
 
bool m_usingBuffering {false}
 
bool m_usingSectionReader {false}
 
QWaitCondition m_runningStateChanged
 
QRecursiveMutex m_pidLock
 
std::vector< uintm_eitPids
 
PIDInfoMap m_pidInfo
 
uint m_openPidFilters {0}
 
bool m_filtersChanged {false}
 
MythTimer m_cycleTimer
 
ThreadedFileWriterm_mptsTfw {nullptr}
 
QSet< QString > m_mptsFiles
 
QString m_mptsBaseFile
 
QMutex m_mptsLock
 
QRecursiveMutex m_listenerLock
 
StreamDataList m_streamDataList
 
- Protected Attributes inherited from MThread
MThreadInternalm_thread {nullptr}
 
QRunnable * m_runnable {nullptr}
 
bool m_prologExecuted {true}
 
bool m_epilogExecuted {true}
 

Detailed Description

Definition at line 21 of file v4l2encstreamhandler.h.

Member Enumeration Documentation

◆ constants

Enumerator
PACKET_SIZE 

Definition at line 26 of file v4l2encstreamhandler.h.

Constructor & Destructor Documentation

◆ V4L2encStreamHandler()

V4L2encStreamHandler::V4L2encStreamHandler ( const QString &  device,
int  audio_input,
int  inputid 
)

Definition at line 141 of file v4l2encstreamhandler.cpp.

Referenced by Get().

◆ ~V4L2encStreamHandler()

V4L2encStreamHandler::~V4L2encStreamHandler ( void  )
override

Definition at line 158 of file v4l2encstreamhandler.cpp.

Member Function Documentation

◆ Get()

V4L2encStreamHandler * V4L2encStreamHandler::Get ( const QString &  devname,
int  audioinput,
int  inputid 
)
static

◆ Return()

void V4L2encStreamHandler::Return ( V4L2encStreamHandler *&  ref,
int  inputid 
)
static

◆ run()

void V4L2encStreamHandler::run ( void  )
overridevirtual

Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead.

Note
If you override this method you must call RunProlog before you do any work and RunEpilog before you exit the run method.

Reimplemented from MThread.

Definition at line 164 of file v4l2encstreamhandler.cpp.

◆ Configure()

bool V4L2encStreamHandler::Configure ( void  )

Definition at line 397 of file v4l2encstreamhandler.cpp.

Referenced by V4L2encRecorder::run().

◆ Driver()

QString V4L2encStreamHandler::Driver ( void  ) const
inline

Definition at line 44 of file v4l2encstreamhandler.h.

◆ GetStreamType()

int V4L2encStreamHandler::GetStreamType ( void  )

Definition at line 813 of file v4l2encstreamhandler.cpp.

Referenced by Configure(), and V4L2encRecorder::run().

◆ IsOpen()

bool V4L2encStreamHandler::IsOpen ( void  ) const
inline

Definition at line 46 of file v4l2encstreamhandler.h.

Referenced by V4L2encRecorder::Open(), Open(), run(), StartEncoding(), and StopEncoding().

◆ HasTuner()

bool V4L2encStreamHandler::HasTuner ( void  ) const
inline

Definition at line 48 of file v4l2encstreamhandler.h.

◆ HasAudio()

bool V4L2encStreamHandler::HasAudio ( void  ) const
inline

Definition at line 49 of file v4l2encstreamhandler.h.

◆ HasSlicedVBI()

bool V4L2encStreamHandler::HasSlicedVBI ( void  ) const
inline

Definition at line 50 of file v4l2encstreamhandler.h.

◆ HasPictureAttributes()

bool V4L2encStreamHandler::HasPictureAttributes ( void  ) const
inline

Definition at line 52 of file v4l2encstreamhandler.h.

◆ AvailCount()

int V4L2encStreamHandler::AvailCount ( void  ) const
inline

Definition at line 55 of file v4l2encstreamhandler.h.

◆ StartEncoding()

bool V4L2encStreamHandler::StartEncoding ( void  )

◆ StopEncoding()

bool V4L2encStreamHandler::StopEncoding ( void  )

◆ RestartEncoding()

void V4L2encStreamHandler::RestartEncoding ( void  )

Definition at line 658 of file v4l2encstreamhandler.cpp.

Referenced by run().

◆ ErrorString()

QString V4L2encStreamHandler::ErrorString ( void  ) const
inline

Definition at line 60 of file v4l2encstreamhandler.h.

Referenced by V4L2encRecorder::Open().

◆ Status()

bool V4L2encStreamHandler::Status ( bool failed,
bool failing 
)
protected

Definition at line 134 of file v4l2encstreamhandler.cpp.

Referenced by V4L2encRecorder::run().

◆ RequestDescription()

static QString V4L2encStreamHandler::RequestDescription ( int  request)
staticprotected

◆ SetOption() [1/2]

bool V4L2encStreamHandler::SetOption ( const QString &  opt,
int  value 
)
protected

◆ SetOption() [2/2]

bool V4L2encStreamHandler::SetOption ( const QString &  opt,
const QString &  value 
)
protected

Definition at line 820 of file v4l2encstreamhandler.cpp.

◆ SetControl()

bool V4L2encStreamHandler::SetControl ( int  request,
int  value 
)
protected

◆ SetVideoCaptureFormat()

bool V4L2encStreamHandler::SetVideoCaptureFormat ( void  )
protected

◆ SetLanguageMode()

bool V4L2encStreamHandler::SetLanguageMode ( void  )
protected

Set audio language mode.

Definition at line 674 of file v4l2encstreamhandler.cpp.

Referenced by Configure().

◆ SetRecordingVolume()

bool V4L2encStreamHandler::SetRecordingVolume ( void  )
protected

◆ HasLock()

bool V4L2encStreamHandler::HasLock ( void  )
protected

Definition at line 909 of file v4l2encstreamhandler.cpp.

◆ GetSignalStrength()

int V4L2encStreamHandler::GetSignalStrength ( void  )
protected

Definition at line 917 of file v4l2encstreamhandler.cpp.

◆ GetResolution()

bool V4L2encStreamHandler::GetResolution ( int &  width,
int &  height 
) const
inlineprotected

Definition at line 77 of file v4l2encstreamhandler.h.

◆ SetBitrate()

void V4L2encStreamHandler::SetBitrate ( int  bitrate,
int  maxbitrate,
int  bitratemode,
const QString &  reason 
)
protected

Definition at line 931 of file v4l2encstreamhandler.cpp.

Referenced by SetBitrateForResolution().

◆ SetBitrateForResolution()

bool V4L2encStreamHandler::SetBitrateForResolution ( void  )
protected

Definition at line 960 of file v4l2encstreamhandler.cpp.

Referenced by StartEncoding().

◆ Open()

bool V4L2encStreamHandler::Open ( void  )
private

Definition at line 336 of file v4l2encstreamhandler.cpp.

Referenced by run(), and V4L2encStreamHandler().

◆ Close()

void V4L2encStreamHandler::Close ( void  )
private

Definition at line 464 of file v4l2encstreamhandler.cpp.

Referenced by Open(), and ~V4L2encStreamHandler().

◆ ConfigureVBI()

bool V4L2encStreamHandler::ConfigureVBI ( void  )
private

Definition at line 1029 of file v4l2encstreamhandler.cpp.

Referenced by Configure().

Friends And Related Function Documentation

◆ V4L2encRecorder

friend class V4L2encRecorder
friend

Definition at line 23 of file v4l2encstreamhandler.h.

◆ V4L2encSignalMonitor

friend class V4L2encSignalMonitor
friend

Definition at line 24 of file v4l2encstreamhandler.h.

Member Data Documentation

◆ m_failing

bool V4L2encStreamHandler::m_failing {false}
private

Definition at line 90 of file v4l2encstreamhandler.h.

Referenced by run(), and Status().

◆ m_error

QString V4L2encStreamHandler::m_error
private

Definition at line 91 of file v4l2encstreamhandler.h.

Referenced by ErrorString(), Open(), run(), and StartEncoding().

◆ m_hasTuner

bool V4L2encStreamHandler::m_hasTuner {false}
private

Definition at line 93 of file v4l2encstreamhandler.h.

◆ m_hasPictureAttributes

bool V4L2encStreamHandler::m_hasPictureAttributes {false}
private

Definition at line 94 of file v4l2encstreamhandler.h.

Referenced by HasPictureAttributes().

◆ s_handlers_lock

QMutex V4L2encStreamHandler::s_handlers_lock
staticprivate

Definition at line 97 of file v4l2encstreamhandler.h.

Referenced by Get(), and Return().

◆ s_handlers

QMap< QString, V4L2encStreamHandler * > V4L2encStreamHandler::s_handlers
staticprivate

Definition at line 98 of file v4l2encstreamhandler.h.

Referenced by Get(), and Return().

◆ s_handlers_refcnt

QMap< QString, uint > V4L2encStreamHandler::s_handlers_refcnt
staticprivate

Definition at line 99 of file v4l2encstreamhandler.h.

Referenced by Get(), and Return().

◆ m_bufferSize

int V4L2encStreamHandler::m_bufferSize {1000 * (int)TSPacket::kSize}
private

Definition at line 101 of file v4l2encstreamhandler.h.

◆ m_desiredStreamType

int V4L2encStreamHandler::m_desiredStreamType {-1}
private

Definition at line 104 of file v4l2encstreamhandler.h.

Referenced by Configure(), and SetOption().

◆ m_streamType

int V4L2encStreamHandler::m_streamType {-1}
private

Definition at line 105 of file v4l2encstreamhandler.h.

Referenced by GetStreamType().

◆ m_aspectRatio

int V4L2encStreamHandler::m_aspectRatio {-1}
private

Definition at line 106 of file v4l2encstreamhandler.h.

Referenced by Configure(), and SetOption().

◆ m_bitrateMode

int V4L2encStreamHandler::m_bitrateMode {V4L2_MPEG_VIDEO_BITRATE_MODE_VBR}
private

Definition at line 107 of file v4l2encstreamhandler.h.

Referenced by Configure(), SetBitrateForResolution(), and SetOption().

◆ m_bitrate

int V4L2encStreamHandler::m_bitrate {-1}
private

Definition at line 108 of file v4l2encstreamhandler.h.

Referenced by Configure(), SetBitrateForResolution(), and SetOption().

◆ m_maxBitrate

int V4L2encStreamHandler::m_maxBitrate {-1}
private

Definition at line 109 of file v4l2encstreamhandler.h.

Referenced by Configure(), SetBitrateForResolution(), and SetOption().

◆ m_audioCodec

int V4L2encStreamHandler::m_audioCodec {-1}
private

Definition at line 110 of file v4l2encstreamhandler.h.

Referenced by Configure(), and SetOption().

◆ m_audioLayer

int V4L2encStreamHandler::m_audioLayer {V4L2_MPEG_AUDIO_ENCODING_LAYER_1}
private

Definition at line 111 of file v4l2encstreamhandler.h.

Referenced by SetLanguageMode(), and SetOption().

◆ m_audioSampleRate

int V4L2encStreamHandler::m_audioSampleRate {-1}
private

Definition at line 112 of file v4l2encstreamhandler.h.

Referenced by Configure(), and SetOption().

◆ m_audioBitrateL1

int V4L2encStreamHandler::m_audioBitrateL1 {-1}
private

Definition at line 113 of file v4l2encstreamhandler.h.

Referenced by SetOption().

◆ m_audioBitrateL2

int V4L2encStreamHandler::m_audioBitrateL2 {-1}
private

Definition at line 114 of file v4l2encstreamhandler.h.

Referenced by Configure(), and SetOption().

◆ m_audioBitrateL3

int V4L2encStreamHandler::m_audioBitrateL3 {-1}
private

Definition at line 115 of file v4l2encstreamhandler.h.

Referenced by SetOption().

◆ m_audioVolume

int V4L2encStreamHandler::m_audioVolume {-1}
private

Definition at line 116 of file v4l2encstreamhandler.h.

Referenced by Configure(), and SetOption().

◆ m_langMode

int V4L2encStreamHandler::m_langMode {-1}
private

0 is Main Lang; 1 is SAP Lang; 2 is Dual

Definition at line 117 of file v4l2encstreamhandler.h.

Referenced by SetLanguageMode(), and SetOption().

◆ m_lowBitrateMode

uint V4L2encStreamHandler::m_lowBitrateMode {V4L2_MPEG_VIDEO_BITRATE_MODE_VBR}
private

Definition at line 118 of file v4l2encstreamhandler.h.

Referenced by SetBitrateForResolution(), and SetOption().

◆ m_lowBitrate

uint V4L2encStreamHandler::m_lowBitrate {UINT_MAX}
private

Definition at line 119 of file v4l2encstreamhandler.h.

Referenced by SetBitrateForResolution(), and SetOption().

◆ m_lowPeakBitrate

uint V4L2encStreamHandler::m_lowPeakBitrate {UINT_MAX}
private

Definition at line 120 of file v4l2encstreamhandler.h.

Referenced by SetBitrateForResolution(), and SetOption().

◆ m_mediumBitrateMode

uint V4L2encStreamHandler::m_mediumBitrateMode {V4L2_MPEG_VIDEO_BITRATE_MODE_VBR}
private

Definition at line 121 of file v4l2encstreamhandler.h.

Referenced by SetBitrateForResolution(), and SetOption().

◆ m_mediumBitrate

uint V4L2encStreamHandler::m_mediumBitrate {UINT_MAX}
private

Definition at line 122 of file v4l2encstreamhandler.h.

Referenced by SetBitrateForResolution(), and SetOption().

◆ m_mediumPeakBitrate

uint V4L2encStreamHandler::m_mediumPeakBitrate {UINT_MAX}
private

Definition at line 123 of file v4l2encstreamhandler.h.

Referenced by SetBitrateForResolution(), and SetOption().

◆ m_highBitrateMode

uint V4L2encStreamHandler::m_highBitrateMode {V4L2_MPEG_VIDEO_BITRATE_MODE_VBR}
private

Definition at line 124 of file v4l2encstreamhandler.h.

Referenced by Configure(), SetBitrateForResolution(), and SetOption().

◆ m_highBitrate

uint V4L2encStreamHandler::m_highBitrate {UINT_MAX}
private

Definition at line 125 of file v4l2encstreamhandler.h.

Referenced by Configure(), SetBitrateForResolution(), and SetOption().

◆ m_highPeakBitrate

uint V4L2encStreamHandler::m_highPeakBitrate {UINT_MAX}
private

Definition at line 126 of file v4l2encstreamhandler.h.

Referenced by Configure(), SetBitrateForResolution(), and SetOption().

◆ kAudioRateL1

const std::array< const int, 14 > V4L2encStreamHandler::kAudioRateL1
staticprivate
Initial value:
{
32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448
}

Definition at line 128 of file v4l2encstreamhandler.h.

Referenced by SetOption().

◆ kAudioRateL2

const std::array< const int, 14 > V4L2encStreamHandler::kAudioRateL2
staticprivate
Initial value:
{
32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384
}

Definition at line 129 of file v4l2encstreamhandler.h.

Referenced by SetOption().

◆ kAudioRateL3

const std::array< const int, 14 > V4L2encStreamHandler::kAudioRateL3
staticprivate
Initial value:
{
32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320
}

Definition at line 130 of file v4l2encstreamhandler.h.

Referenced by SetOption().

◆ kStreamTypes

const std::array< const std::string, 15 > V4L2encStreamHandler::kStreamTypes
staticprivate
Initial value:
{
"MPEG-2 PS", "MPEG-2 TS", "MPEG-1 VCD", "PES AV",
"", "PES V", "", "PES A",
"", "", "DVD", "VCD",
"SVCD", "DVD-Special 1", "DVD-Special 2"
}

Definition at line 131 of file v4l2encstreamhandler.h.

Referenced by SetOption().

◆ m_fd

int V4L2encStreamHandler::m_fd {-1}
private

Definition at line 133 of file v4l2encstreamhandler.h.

Referenced by Close(), IsOpen(), Open(), StartEncoding(), and StopEncoding().

◆ m_audioInput

int V4L2encStreamHandler::m_audioInput {-1}
private

Definition at line 134 of file v4l2encstreamhandler.h.

Referenced by Configure().

◆ m_width

uint V4L2encStreamHandler::m_width {UINT_MAX}
private

Definition at line 136 of file v4l2encstreamhandler.h.

Referenced by Configure(), SetBitrateForResolution(), and SetOption().

◆ m_height

uint V4L2encStreamHandler::m_height {UINT_MAX}
private

Definition at line 137 of file v4l2encstreamhandler.h.

Referenced by Configure(), SetBitrateForResolution(), and SetOption().

◆ m_signalStrength

uint V4L2encStreamHandler::m_signalStrength {UINT_MAX}
private

Definition at line 138 of file v4l2encstreamhandler.h.

Referenced by GetSignalStrength().

◆ m_v4l2

V4L2util V4L2encStreamHandler::m_v4l2
private

◆ m_drb

DeviceReadBuffer* V4L2encStreamHandler::m_drb {nullptr}
private

Definition at line 141 of file v4l2encstreamhandler.h.

Referenced by AvailCount(), Close(), Open(), run(), StartEncoding(), and StopEncoding().

◆ m_vbiDevice

QString V4L2encStreamHandler::m_vbiDevice
private

Definition at line 144 of file v4l2encstreamhandler.h.

Referenced by Open(), SetBitrateForResolution(), and SetOption().

◆ m_streamingCnt

QAtomicInt V4L2encStreamHandler::m_streamingCnt {0}
private

◆ m_streamLock

QMutex V4L2encStreamHandler::m_streamLock
private

Definition at line 147 of file v4l2encstreamhandler.h.

Referenced by Open(), StartEncoding(), and StopEncoding().

◆ m_pauseEncodingAllowed

bool V4L2encStreamHandler::m_pauseEncodingAllowed {true}
private

Definition at line 149 of file v4l2encstreamhandler.h.

Referenced by StartEncoding(), and StopEncoding().


The documentation for this class was generated from the following files: