kb_machblue_client_define.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:6k
源码类别:

DVD

开发平台:

C/C++

  1. //*****************************************************************************
  2. //File Name: kb_machblue_core_def.h
  3. //
  4. //Description: data definition
  5. //
  6. //Author: steven & wisco
  7. //
  8. //Date:  2006.12.29
  9. //
  10. //Version:  v1.0
  11. //*****************************************************************************
  12. #ifndef _KB_MACKBLUE_CLIENT_DEFINE_H_
  13. #define _KB_MACKBLUE_CLIENT_DEFINE_H_
  14. #include "stgxobj.h"
  15. #include "stavmem.h"
  16. #include "gendef.h"
  17. #include "machblue_defines.h"
  18. #include "machblue_tv_defines.h"
  19. enum
  20. {
  21. MB_FAVOR,
  22. MB_MOVE,
  23. MB_DELETE,
  24. MB_LOCK     
  25. };
  26. typedef struct kb_movie_fontAddress_s
  27. {
  28.  UINT8  *Address;
  29.  UINT8  *English_Adderss;
  30.  UINT8  *Chinese_Adderss;
  31. }kb_movie_fontAddress_t;
  32. typedef struct kb_movie_fontAttribute_s
  33. {
  34. int  Ascender;  //the distance from the baseline to the top of the logical extents of this font.  
  35. int  Descender;  //the distance from the baseline to the bottom of the logical extents of this font.  
  36. int  Height;  //the logical height of this font. This is the vertical distance from one baseline to the next when writing several lines of text. Note that this value does not correspond the height value specified when loading the font.  
  37. int  MaxAdvance;  //the maximum character width.  
  38. int  Kerning;  //the kerning to apply between two glyphs specified by their Unicode indices.  
  39. int  StringWidth;  //the logical width of the specified UTF-8 string as if it were drawn with this font.  
  40. int  StringExtents;  //the logical and real extents of the specified UTF-8 string as if it were drawn with this font.  
  41. int  GlyphExtents;  //the extents of a glyph specified by its Unicode index.  
  42. }kb_movie_fontAttribute_t;
  43. typedef struct kb_movie_font_s
  44. {
  45.     kb_movie_fontAddress_t   address;
  46.     const char     *font_name ;
  47.     int            m_size ;
  48.     kb_movie_fontAttribute_t  m_dfb_font ;
  49. }kb_movie_font_t;
  50. typedef struct kb_movie_pcm_s
  51. {
  52.     mb_pcm_format_t   m_format;
  53.     unsigned long     m_sample_rate;
  54.     int               m_n_channels;
  55. }kb_movie_pcm_t;
  56. typedef struct kb_movie_surface_s
  57. {
  58.    int  m_width;
  59.    int  m_height;
  60.    int  m_partition;
  61.    mb_pixel_format_t  m_format;
  62.    STAVMEM_BlockHandle_t  m_blockHandle;
  63.    STGXOBJ_Bitmap_t  m_bitmap;
  64. }kb_movie_surface_t;
  65. typedef struct kb_movie_event_s kb_movie_event_t;
  66. typedef struct kb_movie_eventSchedule_s  kb_movie_eventSchedule_t;
  67. typedef struct kb_movie_service_info_s kb_movie_service_info_t;
  68. typedef struct kb_movie_service_s kb_movie_service_t;
  69. typedef struct kb_movie_serviceList_s kb_movie_serviceList_t;
  70. typedef struct kb_movie_stream_s kb_movie_stream_t;
  71. typedef struct kb_movie_streamController_s kb_movie_streamController_t;
  72. typedef struct kb_movie_serviceContext_s kb_movie_serviceContext_t;
  73. typedef struct kb_movie_service_edit_attribute_s kb_movie_service_edit_attribute_t;  //shriek
  74. /**   Structure to hold a event */
  75. typedef struct kb_movie_event_s
  76. {
  77. mb_tv_event_attributes_t attributes;
  78.        mb_tv_authorization_flag_t auth;
  79. unsigned char day;
  80.        kb_movie_service_t         *service;                // Service associated whit the event
  81.        kb_movie_eventSchedule_t  *evs;
  82. };
  83. /**   Structure to hold a event schedule */
  84. typedef struct kb_movie_eventSchedule_s
  85. {
  86. kb_movie_event_t  *events;                 // Event List NULL Terminated
  87.        kb_movie_service_t *service;                // Service associated whit the event schedule
  88.        mb_time_t                     start_time;
  89. mb_time_t end_time;   // Start time and end time of the event schedule
  90. unsigned long evtCount;
  91. };
  92. //为频道编辑添加数字标识
  93. typedef struct kb_movie_service_edit_attribute_s
  94. {
  95.       unsigned char  favor;
  96. unsigned char move;
  97. unsigned char  del;
  98. unsigned char lock;
  99. };
  100. typedef struct kb_movie_service_info_s
  101. {
  102.       unsigned short  tsID;
  103. kb_movie_service_edit_attribute_t   edit_info;
  104. };
  105. /**   Structure to hold a service */
  106. typedef struct kb_movie_service_s
  107. {
  108.       mb_tv_service_info_t                   info;
  109.        mb_tv_service_state_t                 state;
  110.        mb_tv_authorization_flag_t    auth;
  111. kb_movie_service_info_t serInfo;
  112.        kb_movie_eventSchedule_t     evs[7];                   // Event schedule associated whit the service
  113.        kb_movie_event_t                current_event;         // Current Event of the service
  114.        kb_movie_event_t                 following_event;       // Followinf Event of the service
  115.        kb_movie_serviceList_t         *svl;                   // Service List associated whit the service
  116.       kb_movie_serviceContext_t    *svc;                   // Service context associated whit the service
  117.        kb_movie_stream_t          *streams;               // stream of list NULL Terminated
  118. };
  119. /**   Structure to hold a service List */
  120. typedef struct kb_movie_serviceList_s
  121. {
  122.        mb_tv_svl_info_t    info;
  123.        kb_movie_service_t   *services;
  124. unsigned long  count;
  125. };
  126. /**   Structure to hold a stream */
  127. typedef struct kb_movie_stream_s
  128. {
  129.        mb_tv_stream_info_t          info;
  130.        mb_tv_stream_state_t               state;
  131.        kb_movie_service_t         *service;               // The service of the stream
  132. };
  133. /**   Structure to hold a stream controller */
  134. typedef struct kb_movie_streamController_s
  135. {
  136.        kb_movie_stream_t   **streams;               // stream list NULL Terminated
  137. kb_movie_stream_t               **current_streams;       // current stream list NULL Terminated
  138. kb_movie_serviceContext_t       *svc;                   // Service context associated whit the stream controller
  139. int                                          pb_speed;              // Play back speed of the device
  140.        unsigned long                      pts_value;             // Presentation Time Stamp Value
  141.        unsigned long                             pb_frame;              // Play back frame
  142. };
  143. /**   Structure to hold a service context */
  144. typedef struct kb_movie_serviceContext_s
  145. {
  146.        mb_tv_service_context_info_t    info;
  147.        mb_tv_viewport_t                   viewport;
  148.        kb_movie_service_t                  *service;               // Service associated whit the service context
  149.        kb_movie_streamController_t      *stc;                   // stream controller associated whit the service context
  150. };
  151. #endif