Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.3 KiB

  1. MPEG1 packet player
  2. -------------------
  3. See mpegdef.h for definitions of values.
  4. The MPEG1 packet player is a filter supporting:
  5. IFilter
  6. IMediaFilter
  7. This filter has class id CLSID_Mpeg1PacketPlayer.
  8. Media types
  9. -----------
  10. It supports 2 input pins which accept the following 2 media types
  11. respectively:
  12. Major type Subtype Props
  13. -----------------------------------------------------------------
  14. MEDIATYPE_Audio MEDIASUBTYPE_Mpeg1PacketAudio None
  15. MEDIATYPE_Video MEDIASUBTYPE_Mpeg1PacketVideo Default video props
  16. These 2 pins accept samples (see ISO11172) which contain a packet()
  17. format data (starting with a packet_start_code) and stream ids
  18. consistent with audio and video streams respectively. Each sample
  19. start must start with the a packet_start_code
  20. There is 1 output pin (connected to the renderer?) supporting the
  21. following media type:
  22. Major type Subtype Props
  23. ------------------------------------------------------------------
  24. MEDITTYPE_Video MEDIATYPE_NULL Default video props
  25. The input pin of the renderer must support IOverlayWindow.
  26. Filter properties
  27. -----------------
  28. Timing
  29. ------
  30. The first packet received after going into 'Paused' from 'inactive' state MUST
  31. have a PTS. This PTS (pts(0)) will is saved. When 'Run' is issued
  32. we have 3 numbers:
  33. The time stamp on the first smaple - ts(1)
  34. The current time - ts(2)
  35. We must set the STC to pts(0) - (ts(1) - ts(2)) - all in appropriate
  36. units. This will cause the first sample to be presented the right
  37. time after the play starts.
  38. While playing we must maintain the different between the STC and
  39. the current time - which we will also remember.
  40. While paused we have to count the time Paused and add it to the
  41. STC, Reference clock time difference.
  42. The ability to synch the stream to the system clock will be
  43. determined by how frequently we get packets with PTSs in them because
  44. we'll set the STC on a per sample basis.
  45. The client can change the synch by changing the sample start times.
  46. When the device is held open
  47. ----------------------------
  48. For now this be be whenever the output overlay pin is connected.