-
미디어 타입 맞추기
서버 쪽의 렌더 필터의 미디어 타입을 읽어서 보내면 그 타입이 클라이언트 쪽 소스 필터의 타입이 되게 하신다는 거죠? 일단, 한가지 조심하셔야 할게.. 렌더 필터 입력으로 들어가는 포맷은 디코딩이 끝난 출력 직전의 데이터입니다. 화면 크기에 따라 1프레임당 수백 키로 ~ 수메가 바이트가 됩니다.이 타입을 클라이언트의 소스 필터로 보내셔도 실제 영상 데이터를 그 포맷으로 맞춰서 클라이언트로 전송시키기가 어렵습니다. 양쪽의 […]
-
핀 연결하고 끊기 (기초)
질문방에 답글 올린 내용을 다시 정리하였습니다.방법은 여러가지가 있겠지만 제가 사용하고 있는 부분을 올리겠습니다. 1. 핀 연결하기 기본적으로 Graph Builder에서 제공하는 Connect 메소드를 사용합니다. pGraph->Connect(IPin pOut, IPin pIn) 로 사용할 수 있죠..문제는 여기서 연결하고자 하는 두 개의 필터에서 연결을 원하는 핀에 대한 포인터를 얻는 것인데요. 아래의 함수는 사용자가 지정한 필터(pFilter)의 출력 또는 입력측(PinDir)에 있는 현재 연결되지 않은 핀의 포인터(**ppPin)를얻어오는 루틴입니다. 얻어오는 […]
-
CString to LPCWSTR
//사용 변수 선언CString ansistr = "Hello";LPCWSTR unicodestr;//길이 저장int lenA = lstrlenA(ansistr);int lenW;lenW = ::MultiByteToWideChar(CP_ACP, 0, ansistr, lenA, 0, 0);if (lenW > 0){ // Check whether conversion was successful unicodestr = ::SysAllocStringLen(0, lenW);//형변환 함수 ::MultiByteToWideChar(CP_ACP, 0, ansistr, lenA, (LPWSTR)unicodestr, lenW);}else{ // handle the error} ::SysFreeString((BSTR)unicodestr);
-
[TIP]Dialog를 안으로 밖으로~~
질답란에 있길래 한번 만들어 보았습니다.다이얼로그를 WS_POPUP으로 사용하다가 WS_CHILD로 ~ 스타일 변경은m_pDlg->ModifyStyle(WS_CHILD, WS_POPUP|WS_BORDER|WS_CAPTION|DS_MODALFRAME); 스타일 변경하기 위해잠시 SW_HIDE ~~SW_SHOW, 부모윈도우 잡아주기 위해m_pDlg->SetParent(this); if(!m_pDlg){ m_pDlg = new CTestDlg; m_pDlg->Create(CTestDlg::IDD, this); } m_pDlg->ShowWindow(SW_HIDE); CString str; GetDlgItem(IDOK)->GetWindowText(str); if(str.Compare("OutGoing Dialog")){ GetDlgItem(IDOK)->SetWindowText("OutGoing Dialog"); m_pDlg->ModifyStyle(WS_POPUP|WS_BORDER|WS_CAPTION|DS_MODALFRAME, WS_CHILD); m_pDlg->ModifyStyleEx(0, WS_EX_DLGMODALFRAME ); m_pDlg->SetParent(this); }else{ GetDlgItem(IDOK)->SetWindowText("Cominging Dialog"); m_pDlg->ModifyStyle(WS_CHILD, WS_POPUP|WS_BORDER|WS_CAPTION|DS_MODALFRAME); m_pDlg->ModifyStyleEx(WS_EX_DLGMODALFRAME , 0); m_pDlg->SetParent(NULL); } m_pDlg->SetWindowPos(NULL, 5, 5, 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW)
-
다중뷰
— HTML 제목을 설정한다. 이 내용은 검색시 목록상에 나타나게 된다. —— –한글이 안보일 경우 charset=enu-kor 인지 확인 <META content="MSHTML 6.00.2715.400" name=GENERATOR>다음 내용은 후배들을 위해서 만든 강좌의 일부를 가져온 것입니다. 강좌를 .chm 파일로 만들고 있죠. 그중 다중뷰 제어에 대한 한 페이지만을 가져왔습니다. 쓸데없는 내용도 포함되어 있을지도 모르나 다중뷰 제어에 곤란을 느끼는 사람들에게는 유용하리라고 보여집니다.다중뷰를 생성해서 제어하는 […]
-
주요 클래스 포인터 얻기
SDI 형태 1. MainFrame 얻기 – CMainFrame* pFrm = (CMainFrame *)AfxGetMainWnd(); 2. APP 얻기 – CExamApp* pApp = (CExamApp *)AfxGetApp(); 3. Document 얻기 – CMainFrame* pFrm = (CMainFrame *)AfxGetMainWnd(); –C00Doc* pDoc = (C00Doc *)pFrm->GetActiveDocument(); 4. View 얻기 – CMainFrame* pFrm = (CMainFrame *)AfxGetMainWnd(); –C00View* pView = (C00View *)pFrm->GetActiveView(); MDI 형태 1. ChildFrame 얻기 – CMainFrame* pFrm = (CMainFrame […]
-
나의 COM(Component Object Model) 경험담 #1
나의 COM(Component Object Model) 경험담 #1 우선 앞으로의 모든 내용은 반말로 나갑니다. 기분 나쁘시면 읽지 않으셔도 됩니다. 그리고 어떠한 질문도 받지 않습니다. 답할 자신도 없습니다. 앞으로 몇 차례가 더 나갈지는 모르겠습니다. 그냥 제가 (X)리는 데로 할 생각입니다. 그럼 읽지 않으실 분들은 지금 마이크로소프트의 워드 창을 닫으시기 바랍니다. (–;;) 여기저기서 워드 닫는 소리가 들리는 군요. ^^;그리고, 이 […]
-
DirectShow 기초 1
DirectShow 많이 들어보셨을 겁니다.DirectX에 들어있는것중 하나이지요.DirectX에는 DirectSound, DirectMusic, DirectShow 가 있습니다.DirectShow는 멀티미디어의 통합관리를 한다고 생각하시면 됩니다.저도 배우면서 1주일정도 고생을 했네요.다른분들이 좀더 쉽게 이해할 수 있었으면 좋겠습니다.DirectShow! 조금 공부해보시면 알겠지만 핀, 필터 등의 개념이 생소합니다.전 이 구조를 이해하는도 오래 걸렸습니다.먼저 DirectShow를 이해하기 위해 GraphEdit 라는 프로그램이 있으면 좋습니다.graphedit.zip압축을 푼 후 regsvr32 proppage.dll 를 실행하여 proppage.dll 를 […]
-
DirectShow 비디오 윈도우 셋팅
특정위도우에 비디오 재생을 하는 방법에 대해 설명하겠습니다.…비디오파일을 나타낼때, filter graph는 video renderer filter가 포함되어 있어야 합니다.비디오는 압축되지 않은 데이터를 비디오 데이터를 입력 받고 윈도우에 스크린 나타는것을 나타냅니다.달리지정하지않으면, 비디오 재생 윈도우는 타이틀바와 테두리가 있는 최상위 윈도우입니다.어플리케이션에서 만든 특정윈도우에서 비디오가 나타나기를 원할것입니다.어플리케이션 윈도우의 자식 비디오 윈도우에 나타나게 만들것입니다.윈도우의 위치, 스타일 지정한 비디오 윈도우의 프로퍼티를 세팅해서 만들수 있습니다.Filter […]
-
[DirectShow기초] 필터와 필터 그래프
필터란? MSDN에 따르면 다음과 같다. A key component in the DirectShow architecture, a filter is a COM object that supports DirectShow interfaces or base classes. It might operate on streams of data in a variety of ways, such as reading, copying, modifying, or writing the data to a file. Sources, transform filters, and renderers are all particular […]