C# 클래스 TvLibrary.Implementations.DVB.TvDvbChannel

Base class for all dvb channels
상속: BaseSubChannel, ITeletextCallBack, IPMTCallback, ICACallback, ITvSubChannel, IVideoAudioObserver
파일 보기 프로젝트 열기: MediaPortal/MediaPortal-1 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
_channelInfo TvLibrary.Implementations.DVB.Structures.ChannelInfo
_currentAudioStream TvLibrary.Implementations.DVB.DVBAudioStream
_eventPMT System.Threading.ManualResetEvent
_graphBuilder IFilterGraph2
_mdplugs TvLibrary.Implementations.DVB.MDPlugs
_pmtData byte[]
_pmtLength int
_pmtPid int
_pmtRequested bool
_pmtVersion int
_subChannelIndex int
_tsFilterInterface ITsFilter

공개 메소드들

메소드 설명
CancelTune ( ) : void

cancels the tune

GetStreamQualityCounters ( int &totalBytes, int &discontinuityCounter ) : void

Fetches the stream quality information

OnAfterTune ( ) : void

Should be called when the graph is tuned to the new channel resets the state

OnBeforeTune ( ) : void

Should be called before tuning to a new channel resets the state

OnCaReceived ( ) : int

Called when tswriter.ax has received a new ca section

OnGraphStart ( ) : void

Should be called when the graph is about to start Resets the state If graph is already running, starts the pmt grabber to grab the pmt for the new channel

OnGraphStarted ( ) : void

Should be called when the graph has been started. Sets up the PMT grabber to grab the PMT of the channel when the graph hasn't been running previously

OnGraphStop ( ) : void

Should be called when graph is about to stop. stops any timeshifting/recording on this channel

OnGraphStopped ( ) : void

should be called when graph has been stopped Resets the graph state

OnPMTReceived ( int pmtPid ) : int

Called when tswriter.ax has received a new pmt

TvDvbChannel ( ) : System

Initializes a new instance of the TvDvbChannel class.

TvDvbChannel ( IFilterGraph2 graphBuilder, TvLibrary.Implementations.DVB.ConditionalAccess ca, TvLibrary.Implementations.DVB.MDPlugs mdplugs, IBaseFilter tif, IBaseFilter tsWriter, int subChannelId, IChannel channel ) : System

Initializes a new instance of the TvDvbChannel class.

보호된 메소드들

메소드 설명
GraphRunning ( ) : bool

Checks if the graph is running

OnDecompose ( ) : void

disposes this channel

OnGetTimeShiftFilePosition ( System.Int64 &position, long &bufferId ) : void

Returns the position in the current timeshift file and the id of the current timeshift file

OnGrabTeletext ( ) : void

A derrived class should activate or deactivate the teletext grabbing on the tv card.

OnStartRecording ( string fileName ) : void

Starts recording

OnStartTimeShifting ( string fileName ) : bool

sets the filename used for timeshifting

OnStopRecording ( ) : void

Stop recording

OnStopTimeShifting ( ) : void

Stop recording

SendPmtToCam ( bool &updatePids, int &waitInterval ) : bool

Decodes the PMT and sends the PMT to cam.

SetMpegPidMapping ( ChannelInfo info ) : void

maps the correct pids to the TsFileSink filter and teletext pins

SetRecorderPids ( ) : void

Sets the pids for the recorder

SetTimeShiftPids ( ) : void

Sets the pids for the timeshifter

SetupPmtGrabber ( int pmtPid, int serviceId ) : bool

Instructs the ts analyzer filter to start grabbing the PMT

WaitForPMT ( ) : bool

Wait for PMT to be found in the transport stream.

비공개 메소드들

메소드 설명
PersistPMTtoDataBase ( int pmtPid ) : void
ThrowExceptionIfTuneCancelled ( ) : void

메소드 상세

CancelTune() 공개 메소드

cancels the tune
public CancelTune ( ) : void
리턴 void

GetStreamQualityCounters() 공개 메소드

Fetches the stream quality information
public GetStreamQualityCounters ( int &totalBytes, int &discontinuityCounter ) : void
totalBytes int Amount of packets processed
discontinuityCounter int Number of stream discontinuities
리턴 void

GraphRunning() 보호된 메소드

Checks if the graph is running
protected GraphRunning ( ) : bool
리턴 bool

OnAfterTune() 공개 메소드

Should be called when the graph is tuned to the new channel resets the state
public OnAfterTune ( ) : void
리턴 void

OnBeforeTune() 공개 메소드

Should be called before tuning to a new channel resets the state
public OnBeforeTune ( ) : void
리턴 void

OnCaReceived() 공개 메소드

Called when tswriter.ax has received a new ca section
public OnCaReceived ( ) : int
리턴 int

OnDecompose() 보호된 메소드

disposes this channel
protected OnDecompose ( ) : void
리턴 void

OnGetTimeShiftFilePosition() 보호된 메소드

Returns the position in the current timeshift file and the id of the current timeshift file
protected OnGetTimeShiftFilePosition ( System.Int64 &position, long &bufferId ) : void
position System.Int64 The position in the current timeshift buffer file
bufferId long The id of the current timeshift buffer file
리턴 void

OnGrabTeletext() 보호된 메소드

A derrived class should activate or deactivate the teletext grabbing on the tv card.
protected OnGrabTeletext ( ) : void
리턴 void

OnGraphStart() 공개 메소드

Should be called when the graph is about to start Resets the state If graph is already running, starts the pmt grabber to grab the pmt for the new channel
public OnGraphStart ( ) : void
리턴 void

