2013-08-07 4 views
0

. 모두들 안녕?어떻게 IMFByteStream을 사용자 정의 할 수 있습니까?

IMFByteStream 인터페이스를 사용자 정의하고 싶지만 몇 가지 문제가 있습니다.

내 문제를 설명하기 전에 내가 가진 것을 어떻게 생성하는지 설명합니다.

먼저 사용자 지정 IMFByteStream에는 MFCreateFile 메서드를 사용하여 만든 IMFByteStream의 인스턴스가 있습니다. 따라서 우리는 필요한 것들을 구현할 필요가있다. (BeginRead, Read 등)

둘째, 수신 된 데이터를 해독해야한다. 파일이 암호화 되었기 때문입니다.

결과적으로 읽기 순서는 다음과 같습니다.() -> CustomByteStream :: Read() -> IMFByteStream :: Read() -> CustomByteStream :: Decrypt() -> 해독 된 데이터를 전달합니다.

하지만 데이터를 전달하는 방법을 모르겠습니다. AsyncResult 또는 AsyncCallback을 사용해야합니까? 나는 어떻게 해야할지 모르겠다.

도와주세요. 고맙습니다.

답변

0

IMFByteStream을 구현하는 경우 IMFAsyncCallback도 구현해야합니다.

여기서 설명 할 수 없습니다. 그러나 프로젝트를 Mpeg2 소스로 업데이트 할 때 : MFNode

IMFByteStream 구현이 표시됩니다. 원래 IMFByteStream이 이유없이 일부 비디오 파일에서 실패하기 때문에 그것을 사용합니다. 내 구현은 테스트 한 모든 파일과 잘 작동합니다. (지금은 내 구현이 큰 파일을 처리하지 않습니다.)

편집 : 코드를 확인했습니다. IMFByteStream을 구현하지 않습니다. IMFByteStream과 같은 역할을하는 클래스를 만들었습니다. BeginRead/EndRead에 대한 IMFAsyncCallback을 구현합니다.

관련 문제