Exemple #1
0
void CMediaFormats::UpdateData(bool fSave)
{
    if (fSave) {
        AfxGetApp()->WriteProfileString(_T("FileFormats"), NULL, NULL);

        AfxGetApp()->WriteProfileInt(_T("FileFormats"), _T("RtspHandler"), m_iRtspHandler);
        AfxGetApp()->WriteProfileInt(_T("FileFormats"), _T("RtspFileExtFirst"), m_fRtspFileExtFirst);
    } else {
        RemoveAll();

#define ADDFMT(f) Add(CMediaFormatCategory##f)

        ADDFMT((_T("avi"),         ResStr(IDS_MFMT_AVI),         _T("avi")));
        ADDFMT((_T("mpeg"),        ResStr(IDS_MFMT_MPEG),        _T("mpg mpeg mpe m1v m2v mpv2 mp2v pva evo m2p")));
        ADDFMT((_T("mpegts"),      ResStr(IDS_MFMT_MPEGTS),      _T("ts tp trp m2t m2ts mts rec")));
        ADDFMT((_T("dvdvideo"),    ResStr(IDS_MFMT_DVDVIDEO),    _T("vob ifo")));
        ADDFMT((_T("mkv"),         ResStr(IDS_MFMT_MKV),         _T("mkv")));
        ADDFMT((_T("webm"),        ResStr(IDS_MFMT_WEBM),        _T("webm")));
        ADDFMT((_T("mp4"),         ResStr(IDS_MFMT_MP4),         _T("mp4 m4v mp4v mpv4 hdmov")));
        ADDFMT((_T("mov"),         ResStr(IDS_MFMT_MOV),         _T("mov"), false, _T("QuickTime or QT Lite")));
        ADDFMT((_T("3gp"),         ResStr(IDS_MFMT_3GP),         _T("3gp 3gpp 3ga")));
#ifdef _WIN64
        ADDFMT((_T("3g2"),         ResStr(IDS_MFMT_3G2),         _T("3g2 3gp2")));
#else
        ADDFMT((_T("3g2"),         ResStr(IDS_MFMT_3G2),         _T("3g2 3gp2"), false, _T("QuickTime or QT Lite"), QuickTime));
#endif
        ADDFMT((_T("flv"),         ResStr(IDS_MFMT_FLV),         _T("flv f4v")));
        ADDFMT((_T("ogm"),         ResStr(IDS_MFMT_OGM),         _T("ogm ogv")));
#ifdef _WIN64
        ADDFMT((_T("rm"),          ResStr(IDS_MFMT_RM),          _T("rm ram rpm rmm")));
        ADDFMT((_T("rt"),          ResStr(IDS_MFMT_RT),          _T("rt rp smi smil")));
#else
        ADDFMT((_T("rm"),          ResStr(IDS_MFMT_RM),          _T("rm ram rmm"), false, _T("RealPlayer or Real Alternative"), RealMedia));
        ADDFMT((_T("rt"),          ResStr(IDS_MFMT_RT),          _T("rt rp smi smil"), false, _T("RealPlayer or Real Alternative"), RealMedia));
#endif
        ADDFMT((_T("wmv"),         ResStr(IDS_MFMT_WMV),         _T("wmv wmp wm asf")));
        ADDFMT((_T("bink"),        ResStr(IDS_MFMT_BINK),        _T("smk bik"), false, _T("smackw32/binkw32.dll in dll path")));
        ADDFMT((_T("flic"),        ResStr(IDS_MFMT_FLIC),        _T("fli flc flic")));
        ADDFMT((_T("dsm"),         ResStr(IDS_MFMT_DSM),         _T("dsm dsv dsa dss")));
        ADDFMT((_T("ivf"),         ResStr(IDS_MFMT_IVF),         _T("ivf")));
        ADDFMT((_T("dvd2avi"),     ResStr(IDS_MFMT_D2V),         _T("d2v")));
        ADDFMT((_T("swf"),         ResStr(IDS_MFMT_SWF),         _T("swf"), false, _T("ShockWave ActiveX control"), ShockWave));
        ADDFMT((_T("other"),       ResStr(IDS_MFMT_OTHER),       _T("divx rmvb amv")));
        ADDFMT((_T("ac3dts"),      ResStr(IDS_MFMT_AC3),         _T("ac3 dts"), true));
        ADDFMT((_T("aiff"),        ResStr(IDS_MFMT_AIFF),        _T("aif aifc aiff"), true));
        ADDFMT((_T("alac"),        ResStr(IDS_MFMT_ALAC),        _T("alac"), true));
        ADDFMT((_T("amr"),         ResStr(IDS_MFMT_AMR),         _T("amr"), true));
        ADDFMT((_T("ape"),         ResStr(IDS_MFMT_APE),         _T("ape apl"), true));
        ADDFMT((_T("au"),          ResStr(IDS_MFMT_AU),          _T("au snd"), true));
        ADDFMT((_T("audiocd"),     ResStr(IDS_MFMT_CDA),         _T("cda"), true));
        ADDFMT((_T("flac"),        ResStr(IDS_MFMT_FLAC),        _T("flac"), true));
#ifdef _WIN64
        ADDFMT((_T("m4a"),         ResStr(IDS_MFMT_M4A),         _T("m4a m4b m4r aac"), true));
#else
        ADDFMT((_T("m4a"),         ResStr(IDS_MFMT_M4A),         _T("m4a m4b m4r aac"), true, _T(""), QuickTime));
#endif
        ADDFMT((_T("midi"),        ResStr(IDS_MFMT_MIDI),        _T("mid midi rmi"), true));
        ADDFMT((_T("mka"),         ResStr(IDS_MFMT_MKA),         _T("mka"), true));
        ADDFMT((_T("mp3"),         ResStr(IDS_MFMT_MP3),         _T("mp3"), true));
        ADDFMT((_T("mpa"),         ResStr(IDS_MFMT_MPA),         _T("mpa mp2 m1a m2a"), true));
        ADDFMT((_T("mpc"),         ResStr(IDS_MFMT_MPC),         _T("mpc"), true));
        ADDFMT((_T("ofr"),         ResStr(IDS_MFMT_OFR),         _T("ofr ofs"), true));
        ADDFMT((_T("ogg"),         ResStr(IDS_MFMT_OGG),         _T("ogg oga"), true));
        ADDFMT((_T("opus"),        ResStr(IDS_MFMT_OPUS),        _T("opus"), true));
#ifdef _WIN64
        ADDFMT((_T("ra"),          ResStr(IDS_MFMT_RA),          _T("ra"), true));
#else
        ADDFMT((_T("ra"),          ResStr(IDS_MFMT_RA),          _T("ra"), true, _T("RealPlayer or Real Alternative"), RealMedia));
#endif
        ADDFMT((_T("tak"),         ResStr(IDS_MFMT_TAK),         _T("tak"), true));
        ADDFMT((_T("tta"),         ResStr(IDS_MFMT_TTA),         _T("tta"), true));
        ADDFMT((_T("wav"),         ResStr(IDS_MFMT_WAV),         _T("wav"), true));
        ADDFMT((_T("wma"),         ResStr(IDS_MFMT_WMA),         _T("wma"), true));
        ADDFMT((_T("wavpack"),     ResStr(IDS_MFMT_WV),          _T("wv"), true));
        ADDFMT((_T("other_audio"), ResStr(IDS_MFMT_OTHER_AUDIO), _T("aob mlp"), true));
        ADDFMT((_T("pls"),         ResStr(IDS_MFMT_PLS),         _T("asx m3u m3u8 pls wvx wax wmx mpcpl")));
        ADDFMT((_T("bdpls"),       ResStr(IDS_MFMT_BDPLS),       _T("mpls bdmv")));
#undef ADDFMT

        m_iRtspHandler = (engine_t)AfxGetApp()->GetProfileInt(_T("FileFormats"), _T("RtspHandler"), (int)RealMedia);
        m_fRtspFileExtFirst = !!AfxGetApp()->GetProfileInt(_T("FileFormats"), _T("RtspFileExtFirst"), 1);
    }

    for (size_t i = 0; i < GetCount(); i++) {
        GetAt(i).UpdateData(fSave);
    }
}
BOOL	CAviCap::_testValidFormats()
{
	BOOL oldFlag = _fShow;
	_fShow = FALSE;
	int	xGran=DEF_FRAMESIZE_GRAN_X, x, xS;
	int	yGran=DEF_FRAMESIZE_GRAN_Y, y, yS;
	
	int minx=2048,ix=-1,i;

	BOOL 	St1=FALSE;
	BOOL 	St2=FALSE;
	BOOL 	St3=FALSE;
	
	_formats .SetSize(0,1);
	
	_notify(lpNotify020,0);

// In first, test some standard PAL formats:
// 384x288, 768x576
	if(_testFrameFormat(384, 288))
		  {ADDFMT( 384, 288); }
	_notify(lpNotify020,50);
	
	if(_testFrameFormat(768,576))
		  {ADDFMT( 768,576); }
	_notify(lpNotify020,100);

	
	_notify(lpNotify02,0);

// In second, test some standard NTSC formats:
// 160x120, 320x240, 640x480
	if(_testFrameFormat(160, 120))
		  {ADDFMT( 160, 120); St1=TRUE;}
	
	_notify(lpNotify02,10);

	if(_testFrameFormat(320, 240))
		  {ADDFMT( 320, 240); St2=TRUE;}
	
	_notify(lpNotify02,20);

	if(_testFrameFormat(640, 480))
		  {ADDFMT(640, 480); St3=TRUE;}
	
	_notify(lpNotify02,30);

	// Now try to found size granularity!
	//
	if(St2)	 // Middle-Resolition Grabber
		{
		xS=x=320; yS=y=240;
		while(1) //Up
			{
			x+=xGran;y+=yGran;
			if(x>=640)	break;//nothing 8-(
			
			if(_testFrameFormat(x, y))	goto found;
			}
		
		xS=x=320; yS=y=240;
		while(1) //Down
			{
			x-=xGran;y-=yGran;
			if(x<=160)	break;//nothing 8-(
			
			if(_testFrameFormat(x, y))	goto found;
			}
		}
	else	if( St3)	//If High-resolution Grabber - start from this
		     {
			xS=x=640; yS=y=480;
			while(1) //Up
				{
				x+=xGran;y+=yGran;
				if(x>1200)	break;//nothing!
				
				if(_testFrameFormat(x, y))	goto found;
				}
		
			xS=x=640; yS=y=480;
			while(1) //Down
				{
				x-=xGran;y-=yGran;
				if(x<=360)	break;//nothing!
				
				if(_testFrameFormat(x, y))	goto found;
				
				}
		      }//end of high resolution
		else	if(St1)	//Low-Resolution Grabber
				{
				xS=x=160; yS=y=120;
				while(1) //Up
					{
					x+=xGran;y+=yGran;
					if(x>=320)	break;//nothing!
					if(_testFrameFormat(x, y))	goto found;
					}
		
				xS=x=160; yS=y=120;
				while(1) //Down
					{
					x-=xGran;y-=yGran;
					if(x<=60)	break;//nothing!
						if(_testFrameFormat(x, y))	goto found;
					}
				}//end of low resolution

	//end of testing for frame sizes
	_notify(lpNotify02,90);

	capSetVideoFormat(GetSafeHwnd(), _bmpInfo, (WORD)_getBMIsize(_bmpInfo));
	if(_formats .GetSize()==0&&
	_testFrameFormat(((LPBITMAPINFOHEADER)_bmpInfo)->biWidth, 
			((LPBITMAPINFOHEADER)_bmpInfo)->biHeight))
			
			ADDFMT( ((LPBITMAPINFOHEADER)_bmpInfo)->biWidth,
			((LPBITMAPINFOHEADER)_bmpInfo)->biHeight);
		
	 
	//finding for smallest frame	 
	 for(i=0;i<_formats.GetSize();i++)
	       if(minx>_XXXX())	{ix=i; minx=_XXXX();}	
	if(ix!=-1)
		{
		_smallFrame.cx=(int)HIWORD(_formats[ix]);
		_smallFrame.cy=(int)LOWORD(_formats[ix]);
		}

	_notify(lpNotify02,100);
	return TRUE;	

found:
	xGran=abs(x-xS);
	yGran=abs(y-yS);

	// Walking through standard formats UP
	x=320; y=240;
	while(1)
		{
		x+=xGran;y+=yGran;
		if(x>1024)	break;	//Let's stop now!
		if(x==640&&y==480)	continue;
		if(_testFrameFormat(x, y))	ADDFMT( x, y);
		}
	_notify(lpNotify02,50);
	
	// Walk through standard formats DOWN
	x=320; y=240;
	while(1)
		{
		x-=xGran;y-=yGran;
		if(x<60)	break;//nothing!
		if(x==160&&y==120)	continue;
		if(_testFrameFormat(x, y))	ADDFMT( x, y);
		}
	 _notify(lpNotify02,100);
	
	//find smallest frame	 
	 for(i=0;i<_formats.GetSize();i++)
	       if(minx>_XXXX())	{ix=i; minx=_XXXX();}	
	  if(ix!=-1)
		{
		_smallFrame.cx=(int)HIWORD(_formats[ix]);
		_smallFrame.cy=(int)LOWORD(_formats[ix]);
		}

	//test completed
	//restore old format and return
	_fShow = oldFlag;
	return capSetVideoFormat(GetSafeHwnd(), _bmpInfo, (WORD)_getBMIsize(_bmpInfo));
}
void CMediaFormats::UpdateData(bool fSave)
{
	if (fSave) {
		AfxGetApp()->WriteProfileString(_T("FileFormats"), NULL, NULL);
	} else {
		RemoveAll();

#define ADDFMT(f) Add(CMediaFormatCategory##f)
		// video files
		ADDFMT((_T("avi"),         ResStr(IDS_MFMT_AVI),         _T("avi")));
		ADDFMT((_T("mpeg"),        ResStr(IDS_MFMT_MPEG),        _T("mpg mpeg mpe m1v m2v mpv2 mp2v pva evo m2p")));
		ADDFMT((_T("mpegts"),      ResStr(IDS_MFMT_MPEGTS),      _T("ts tp trp m2t m2ts mts rec ssif")));
		ADDFMT((_T("dvdvideo"),    ResStr(IDS_MFMT_DVDVIDEO),    _T("vob ifo")));
		ADDFMT((_T("mkv"),         ResStr(IDS_MFMT_MKV),         _T("mkv")));
		ADDFMT((_T("webm"),        ResStr(IDS_MFMT_WEBM),        _T("webm")));
		ADDFMT((_T("mp4"),         ResStr(IDS_MFMT_MP4),         _T("mp4 m4v mp4v mpv4 hdmov")));
		ADDFMT((_T("mov"),         ResStr(IDS_MFMT_MOV),         _T("mov")));
		ADDFMT((_T("3gp"),         ResStr(IDS_MFMT_3GP),         _T("3gp 3gpp 3ga")));
		ADDFMT((_T("3g2"),         ResStr(IDS_MFMT_3G2),         _T("3g2 3gp2")));
		ADDFMT((_T("flv"),         ResStr(IDS_MFMT_FLV),         _T("flv f4v")));
		ADDFMT((_T("ogm"),         ResStr(IDS_MFMT_OGM),         _T("ogm ogv")));
		ADDFMT((_T("rm"),          ResStr(IDS_MFMT_RM),          _T("rm ram rmm")));
		ADDFMT((_T("roq"),         ResStr(IDS_MFMT_ROQ),         _T("roq")));
		ADDFMT((_T("rt"),          ResStr(IDS_MFMT_RT),          _T("rt rp smil")));
		ADDFMT((_T("wmv"),         ResStr(IDS_MFMT_WMV),         _T("wmv wmp wm asf")));
//		ADDFMT((_T("videocd"),     ResStr(IDS_MFMT_VIDEOCD),     _T("dat")));
		ADDFMT((_T("ratdvd"),      ResStr(IDS_MFMT_RATDVD),      _T("ratdvd"), TVideo, _T("ratdvd media file")));
		ADDFMT((_T("bink"),        ResStr(IDS_MFMT_BINK),        _T("smk bik"), TVideo, _T("smackw32/binkw32.dll in dll path")));
		ADDFMT((_T("flic"),        ResStr(IDS_MFMT_FLIC),        _T("fli flc flic")));
		ADDFMT((_T("dsm"),         ResStr(IDS_MFMT_DSM),         _T("dsm dsv dsa dss")));
		ADDFMT((_T("ivf"),         ResStr(IDS_MFMT_IVF),         _T("ivf")));
		ADDFMT((_T("swf"),         ResStr(IDS_MFMT_SWF),         _T("swf"), TVideo, _T("ShockWave ActiveX control"), ShockWave));
		ADDFMT((_T("other"),       ResStr(IDS_MFMT_OTHER),       _T("divx rmvb amv wtv dvr-ms")));
		ADDFMT((_T("raw video"),   ResStr(IDS_MFMT_RAW_VIDEO),   _T("h264 264 vc1 h265 265 hm10 hevc")));
		// audio files
		ADDFMT((_T("ac3dts"),      ResStr(IDS_MFMT_AC3),         _T("ac3 dts dtshd"), TAudio));
		ADDFMT((_T("aiff"),        ResStr(IDS_MFMT_AIFF),        _T("aif aifc aiff"), TAudio));
		ADDFMT((_T("alac"),        ResStr(IDS_MFMT_ALAC),        _T("alac"), TAudio));
		ADDFMT((_T("amr"),         ResStr(IDS_MFMT_AMR),         _T("amr"), TAudio));
		ADDFMT((_T("ape"),         ResStr(IDS_MFMT_APE),         _T("ape apl"), TAudio));
		ADDFMT((_T("au"),          ResStr(IDS_MFMT_AU),          _T("au snd"), TAudio));
		ADDFMT((_T("audiocd"),     ResStr(IDS_MFMT_CDA),         _T("cda"), TAudio));
		ADDFMT((_T("dvdaudio"),    ResStr(IDS_MFMT_DVDAUDIO),    _T("aob"), TAudio));
		ADDFMT((_T("flac"),        ResStr(IDS_MFMT_FLAC),        _T("flac"), TAudio));
		ADDFMT((_T("m4a"),         ResStr(IDS_MFMT_M4A),         _T("m4a m4b aac"), TAudio));
		ADDFMT((_T("midi"),        ResStr(IDS_MFMT_MIDI),        _T("mid midi rmi"), TAudio));
		ADDFMT((_T("mka"),         ResStr(IDS_MFMT_MKA),         _T("mka"), TAudio));
		ADDFMT((_T("mlp"),         ResStr(IDS_MFMT_MLP),         _T("mlp"), TAudio));
		ADDFMT((_T("mp3"),         ResStr(IDS_MFMT_MP3),         _T("mp3"), TAudio));
		ADDFMT((_T("mpa"),         ResStr(IDS_MFMT_MPA),         _T("mpa mp2 m1a m2a"), TAudio));
		ADDFMT((_T("mpc"),         ResStr(IDS_MFMT_MPC),         _T("mpc"), TAudio));
		ADDFMT((_T("ofr"),         ResStr(IDS_MFMT_OFR),         _T("ofr ofs"), TAudio));
		ADDFMT((_T("ogg"),         ResStr(IDS_MFMT_OGG),         _T("ogg oga"), TAudio));
		ADDFMT((_T("ra"),          ResStr(IDS_MFMT_RA),          _T("ra"), TAudio));
		ADDFMT((_T("tak"),         ResStr(IDS_MFMT_TAK),         _T("tak"), TAudio));
		ADDFMT((_T("tta"),         ResStr(IDS_MFMT_TTA),         _T("tta"), TAudio));
		ADDFMT((_T("wav"),         ResStr(IDS_MFMT_WAV),         _T("wav w64"), TAudio));
		ADDFMT((_T("wma"),         ResStr(IDS_MFMT_WMA),         _T("wma"), TAudio));
		ADDFMT((_T("wavpack"),     ResStr(IDS_MFMT_WAVPACK),     _T("wv"), TAudio));
		ADDFMT((_T("opus"),        ResStr(IDS_MFMT_OPUS),        _T("opus"), TAudio));
		ADDFMT((_T("speex"),       ResStr(IDS_MFMT_SPEEX),       _T("spx"), TAudio));
		// playlists
		ADDFMT((_T("pls"),         ResStr(IDS_MFMT_PLS),         _T("asx m3u m3u8 pls wvx wax wmx mpcpl xspf"), TPlaylist));
		ADDFMT((_T("bdpls"),       ResStr(IDS_MFMT_BDPLS),       _T("mpls bdmv"), TVideo)); // opens as a video file
		ADDFMT((_T("cue"),         ResStr(IDS_MFMT_CUE),         _T("cue"), TPlaylist));
#undef ADDFMT
	}

	for (size_t i = 0; i < GetCount(); i++) {
		GetAt(i).UpdateData(fSave);
	}
}
Exemple #4
0
void CMediaFormats::UpdateData(bool fSave)
{
	if(fSave)
	{
		AfxGetApp()->WriteProfileString(_T("FileFormats"), NULL, NULL);

		AfxGetApp()->WriteProfileInt(_T("FileFormats"), _T("RtspHandler"), m_iRtspHandler);
		AfxGetApp()->WriteProfileInt(_T("FileFormats"), _T("RtspFileExtFirst"), m_fRtspFileExtFirst);
	}
	else
	{
		RemoveAll();

#define ADDFMT(f) Add(CMediaFormatCategory##f)

		ADDFMT((ResStr(IDS_AG_VIDEO_FILE),    _T("avi")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_17),  _T("mkv")));
		ADDFMT((_T("WebM video file"),        _T("webm")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_0),	  _T("wmv wmp wm asf")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_4),   _T("mpg mpeg mpe m1v m2v mpv2 mp2v ts tp tpr pva m2ts m2t mts evo m2p")));
		ADDFMT((_T("VCD file"),               _T("dat")));
		ADDFMT((ResStr(IDS_AG_DVD_FILE),      _T("vob ifo")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_10),  _T("ogm ogv")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_14),  _T("d2v")));
		ADDFMT((ResStr(IDS_AG_MPEG4_FILE),    _T("mp4 m4v mp4v mpv4 hdmov 3gp 3gpp")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_28),  _T("flv iflv f4v")));
		ADDFMT((ResStr(IDS_AG_FLIC_FILE),     _T("fli flc flic")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_9),   _T("ivf")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_19),  _T("smk bik"), false, _T("smackw32/binkw32.dll in dll path")));
		ADDFMT((ResStr(IDS_AG_RATDVD_FILE),   _T("ratdvd"), false, _T("ratdvd media file")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_21),  _T("roq")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_25),  _T("drc")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_26),  _T("dsm dsv dsa dss")));
		ADDFMT((_T("MP3 audio file"),         _T("mp3"), true));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_1),   _T("wma"), true));
		ADDFMT((ResStr(IDS_AG_AUDIO_FILE),    _T("wav"), true));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_5),   _T("mpa mp2 m1a m2a"), true));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_7),   _T("ac3 dts"), true));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_11),  _T("ogg oga"), true));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_18),  _T("mka"), true));
		ADDFMT((_T("CD audio track"),         _T("cda"), true, ResStr(IDS_MEDIAFORMATS_12)));
