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.

118 lines
3.4 KiB

  1. Things to do in AVIFile:
  2. Need handlers for:
  3. Quicktime files
  4. Targa files
  5. JPEG files
  6. MPEG files
  7. Improve streaming interface
  8. Speed improvements:
  9. Use GlobalDosAlloc for buffers?
  10. Read several frames at one time?
  11. Current bugs:
  12. Error returns are lousy.
  13. More things to do:
  14. Automatically generate open/save filter strings. This would
  15. require that we put something in the regdb to indicate which
  16. handlers supported writing....
  17. Should there be some way to pass AVIFileOpen an HMMIO? An
  18. IStorage or IStream?
  19. It would be nice to have some way to be notified when the contents
  20. of a stream change.... Look at IAdviseHolder
  21. ReadData and WriteData need to be renamed, because they
  22. confuse everybody. Also, need better method for accessing
  23. DISP and LIST `INFO' chunks.
  24. Stream names need to be better supported.
  25. During long operations, we need some kind of status callback.
  26. Should everything have version numbers?
  27. "capabilities": Additional information via AVIFile/StreamInfo
  28. about what the handler can do
  29. Do handlers need parameters somehow? Some way to configure
  30. stuff for a particular file format? Am I deluding myself into
  31. thinking I can get away without this stuff?
  32. More thought is needed about "non-seekable" streams. For
  33. instance: can a video capture device be thought of as a
  34. stream?
  35. Can making a stream handler be made easier? One thought: a
  36. C++ base class for a stream handler which people could
  37. override only the methods they want....
  38. How can you change the rectangle for a stream?
  39. Do we need an AVIStreamSetInfo command?
  40. Can we make streams be named? Instead of opening streams by type
  41. and number, people could enumerate the streams in a file and open
  42. them by name.... Looks more and more like IStorage....
  43. Everything needs to be renamed. Functions shouldn't all
  44. start with "AVI".
  45. We need a new interface to handle change notifications. Copy
  46. OLE Advise Holders, Advise Sinks.
  47. Marshal the AVIFile reader in the following way:
  48. Right before reading from an HMMIO, check the current task.
  49. Re-open the file for each new HTASK....
  50. Some way of getting an error string from an error value would
  51. be good.
  52. I don't really use the IEditStream interface for everything.
  53. I should make Vtbls for the editstrm.c implementation, and allow
  54. other handlers to support the stuff.
  55. How can you use ReadData/WriteData to deal with more than one
  56. chunk with the same ID? How about INFO chunks?
  57. Old Stuff that's done:
  58. Does AVIStreamWrite need some way of returning how much of the
  59. data was actually written? (Particularly in the case where
  60. it's doing ACM compression, it may only be able to write out
  61. whole blocks of data....)
  62. EditStreamSetName
  63. EditStreamClone
  64. AVIStreamInfo could use a different structure than an
  65. AVIStreamHeader. In particular, the structure could lose
  66. some useless fields and gain the stream name. Same with
  67. AVIFileInfo.
  68. During long operations, we need some kind of status callback.
  69. Look at using IAVIFile, IAVIStream on the clipboard along with
  70. IDataObject. This seems to require some work to "marshal"
  71. the interface from app to app....
  72. Given an open IAVIFile handle, retrieve its "file format", that
  73. is, some user-readable name for what kind of file it is....
  74. It would be nice to be able to write to the compression streams
  75. The options dialog doesn't make me happy....