ASIRecorder Class Reference

This is a specialization of DTVRecorder used to handle streams from ASI drivers. More...

#include <asirecorder.h>

Inheritance diagram for ASIRecorder:
DTVRecorder RecorderBase MPEGStreamListener MPEGSingleProgramStreamListener DVBMainStreamListener ATSCMainStreamListener TSPacketListener TSPacketListenerAV

List of all members.

Public Member Functions

 ASIRecorder (TVRec *rec, ASIChannel *channel)
void SetOptionsFromProfile (RecordingProfile *profile, const QString &videodev, const QString &audiodev, const QString &vbidev)
 Sets basic recorder options.
void SetOption (const QString &name, int value)
 handles the "recordmpts" option.
void run (void)
 run() starts the recording process, and does not exit until the recording is complete.
bool Open (void)
bool IsOpen (void) const
void Close (void)

Private Attributes

ASIChannelm_channel
ASIStreamHandlerm_stream_handler
bool m_record_mpts

Detailed Description

This is a specialization of DTVRecorder used to handle streams from ASI drivers.

This has been written and tested with the DVEO ASI hardware and drivers. Those particular drivers do not come with udev rules so you will need to create the following rule in /etc/udev/rules.d/99-asi.rules

SUBSYSTEM=="asi", OWNER="mythtv", GROUP="video", MODE="0660", RUN+="/etc/udev/asi.sh" OPTIONS+="last_rule"

Also, create a /etc/udev/asi.sh file with the following contents:

#!/bin/sh

for VAL in buffers bufsize dev granularity mode null_packets timestamps transport uevent clock_source; do
  chown mythtv /sys/devices/*/*/*/dvbm/*/asi*/$VAL ;
  chgrp video /sys/devices/*/*/*/dvbm/*/asi*/$VAL ;
  chmod g+rw /sys/devices/*/*/*/dvbm/*/asi*/$VAL ;
  chmod g-x /sys/devices/*/*/*/dvbm/*/asi*/$VAL ;
  ls -l /sys/devices/*/*/*/dvbm/*/asi*/$VAL ;
done

Be sure to mark asi.sh as executable with "chmod a+x /etc/udev/asi.sh" udev will silently ignore it if it is not marked.

This of course assumes you want MythTV to have access to all asi device, if this is not the case, you will need to write a more specific rule and modify the asi.sh to only grant permission on a specific asi revice

See also:
DTVRecorder

Definition at line 55 of file asirecorder.h.


Constructor & Destructor Documentation

ASIRecorder::ASIRecorder ( TVRec rec,
ASIChannel channel 
)

Definition at line 33 of file asirecorder.cpp.


Member Function Documentation

void ASIRecorder::SetOptionsFromProfile ( RecordingProfile profile,
const QString &  videodev,
const QString &  audiodev,
const QString &  vbidev 
) [virtual]

Sets basic recorder options.

SetOptionsFromProfile is used to tell the recorder about the recording profile as well as the devices to use.

Reimplemented from DTVRecorder.

Definition at line 42 of file asirecorder.cpp.

void ASIRecorder::SetOption ( const QString &  name,
int  value 
) [virtual]

handles the "recordmpts" option.

Reimplemented from DTVRecorder.

Definition at line 57 of file asirecorder.cpp.

Referenced by SetOptionsFromProfile().

void ASIRecorder::run ( void   )  [virtual]

run() starts the recording process, and does not exit until the recording is complete.

See also:
StopRecording()

Implements RecorderBase.

Definition at line 65 of file asirecorder.cpp.

bool ASIRecorder::Open ( void   ) 

Definition at line 156 of file asirecorder.cpp.

Referenced by run().

bool ASIRecorder::IsOpen ( void   )  const

Definition at line 173 of file asirecorder.cpp.

Referenced by Close(), and Open().

void ASIRecorder::Close ( void   ) 

Definition at line 178 of file asirecorder.cpp.

Referenced by run().


Member Data Documentation

Definition at line 73 of file asirecorder.h.

Referenced by Open(), and run().

Definition at line 74 of file asirecorder.h.

Referenced by Close(), IsOpen(), Open(), and run().

Definition at line 75 of file asirecorder.h.

Referenced by run(), and SetOption().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Mon May 28 06:41:51 2012 for MythTV by  doxygen 1.6.3