Automatic C Source Code Generation Technique for DirectShow Programming

DirectShow 프로그래밍을 위한 C 소스 코드 자동 생성 기법

  • 동지연 (서울여자대학교 컴퓨터학과) ;
  • 박선화 (서울여자대학교 컴퓨터학과) ;
  • 엄성용 (서울여자대학교 정보통신공학부)
  • Published : 2004.02.01

Abstract

In this paper, we present an automatic C source code generation system for DirectShow based multimedia application programming. In this system, C source code is automatically synthesized from the filter connection graph edited with GraphEdit, a utility tool provided with DirectShow SDK package from Microsoft. In traditional DirectShow programming environments, program design and brief testing steps are usually done with GraphEdit tool just by inserting filters and connecting them properly, while actual implementation of the program should be done separately. The filter connection graph information from GraphEdit is used just as a reference in such the implementation step. Therefore, our system which automatically generates C source code directly from the filter connection graph of GraphEdit seems very useful and many programmers can develop DirectShow based multimedia application programs more effectively and quickly using our system. In addition, our system supports more various media stream control functions for the generated application programs than the existing system such as Wizard which supports limited and fixed number of media control functions only. This feature allows more flexibility in the user interface of the generated source program and makes our system more practical for DirectShow based programming.

본 논문에서는 DirectShow 프로그래밍의 주요 개발 도구인 그래프 에디터에서 작성된 필터 연결 그래프로부터 C 소스 코드를 자동 생성하는 시스템에 대한 설명한다. 기존의 DirectShow 프로그래밍 환경에서는 그래프 에디터를 이용한 프로그램 설계 및 실행 확인 작업과 실제 프로그램 코드를 작성하는 프로그램 개발 작업이 별도로 이루어진다. 이에 반해, 본 시스템을 사용할 경우, 멀티미디어 응용 프로그램 개발자는 소스 코드를 직접 일일이 수정할 필요 없이, 그래프 에디터를 이용하여 필터 삽입 및 필터 연결을 통한 프로그램 설계 작업을 수행한 다음, GRF 파일로 저장하기만 하면, 원하는 C 소스 프로그램을 자동적으로 얻을 수 있기 때문에 보다 효과적이고 훨씬 신속한 DirectShow 프로그래밍이 가능하다. 더욱이 본 시스템은, 고정된 개수의 매우 제한된 미디어 제어 기능만을 소스 코드에 추가할 수 있는 기존의 시스템과는 달리, 시스템 사용자인 프로그램 개발자로 하여금 자신이 개발하고자 하는 응용 프로그램에 추가할 미디어 제어 기능을 보다 쉽고 다양하게 선택할 수 있도록 지원하기 때문에 보다 실용적인 도구로 활용될 수 있다.

Keywords

References

  1. DirectX 9.0, http://www.microsoft.com/korea/directx
  2. DirectX SDK 8.1 Documentation, http://www.DirectX.com
  3. 이봉하, 윤교철, 김영만, 'MPEG 4를 이용한 다자간 멀티미디어 채팅 프로그램 설계 및 구현', 정보과학회 2001년 추계학술대회, 제28권, 제2호, pp.766-768, 2001
  4. 김운용, 최영근, '디자인 패턴에 대한 소스코드 자동생성 기법', 한국정보처리학회 논문지, 제9-D권, 제5호, pp.847-858, 2002
  5. F. Budinsky, M. Finnie, J. Vlissides, and P. Yu, 'Automatic Code Generation from Design Patterns', IBM Systems Journal, 35(2), 1996
  6. 배상현, 남영광, 신규상, 'CASE 자료 형식으로부터 CDIF형식으로 변환하는 프로그램 자동 생성기의 구현', 한국정보처리학회 논문지, 제7권 제12호, pp.3840-3847, 2000
  7. 차정은, 양영종, 신석규, 'EJB 컴포넌트의 코드 자동생성 도구의 개발', 한국정보처리학회 2001년 추계학술대회, 제8권, 제2호, pp.331-347, 2001
  8. 신화선, DirectShow 멀티미디어 프로그래밍, 한빛미디어, 서울, 2002
  9. 조성대, 박우전, 'XML을 이용한 JAVA 기반 메뉴 자동 생성 시스템', 정보과학회 추계학술대회, 제27권, 제2호, pp.335-337, 2000
  10. Brad Vander Zanden, Brad A. Myers, 'Automatic, look-and-feel independent dialog creation for graphical user interfaces,' CHI: Conference on Human Factors and Computing Systems, pp.27-34, 1990 https://doi.org/10.1145/97243.97248
  11. 엄성용, 박선화, 차지은, 동지연, '플랫폼 적응형 DVD Navigator의 개발', 한국산학연논문지, 제3권 제2호, pp.107-113, 2003년 6월