OSDN Git Service

https://osdn.net/projects/swfed/scm/git/swfed/commits/a38e463ddaf7c6b915bdd94ee064a51...
[swfed/swfed.git] / src / swf_tag_sound.h
1 /*
2   +----------------------------------------------------------------------+
3   | Author: yoya@awm.jp                                                  |
4   +----------------------------------------------------------------------+
5 */
6
7 #ifndef __SWF_TAG_SOUND__H__
8 #define __SWF_TAG_SOUND__H__
9
10 #include "swf_tag.h"
11
12 typedef struct swf_tag_sound_detail_ {
13     int sound_id;
14     int sound_format:4;
15     int sound_rate:2;
16     int sound_is_16bits:1;
17     int sound_is_stereo:1;
18     unsigned long sound_samples_count;
19     unsigned char *sound_data;
20     unsigned long sound_data_len;
21 } swf_tag_sound_detail_t;
22
23 extern swf_tag_detail_handler_t *swf_tag_sound_detail_handler(void);
24
25 extern void *swf_tag_sound_create_detail(void);
26 extern int swf_tag_sound_input_detail(swf_tag_t *tag, struct swf_object_ *swf);
27 extern int swf_tag_sound_get_cid_detail(swf_tag_t *tag);
28 extern int swf_tag_sound_replace_cid_detail(swf_tag_t *tag, int id);
29 extern unsigned char *swf_tag_sound_output_detail(swf_tag_t *tag,
30                                                   unsigned long *length,
31                                                   struct swf_object_ *swf);
32 extern void swf_tag_sound_print_detail(swf_tag_t *tag,
33                                        struct swf_object_ *swf,
34                                        int indent_depth);
35 extern void swf_tag_sound_destroy_detail(swf_tag_t *tag);
36
37 extern unsigned char *swf_tag_sound_get_sound_data(void *detail, unsigned long *length,
38                                         int sound_id);
39 extern int swf_tag_sound_replace_mp3_data(void *detail, int sound_id,
40                                           unsigned char *mp3_data,
41                                           unsigned long mp3_data_len);
42
43 extern int swf_tag_sound_replace_melo_data(void *detail, int sound_id,
44                                               unsigned char *sound_data,
45                                               unsigned long sound_data_len);
46
47 #endif /* __SWF_TAG_SOUND__H__ */