hdlr.c
上传用户:luping1608
上传日期:2007-01-06
资源大小:38k
文件大小:3k
源码类别:

多媒体

开发平台:

Unix_Linux

  1. #include "quicktime.h"
  2. int quicktime_hdlr_init(quicktime_hdlr_t *hdlr)
  3. {
  4. hdlr->version = 0;
  5. hdlr->flags = 0;
  6. hdlr->component_type[0] = 'm';
  7. hdlr->component_type[1] = 'h';
  8. hdlr->component_type[2] = 'l';
  9. hdlr->component_type[3] = 'r';
  10. hdlr->component_subtype[0] = 'v';
  11. hdlr->component_subtype[1] = 'i';
  12. hdlr->component_subtype[2] = 'd';
  13. hdlr->component_subtype[3] = 'e';
  14. hdlr->component_manufacturer = 0;
  15. hdlr->component_flags = 0;
  16. hdlr->component_flag_mask = 0;
  17. strcpy(hdlr->component_name, "Linux Media Handler");
  18. }
  19. int quicktime_hdlr_init_video(quicktime_hdlr_t *hdlr)
  20. {
  21. hdlr->component_subtype[0] = 'v';
  22. hdlr->component_subtype[1] = 'i';
  23. hdlr->component_subtype[2] = 'd';
  24. hdlr->component_subtype[3] = 'e';
  25. strcpy(hdlr->component_name, "Linux Video Media Handler");
  26. }
  27. int quicktime_hdlr_init_audio(quicktime_hdlr_t *hdlr)
  28. {
  29. hdlr->component_subtype[0] = 's';
  30. hdlr->component_subtype[1] = 'o';
  31. hdlr->component_subtype[2] = 'u';
  32. hdlr->component_subtype[3] = 'n';
  33. strcpy(hdlr->component_name, "Linux Sound Media Handler");
  34. }
  35. int quicktime_hdlr_init_data(quicktime_hdlr_t *hdlr)
  36. {
  37. hdlr->component_type[0] = 'd';
  38. hdlr->component_type[1] = 'h';
  39. hdlr->component_type[2] = 'l';
  40. hdlr->component_type[3] = 'r';
  41. hdlr->component_subtype[0] = 'a';
  42. hdlr->component_subtype[1] = 'l';
  43. hdlr->component_subtype[2] = 'i';
  44. hdlr->component_subtype[3] = 's';
  45. strcpy(hdlr->component_name, "Linux Alias Data Handler");
  46. }
  47. int quicktime_hdlr_delete(quicktime_hdlr_t *hdlr)
  48. {
  49. }
  50. int quicktime_hdlr_dump(quicktime_hdlr_t *hdlr)
  51. {
  52. printf("   handler reference (hdlr)n");
  53. printf("    version %dn", hdlr->version);
  54. printf("    flags %dn", hdlr->flags);
  55. printf("    component_type %c%c%c%cn", hdlr->component_type[0], hdlr->component_type[1], hdlr->component_type[2], hdlr->component_type[3]);
  56. printf("    component_subtype %c%c%c%cn", hdlr->component_subtype[0], hdlr->component_subtype[1], hdlr->component_subtype[2], hdlr->component_subtype[3]);
  57. printf("    component_name %sn", hdlr->component_name);
  58. }
  59. int quicktime_read_hdlr(quicktime_t *file, quicktime_hdlr_t *hdlr)
  60. {
  61. hdlr->version = quicktime_read_char(file);
  62. hdlr->flags = quicktime_read_int24(file);
  63. quicktime_read_char32(file, hdlr->component_type);
  64. quicktime_read_char32(file, hdlr->component_subtype);
  65. hdlr->component_manufacturer = quicktime_read_int32(file);
  66. hdlr->component_flags = quicktime_read_int32(file);
  67. hdlr->component_flag_mask = quicktime_read_int32(file);
  68. quicktime_read_pascal(file, hdlr->component_name);
  69. }
  70. int quicktime_write_hdlr(quicktime_t *file, quicktime_hdlr_t *hdlr)
  71. {
  72. quicktime_atom_t atom;
  73. quicktime_atom_write_header(file, &atom, "hdlr");
  74. quicktime_write_char(file, hdlr->version);
  75. quicktime_write_int24(file, hdlr->flags);
  76. quicktime_write_char32(file, hdlr->component_type);
  77. quicktime_write_char32(file, hdlr->component_subtype);
  78. quicktime_write_int32(file, hdlr->component_manufacturer);
  79. quicktime_write_int32(file, hdlr->component_flags);
  80. quicktime_write_int32(file, hdlr->component_flag_mask);
  81. quicktime_write_pascal(file, hdlr->component_name);
  82. quicktime_atom_write_footer(file, &atom);
  83. }