#ifdef _WIN64
		ADDFMT((ResStr(IDS_MEDIAFORMATS_16),  _T("m4a m4b aac"), true, _T(""), QuickTime));
#else
		ADDFMT((ResStr(IDS_MEDIAFORMATS_16),  _T("m4a m4b aac"), true));
#endif
		ADDFMT((ResStr(IDS_AG_MUSEPACK_FILE), _T("mpc"), true));
		ADDFMT((_T("FLAC audio file"),        _T("flac"), true));
		ADDFMT((_T("WavPack audio file"),     _T("wv"), true));
		ADDFMT((_T("ALAC audio file"),        _T("alac"), true));
		ADDFMT((_T("OptimFrog audio file"),   _T("ofr ofs"), true));
		ADDFMT((_T("Monkey's Audio file"),    _T("ape apl"), true));
		ADDFMT((_T("True audio file"),        _T("tta"), true));
		ADDFMT((_T("AMR audio file"),         _T("amr"), true));
		ADDFMT((_T("AIFF audio file"),        _T("aif aifc aiff"), true));
		ADDFMT((_T("AU audio file"),          _T("au snd"), true));
		ADDFMT((ResStr(IDS_AG_MIDI_FILE),     _T("mid midi rmi"), true));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_29),  _T("swf"), false, _T("ShockWave ActiveX control"), ShockWave));
