Q&A

  • DSP사용시 에러가 남니다..
DSP를 사용하여 USB카메라를 통해 동영상을 보여줄려고하는데

'핀들이 연결되어있지않아서 작업을 수행할 수 없습니다($80040209).'라고

에러가 나옴니다.왜 이런메세지가 나오는지 알고싶습니다.

어떤 설정이 잘못되었는지 모르겠습니다.

DSP관련 초기화 하고   (FilterGraph.ClearGraph 등등)

tsCap321.Visible := True; 이부분에서 에러가 나옴니다.

아시는 분들 도움부탁드립니다.동영상관련쪽은 처음이라서요^^
3  COMMENTS
  • Profile
    박상윤 2006.04.24 17:08

    추가 된 각각의 필터 들중 하나가 연결이 안된 경우 입니다.
    여러가지 이유가 있습니다.
    가장 흔한 이유는 추가된 필터의 핀들중 메디아(영상) 타입이 맞지않아 연결이 안된 경우입니다.
    필터 그래프에디터(direct x Sdk 있음) 를 이용해서 우선 연결해보시고..
    이것이 성공하면.. 그것을 코딩으로 구현하는 프로그램을 하시면 됩니다.

    tsCap321이게 어떤 건지 모르지만.
    비디오창은 아마도 Visible이여야 할것 같은데요.


  • Profile
    김도환 2006.04.24 19:49
    답변 감사드립니다.

    소스는 아래와같습니다.

    기존 다른프로그램들은 아래와같이 되어 있어도 잘되었습니다.

    그러나 이프로그램에서만 이런 증상이나옴니다.

    더 이상한것은 USB카메라를 꼿지않고 프로그램을 실행하면 에러가 안나오고 프로그램 실행뒤

    USB를 꼿으면 정상작동이 됩니다.

    이런증상은 뭐가 잘못되었는지 알수가 없네요.

    tsCap321이 비디오창입니다.

    다시한번 더 부탁드리겠습니다.



         SysDev:= TSysDevEnum.Create(CLSID_VideoInputDeviceCategory);
         if SysDev.CountFilters > 0 then
         begin
              FilterGraph.ClearGraph;
              FilterGraph.Active := false;
              Filter.BaseFilter.Moniker := SysDev.GetMoniker(0);
              FilterGraph.Active := true;
              with FilterGraph as ICaptureGraphBuilder2 do
              begin
                   RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter, Nil, tsCap321 as IbaseFilter);
                   RenderStream(@PIN_CATEGORY_CAPTURE, nil, Filter as IBaseFilter, Nil, SampleGrabber as IBaseFilter);
              end;
              FilterGraph.Play;
         end;

  • Profile
    김도환 2006.04.26 21:34
    답변 감사드립니다.

    많은 도움이 되었습니다.

    엉뚱한곳에서 문제가 해결되었습니다.^^

    프로그램실행이 완료된뒤 별도로 DSP초기화를 하니 되네요.

    좋은 하루되십시요.