summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/libmpeg3/mpeg3title.c
Unidiff
Diffstat (limited to 'core/multimedia/opieplayer/libmpeg3/mpeg3title.c') (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/libmpeg3/mpeg3title.c63
1 files changed, 63 insertions, 0 deletions
diff --git a/core/multimedia/opieplayer/libmpeg3/mpeg3title.c b/core/multimedia/opieplayer/libmpeg3/mpeg3title.c
new file mode 100644
index 0000000..0c93363
--- a/dev/null
+++ b/core/multimedia/opieplayer/libmpeg3/mpeg3title.c
@@ -0,0 +1,63 @@
1#include "mpeg3private.h"
2#include "mpeg3protos.h"
3#include "mpeg3title.h"
4
5
6#include <stdlib.h>
7
8
9mpeg3_title_t* mpeg3_new_title(mpeg3_t *file, char *path)
10{
11 mpeg3_title_t *title = (mpeg3_title_t*)calloc(1, sizeof(mpeg3_title_t));
12 title->fs = mpeg3_new_fs(path);
13 title->file = file;
14 return title;
15}
16
17int mpeg3_delete_title(mpeg3_title_t *title)
18{
19 mpeg3_delete_fs(title->fs);
20 if(title->timecode_table_size)
21 {
22 free(title->timecode_table);
23 }
24 free(title);
25 return 0;
26}
27
28
29int mpeg3_copy_title(mpeg3_title_t *dst, mpeg3_title_t *src)
30{
31 int i;
32
33 mpeg3_copy_fs(dst->fs, src->fs);
34 dst->total_bytes = src->total_bytes;
35
36 if(src->timecode_table_size)
37 {
38 dst->timecode_table_allocation = src->timecode_table_allocation;
39 dst->timecode_table_size = src->timecode_table_size;
40 dst->timecode_table = (mpeg3demux_timecode_t*)calloc(1, sizeof(mpeg3demux_timecode_t) * dst->timecode_table_allocation);
41
42 for(i = 0; i < dst->timecode_table_size; i++)
43 {
44 dst->timecode_table[i] = src->timecode_table[i];
45 }
46 }
47}
48
49int mpeg3_dump_title(mpeg3_title_t *title)
50{
51 int i;
52
53 for(i = 0; i < title->timecode_table_size; i++)
54 {
55 printf("%f: %d - %d %f %f %d\n",
56 title->timecode_table[i].absolute_start_time,
57 title->timecode_table[i].start_byte,
58 title->timecode_table[i].end_byte,
59 title->timecode_table[i].start_time,
60 title->timecode_table[i].end_time,
61 title->timecode_table[i].program);
62 }
63}