#ifdef _WIN64
		ADDFMT((ResStr(IDS_MEDIAFORMATS_22),  _T("rm ram rpm rmm")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_23),  _T("ra"), true));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_24),  _T("rt rp smi smil")));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_30),  _T("mov 3g2 3gp2")));
#else
		ADDFMT((ResStr(IDS_MEDIAFORMATS_22),  _T("rm ram rpm rmm"), false, _T("RealPlayer or Real Alternative"), RealMedia));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_23),  _T("ra"), true, _T("RealPlayer or Real Alternative"), RealMedia));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_24),  _T("rt rp smi smil"), false, _T("RealPlayer or Real Alternative"), RealMedia));
		ADDFMT((ResStr(IDS_MEDIAFORMATS_30),  _T("mov 3g2 3gp2"), false, _T("QuickTime (Alternative)"), QuickTime));
#endif
		ADDFMT((ResStr(IDS_AG_PLAYLIST_FILE), _T("asx m3u pls wvx wax wmx mpcpl")));
		ADDFMT((_T("Blu-ray playlist file"),  _T("mpls bdmv")));
		ADDFMT((ResStr(IDS_AG_OTHER),         _T("divx rmvb amv")));

#undef ADDFMT

		m_iRtspHandler = (engine_t)AfxGetApp()->GetProfileInt(_T("FileFormats"), _T("RtspHandler"), (int)RealMedia);
		m_fRtspFileExtFirst = !!AfxGetApp()->GetProfileInt(_T("FileFormats"), _T("RtspFileExtFirst"), 1);
	}

	for(int i = 0; i < GetCount(); i++)
		GetAt(i).UpdateData(fSave);
}
Exemple #5
0
void CMediaFormats::UpdateData(bool fSave)
{
	if(fSave)
	{
		AfxGetMyApp()->WriteProfileString(_T("FileFormats"), NULL, NULL);

		AfxGetMyApp()->WriteProfileInt(_T("FileFormats"), _T("RtspHandler"), m_iRtspHandler);
		AfxGetMyApp()->WriteProfileInt(_T("FileFormats"), _T("RtspFileExtFirst"), m_fRtspFileExtFirst);
	}
	else
	{
		RemoveAll();
#define ADDFMT(f) Add(CMediaFormatCategory##f)
		ADDFMT((_T("Windows Media file"), _T("wmv wmp wm asf"), _T("video"), IDI_VIDEO));
		ADDFMT((_T("Windows Media Audio file"), _T("wma"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("Video file"), _T("avi"), _T("video"), IDI_VIDEO));
		ADDFMT((_T("Audio file"), _T("wav"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("MPEG Media file"), _T("mpg mpeg mpe m1v m2v mpv2 mp2v mod"), _T("video"), IDI_VIDEO));
		ADDFMT((_T("VCD MPEG Data file"), _T("dat"), _T("video"), IDI_VIDEO,-1));
		ADDFMT((_T("Collegesoft Media file"), _T("csf"), _T("video"), IDI_VIDEO));
		ADDFMT((_T("MPEG Transport-Stream file"), _T("ts tp tpr pva pss m2ts m2t mts evo m2p"), _T("video"), IDI_HD));
		ADDFMT((_T("MPEG Audio file"), _T("mpa mp2 m1a m2a"), _T("audio"), IDI_AUDIO_FILE, true));
    ADDFMT((_T("VP8 Webm file"), _T("webm"), _T("video"), IDI_HD));
		ADDFMT((_T("DVD file"), _T("vob ifo"), _T("video"), IDI_VIDEO));
		ADDFMT((_T("DVD Audio file"), _T("ac3 dts"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("MP3 Format Sound"), _T("mp3"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("MIDI file"), _T("mid midi rmi"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("Indeo Video file"), _T("ivf"), _T("video"), IDI_VIDEO));
		ADDFMT((_T("AIFF Format Sound"), _T("aif aifc aiff"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("Monkey's Audio APE File"), _T("ape"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("AU Format Sound"), _T("au snd"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("Ogg Media file"), _T("ogm ogv"), _T("video"), IDI_VIDEO));
		ADDFMT((_T("Ogg Vorbis Audio file"), _T("ogg"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("WavPack Audio file"), _T("wv wvc"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("CD Audio Track"), _T("cda"), _T("audio"), IDI_AUDIO_FILE, true, _T("Windows 2000/XP or better")));
		ADDFMT((_T("FLIC file"), _T("fli flc flic"), _T("audio"), IDI_AUDIO_FILE));
		ADDFMT((_T("DVD2AVI Project file"), _T("d2v"), _T("video"), IDI_VIDEO));
		ADDFMT((_T("MPEG4 file"), _T("mp4 m4v hdmov"), _T("video"), IDI_VIDEO));
		ADDFMT((_T("Mobile Phone file"), _T("3gp 3gpp"), _T("video"), IDI_VIDEO));
		ADDFMT((_T("MPEG4 Audio file"), _T("m4a m4b aac"), _T("video"), IDI_VIDEO, true));
		ADDFMT((_T("Matroska Media file"), _T("mkv"), _T("video"), IDI_HD));
		ADDFMT((_T("Matroska Audio file"), _T("mka"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("PSP/PMP Media file"), _T("pmp"), _T("video"), IDI_VIDEO, false));
		ADDFMT((_T("Smacker/Bink Media file"), _T("smk bik"), _T("video"), IDI_VIDEO, false, _T("smackw32/binkw32.dll in dll path")));
		ADDFMT((_T("ratdvd file"), _T("ratdvd"), _T("video"), IDI_VIDEO, false, _T("ratdvd media file")));
		ADDFMT((_T("RoQ Media file"), _T("roq"), _T("video"), IDI_VIDEO, false));
		ADDFMT((_T("Real Media file"), _T("rm rmvb ram rpm rmm"), _T("video"), IDI_VIDEO, false, _T("RealPlayer or Real Alternative") )); //RealMedia
		ADDFMT((_T("Real Audio file"), _T("ra"), _T("audio"), IDI_AUDIO_FILE, true, _T("RealPlayer or Real Alternative"))); // RealMedia
		ADDFMT((_T("Real Script file"), _T("rt rp smi smil"), _T("video"), IDI_VIDEO, false, _T("RealPlayer or Real Alternative"))); // RealMedia
		ADDFMT((_T("Dirac Video file"), _T("drc"), _T("video"), IDI_VIDEO, false));
		ADDFMT((_T("DirectShow Media file"), _T("dsm dsv dsa dss"), _T("video"), IDI_VIDEO));
		ADDFMT((_T("Musepack file"), _T("mpc"), _T("video"), IDI_VIDEO, true));
		ADDFMT((_T("FLAC Audio file"), _T("flac"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("ALAC Audio file"), _T("alac"), _T("audio"), IDI_AUDIO_FILE, true));
		ADDFMT((_T("Flash Video file"), _T("flv iflv f4v hlv"), _T("video"), IDI_VIDEO));
		ADDFMT((_T("Shockwave Flash file"), _T("swf"), _T("video"), IDI_VIDEO, -1, _T("ShockWave ActiveX control"), ShockWave));
		ADDFMT((_T("Shockwave Audio file"), _T("swa"), _T("audio"), IDI_AUDIO_FILE, true, _T("ShockWave ActiveX control"), ShockWave));
		ADDFMT((_T("Quicktime file"), _T("mov qt amr 3g2 3gp2"), _T("video"), IDI_VIDEO, false, _T("QuickTime or codec pack")));//QuickTime
		ADDFMT((_T("IVM file"), _T("ivm"), _T("video"), IDI_VIDEO, false));
		ADDFMT((_T("Image file"), _T("jpeg jpg bmp gif pic dib tiff tif"), _T("image") ,0, -2)); //png not supported
		ADDFMT((_T("Playlist file"), _T("asx m3u pls wvx wax wmx mpcpl cue mpls bdmv"), _T("Application"), IDI_PLAYLIST));
		ADDFMT((_T("Rar Playlist file"), _T("rar"), _T("Application"), 0, -1));
		ADDFMT((_T("Subtitle file"), _T("srt idx sub ssa ass xss usf"), _T("text"), IDI_SUBTITLE_FILE ));
		ADDFMT((_T("Other"), _T("divx vp6 amv"), _T("video"), IDI_VIDEO));
#undef ADDFMT

		m_iRtspHandler = (engine_t)AfxGetMyApp()->GetProfileInt(_T("FileFormats"), _T("RtspHandler"), (int)DirectShow); //RealMedia
		m_fRtspFileExtFirst = !!AfxGetMyApp()->GetProfileInt(_T("FileFormats"), _T("RtspFileExtFirst"), 1);
	}

	//for(int i = 0; i < GetCount(); i++)
	//	GetAt(i).UpdateData(fSave);
}