blob: 0c9336356aa30ba884f913360cbac5998b2746c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
#include "mpeg3private.h"
#include "mpeg3protos.h"
#include "mpeg3title.h"
#include <stdlib.h>
mpeg3_title_t* mpeg3_new_title(mpeg3_t *file, char *path)
{
mpeg3_title_t *title = (mpeg3_title_t*)calloc(1, sizeof(mpeg3_title_t));
title->fs = mpeg3_new_fs(path);
title->file = file;
return title;
}
int mpeg3_delete_title(mpeg3_title_t *title)
{
mpeg3_delete_fs(title->fs);
if(title->timecode_table_size)
{
free(title->timecode_table);
}
free(title);
return 0;
}
int mpeg3_copy_title(mpeg3_title_t *dst, mpeg3_title_t *src)
{
int i;
mpeg3_copy_fs(dst->fs, src->fs);
dst->total_bytes = src->total_bytes;
if(src->timecode_table_size)
{
dst->timecode_table_allocation = src->timecode_table_allocation;
dst->timecode_table_size = src->timecode_table_size;
dst->timecode_table = (mpeg3demux_timecode_t*)calloc(1, sizeof(mpeg3demux_timecode_t) * dst->timecode_table_allocation);
for(i = 0; i < dst->timecode_table_size; i++)
{
dst->timecode_table[i] = src->timecode_table[i];
}
}
}
int mpeg3_dump_title(mpeg3_title_t *title)
{
int i;
for(i = 0; i < title->timecode_table_size; i++)
{
printf("%f: %d - %d %f %f %d\n",
title->timecode_table[i].absolute_start_time,
title->timecode_table[i].start_byte,
title->timecode_table[i].end_byte,
title->timecode_table[i].start_time,
title->timecode_table[i].end_time,
title->timecode_table[i].program);
}
}
|