source: trunk/Utilities/Miscellaneous/SharedClockRun/Module.h @ 324

Last change on this file since 324 was 324, checked in by roman, 8 years ago
File size: 1.4 KB
Line 
1////////////////////////////////////////////////////////////
2// Copyright (C) Roman Ryltsov, 2014
3// Created by Roman Ryltsov roman@alax.info
4
5#pragma once
6
7#include "rodshow.h"
8
9////////////////////////////////////////////////////////////
10// CModule
11
12class CModule :
13        public CAtlExeModuleT<CModule>
14{
15public:
16// CModule
17        CModule()
18        {
19                AtlTraceSetDefaultSettings();
20                _Z4_THIS();
21                _W(CExceptionFilter::Initialize());
22        }
23        ~CModule()
24        {
25                _Z4_THIS();
26                CExceptionFilter::Terminate();
27        }
28        HRESULT PreMessageLoop(INT nShowCommand)
29        {
30                const HRESULT nResult = __super::PreMessageLoop(nShowCommand);
31                return SUCCEEDED(nResult) ? S_OK : nResult;
32        }
33        VOID RunMessageLoop()
34        {
35                CGenericFilterGraph FilterGraphA, FilterGraphB;
36                FilterGraphA.CoCreateInstance();
37                FilterGraphB.CoCreateInstance();
38                CComPtr<IReferenceClock> pReferenceClock;
39                __C(pReferenceClock.CoCreateInstance(CLSID_SystemClock));
40                static LPCTSTR g_pszPath = _T("E:\\Media\\Robotica_1080.wmv");
41                __C(FilterGraphA.m_pFilterGraph->RenderFile(CStringW(g_pszPath), NULL));
42                __C(FilterGraphB.m_pFilterGraph->RenderFile(CStringW(g_pszPath), NULL));
43                __C(FilterGraphA.m_pMediaFilter->SetSyncSource(pReferenceClock));
44                __C(FilterGraphB.m_pMediaFilter->SetSyncSource(pReferenceClock));
45                __C(FilterGraphA.m_pMediaControl->Run());
46                Sleep(5000);
47                __C(FilterGraphB.m_pMediaControl->Run());
48                Sleep(15000);
49        }
50};
51
Note: See TracBrowser for help on using the repository browser.