OnGraphStarted() 공개 메소드

Should be called when the graph has been started. Sets up the PMT grabber to grab the PMT of the channel when the graph hasn't been running previously
public OnGraphStarted ( ) : void
리턴 void

OnGraphStop() 공개 메소드

Should be called when graph is about to stop. stops any timeshifting/recording on this channel
public OnGraphStop ( ) : void
리턴 void

OnGraphStopped() 공개 메소드

should be called when graph has been stopped Resets the graph state
public OnGraphStopped ( ) : void
리턴 void

OnPMTReceived() 공개 메소드

Called when tswriter.ax has received a new pmt
public OnPMTReceived ( int pmtPid ) : int
pmtPid int
리턴 int

OnStartRecording() 보호된 메소드

Starts recording
protected OnStartRecording ( string fileName ) : void
fileName string filename to which to recording should be saved
리턴 void

OnStartTimeShifting() 보호된 메소드

sets the filename used for timeshifting
protected OnStartTimeShifting ( string fileName ) : bool
fileName string timeshifting filename
리턴 bool

OnStopRecording() 보호된 메소드

Stop recording
protected OnStopRecording ( ) : void
리턴 void

OnStopTimeShifting() 보호된 메소드

Stop recording
protected OnStopTimeShifting ( ) : void
리턴 void

SendPmtToCam() 보호된 메소드

Decodes the PMT and sends the PMT to cam.
protected SendPmtToCam ( bool &updatePids, int &waitInterval ) : bool
updatePids bool
waitInterval int
리턴 bool

SetMpegPidMapping() 보호된 메소드

maps the correct pids to the TsFileSink filter and teletext pins
protected SetMpegPidMapping ( ChannelInfo info ) : void
info TvLibrary.Implementations.DVB.Structures.ChannelInfo
리턴 void

SetRecorderPids() 보호된 메소드

Sets the pids for the recorder
protected SetRecorderPids ( ) : void
리턴 void

SetTimeShiftPids() 보호된 메소드

Sets the pids for the timeshifter
protected SetTimeShiftPids ( ) : void
리턴 void

SetupPmtGrabber() 보호된 메소드

Instructs the ts analyzer filter to start grabbing the PMT
protected SetupPmtGrabber ( int pmtPid, int serviceId ) : bool
pmtPid int pid of the PMT
serviceId int The service id.
리턴 bool

TvDvbChannel() 공개 메소드

Initializes a new instance of the TvDvbChannel class.
public TvDvbChannel ( ) : System
리턴 System

TvDvbChannel() 공개 메소드

Initializes a new instance of the TvDvbChannel class.
public TvDvbChannel ( IFilterGraph2 graphBuilder, TvLibrary.Implementations.DVB.ConditionalAccess ca, TvLibrary.Implementations.DVB.MDPlugs mdplugs, IBaseFilter tif, IBaseFilter tsWriter, int subChannelId, IChannel channel ) : System
graphBuilder IFilterGraph2 The graph builder.
ca TvLibrary.Implementations.DVB.ConditionalAccess The ca.
mdplugs TvLibrary.Implementations.DVB.MDPlugs The mdplugs class.
tif IBaseFilter The tif filter.
tsWriter IBaseFilter The ts writer filter.
subChannelId int The subchannel id
channel IChannel The corresponding channel
리턴 System

WaitForPMT() 보호된 메소드

Wait for PMT to be found in the transport stream.
protected WaitForPMT ( ) : bool
리턴 bool

프로퍼티 상세

_channelInfo 보호되어 있는 프로퍼티

Channel Info
protected ChannelInfo,TvLibrary.Implementations.DVB.Structures _channelInfo
리턴 TvLibrary.Implementations.DVB.Structures.ChannelInfo

_currentAudioStream 보호되어 있는 프로퍼티

Current audio stream
protected DVBAudioStream,TvLibrary.Implementations.DVB _currentAudioStream
리턴 TvLibrary.Implementations.DVB.DVBAudioStream

_eventPMT 보호되어 있는 프로퍼티

Event that gets signaled when PMT arrives.
protected ManualResetEvent,System.Threading _eventPMT
리턴 System.Threading.ManualResetEvent

_graphBuilder 보호되어 있는 프로퍼티

The graph builder for the capture card graph.
protected IFilterGraph2 _graphBuilder
리턴 IFilterGraph2

_mdplugs 보호되어 있는 프로퍼티

MD Plugs
protected MDPlugs,TvLibrary.Implementations.DVB _mdplugs
리턴 TvLibrary.Implementations.DVB.MDPlugs

_pmtData 보호되어 있는 프로퍼티

PMT data
protected byte[] _pmtData
리턴 byte[]

_pmtLength 보호되어 있는 프로퍼티

PMT data length
protected int _pmtLength
리턴 int

_pmtPid 보호되어 있는 프로퍼티

PMT Pid
protected int _pmtPid
리턴 int

_pmtRequested 보호되어 있는 프로퍼티

Indicates that PMT was grabbed true : requested false: not requested
protected bool _pmtRequested
리턴 bool

_pmtVersion 보호되어 있는 프로퍼티

PMT version
protected int _pmtVersion
리턴 int

_subChannelIndex 보호되어 있는 프로퍼티

SubChannel index
protected int _subChannelIndex
리턴 int

_tsFilterInterface 보호되어 있는 프로퍼티

Ts filter instance
protected ITsFilter _tsFilterInterface
리턴 ITsFilter