CSource Class Reference

#include <Source.h>

Inheritance diagram for CSource:

Inheritance graph
[legend]
Collaboration diagram for CSource:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual void Start ()=0
 start capturing. Perform any initilization here

virtual void Stop ()=0
 start capturing. Perform any clean-up here

virtual void Reset ()=0
 Reset to known state.

virtual void GetNextField (TDeinterlaceInfo *pInfo, BOOL AccurateTiming)=0
virtual BOOL HandleWindowsCommands (HWND hWnd, UINT wParam, LONG lParam)=0
 Returns TRUE is we process the command.

virtual LPCSTR GetStatus ()=0
 Returns a string to be displayed in the UI.

double GetFieldFrequency ()
 Get the exact freqency of the input.

virtual void Mute ()=0
 Turn off any sound.

virtual void UnMute ()=0
 Turn back on the sound.

virtual ISettingGetVolume ()=0
 returns NULL if there is no control over this value

virtual ISettingGetBalance ()=0
 returns NULL if there is no control over this value

virtual ISettingGetBrightness ()=0
 returns NULL if there is no control over this value

virtual ISettingGetContrast ()=0
 returns NULL if there is no control over this value

virtual ISettingGetHue ()=0
 returns NULL if there is no control over this value

virtual ISettingGetSaturation ()=0
 returns NULL if there is no control over this value

virtual ISettingGetSaturationU ()=0
 returns NULL if there is no control over this value

virtual ISettingGetSaturationV ()=0
 returns NULL if there is no control over this value

virtual ISettingGetAnalogueBlanking ()=0
 returns NULL if there is no control over this value

virtual ISettingGetTopOverscan ()=0
 returns NULL if there is no control over this value

virtual ISettingGetBottomOverscan ()=0
 returns NULL if there is no control over this value

virtual ISettingGetLeftOverscan ()=0
 returns NULL if there is no control over this value

virtual ISettingGetRightOverscan ()=0
 returns NULL if there is no control over this value

virtual ISettingGetHDelay ()=0
 returns NULL if there is no control over this value

virtual ISettingGetVDelay ()=0
 returns NULL if there is no control over this value

virtual eTunerId GetTunerId ()
 Get the tuner Id - this method may (and should) be overriden.

virtual eVideoFormat GetFormat ()=0
 Get the original video format e.g. PAL, NTSC.

virtual BOOL IsInTunerMode ()=0
 Are we currently showing the output from the tuner.

virtual int GetInitialWidth ()=0
 Gets the initial width of each picture in pixels.

virtual int GetInitialHeight ()=0
 Gets the initial height of each picture in pixels, for interlaced this is FieldHeight.

virtual int GetWidth ()=0
 Gets the width of each picture in pixels.

virtual int GetHeight ()=0
 Gets the height of each frame in pixels, for interlaced this is x2 FieldHeight.

virtual void SetWidth (int w)=0
 Sets the width of each picture in pixels.

BOOL HasTuner ()
 Does this source have an anologue tuner.

virtual void UpdateMenu ()=0
 Update the content of the menu.

virtual void SetMenu (HMENU hMenu)=0
 Update the menu with any settings.

virtual void HandleTimerMessages (int TimerId)=0
 Handle any timers that you control.

virtual void SetFormat (eVideoFormat NewFormat)=0
virtual BOOL SetTunerFrequency (long FrequencyId, eVideoFormat VideoFormat)=0
 Tune into channel.

virtual BOOL IsVideoPresent ()=0
 Are we capturing a proper video signal.

virtual void DecodeVBI (TDeinterlaceInfo *pInfo)=0
 If VBI data is being captured, decode it.

virtual LPCSTR GetMenuLabel ()=0
 Get string to display in source menu.

virtual BOOL OpenMediaFile (LPCSTR FileName, BOOL NewPlayList)=0
 Open the following file, return TRUE if you understand the file.

HMENU GetSourceMenu ()
 Returns the Source specific menu to display when this source is selected.

virtual BOOL IsAccessAllowed ()=0
virtual void SetAspectRatioData ()=0
virtual BOOL HasSquarePixels ()=0
virtual void ChangeSettingsBasedOnHW (int ProcessorSpeed, int TradeOff)=0
virtual LPCSTR IDString ()=0
char * GetComments ()
virtual int NumInputs (eSourceInputType InputType)=0
virtual BOOL SetInput (eSourceInputType InputType, int Nr)=0
virtual int GetInput (eSourceInputType InputType)=0
virtual const char * GetInputName (eSourceInputType InputType, int Nr)=0
virtual BOOL InputHasTuner (eSourceInputType InputType, int Nr)=0
virtual ITunerGetTuner ()=0
virtual CTreeSettingsPageGetTreeSettingsPage ()=0
 returns NULL if there is no tree settings page

virtual void SetSourceAsCurrent ()
virtual void UnsetSourceAsCurrent ()

Protected Types

enum  eSettingsSetup {
  SETUP_CHANGE_VIDEOINPUT = 1 << 4, SETUP_CHANGE_VIDEOFORMAT = 1 << 5, SETUP_CHANGE_AUDIOINPUT = 1 << 6, SETUP_CHANGE_CHANNEL = 1 << 7,
  SETUP_CHANGE_ANY = 0x00F0
}

Protected Member Functions

 CSource (long SetMessage, long MenuId)
void NotifySizeChange ()
void NotifySquarePixelsCheck ()
void ChangeDefaultsForSetup (WORD Setup, BOOL bDontSetValue)
virtual void ChangeDefaultsForVideoFormat (BOOL bDontSetValue)=0
virtual void ChangeDefaultsForVideoInput (BOOL bDontSetValue)=0
virtual void ChangeDefaultsForAudioInput (BOOL bDontSetValue)=0

Protected Attributes

double m_FieldFrequency
HMENU m_hMenu
std::string m_Comments

Detailed Description

Abstract interface for Source. This class abstracts a thing that produces images. It allows the control over some standard properties and access to other source specific ones. The key function is GetNextField which fills the info structure with the most recent data


Member Function Documentation

virtual void CSource::GetNextField TDeinterlaceInfo *  pInfo,
BOOL  AccurateTiming
[pure virtual]
 

Fill the TDeinteralceInfo structure with the most recent data and update the history. The Accuarate timing flag is used by JudderTermonator to tell the code to time the input Frequency exactly.

Implemented in CBT848Source, CCX2388xSource, CDSSourceBase, CSAA7134Source, and CStillSource.

void CSource::NotifySizeChange  )  [protected]
 

Notify dscaler that the input size has changed. Call this function when the width and/or height has changed.

virtual void CSource::SetFormat eVideoFormat  NewFormat  )  [pure virtual]
 

Set the video format e.g. PAL, NTSC Will get called by auto forfat detect in the processing thread so do not stop the processing to habdle this command Normal processing is to post message to yourself using API

Implemented in CBT848Source, CCX2388xSource, CDSSourceBase, CSAA7134Source, and CStillSource.


The documentation for this class was generated from the following files:
Generated on Mon Oct 27 09:54:55 2003 for DScaler by doxygen 1.3.4