File: ohuman.c

package info (click to toggle)
lsdvd 0.21-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 568 kB
  • sloc: sh: 1,398; ansic: 1,342; makefile: 60; xml: 23
file content (127 lines) | stat: -rw-r--r-- 5,062 bytes parent folder | download | duplicates (2)
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <stdio.h>
#include "lsdvd.h"

void ohuman_print(struct dvd_info *dvd_info) {

	printf("Disc Title: %s\n", dvd_info->discinfo.disc_title);

	int i, j;
	for (j=0; j < dvd_info->title_count; j++)
	{
	if ( opt_t == j+1 || opt_t == 0 ) {

		/* GENERAL */
		printf("Title: %02d, Length: %02d:%02d:%02d.%03d ", j+1,
				dvd_info->titles[j].general.playback_time.hour,
				dvd_info->titles[j].general.playback_time.minute,
				dvd_info->titles[j].general.playback_time.second,
				dvd_info->titles[j].general.playback_time.usec);
#if 0
				(int)dvd_info->titles[j].general.length / 3600,
				(int)(dvd_info->titles[j].general.length / 60) % 60,
				(float)((int)(dvd_info->titles[j].general.length * 1000) % 6000) / 1000); //,
				dvd_info->titles[j].general.length);
#endif
		printf("Chapters: %02d, Cells: %02d, ", dvd_info->titles[j].chapter_count, dvd_info->titles[j].cell_count);
		printf("Audio streams: %02d, Subpictures: %02d", dvd_info->titles[j].audiostream_count, dvd_info->titles[j].subtitle_count);
		printf("\n");

                if (dvd_info->titles[j].parameter.format != NULL ) {
			printf("\tVTS: %02d, TTN: %02d, ", dvd_info->titles[j].parameter.vts, dvd_info->titles[j].parameter.ttn);
			printf("FPS: %.2f, ", dvd_info->titles[j].parameter.fps);
			printf("Format: %s, Aspect ratio: %s, ", dvd_info->titles[j].parameter.format, dvd_info->titles[j].parameter.aspect);
			printf("Width: %s, Height: %s, ", dvd_info->titles[j].parameter.width, dvd_info->titles[j].parameter.height);
			printf("DF: %s\n", dvd_info->titles[j].parameter.df);
		}

                /* PALETTE */
                if (dvd_info->titles[j].palette != NULL ) {
                        printf("\tPalette: ");
                        for (i=0; i < 16; i++) {
                                printf("%06x ", dvd_info->titles[j].palette[i]);
                        }
			printf("\n");
                }


		/* ANGLES */
		if (dvd_info->titles[j].angle_count) {
			printf("\tNumber of Angles: %d\n", dvd_info->titles[j].angle_count);
		}

		/* AUDIO */
		if (dvd_info->titles[j].audiostreams != NULL) {
			for (i=0; i<dvd_info->titles[j].audiostream_count; i++)
			{
				printf("\tAudio: %d, Language: %s - %s, ", i +1 ,
						dvd_info->titles[j].audiostreams[i].langcode, dvd_info->titles[j].audiostreams[i].language);
				printf("Format: %s, ", dvd_info->titles[j].audiostreams[i].format);
				printf("Frequency: %s, ", dvd_info->titles[j].audiostreams[i].frequency);
				printf("Quantization: %s, ", dvd_info->titles[j].audiostreams[i].quantization);
				printf("Channels: %d, AP: %d, ", dvd_info->titles[j].audiostreams[i].channels, dvd_info->titles[j].audiostreams[i].ap_mode);
				printf("Content: %s, ", dvd_info->titles[j].audiostreams[i].content);
				printf("Stream id: 0x%x", dvd_info->titles[j].audiostreams[i].streamid);
				printf("\n");
			}
		}

		/* CHAPTERS */
		if (dvd_info->titles[j].chapters != NULL) {
			for (i=0; i<dvd_info->titles[j].chapter_count; i++)
			{
#if 0
				printf("\tChapter: %02d, Length: %02d:%02d:%02d.%03d, Start Cell: %02d\n", i+1,
						(int)dvd_info->titles[j].chapters[i].length / 3600,
						(int)(dvd_info->titles[j].chapters[i].length / 60 ) % 60,
						(int)(dvd_info->titles[j].chapters[i].length) % 60,
						(int)(dvd_info->titles[j].chapters[i].length*1000) % 1000,
						dvd_info->titles[j].chapters[i].startcell);
#endif
				printf("\tChapter: %02d, Length: %02d:%02d:%02d.%03d, Start Cell: %02d\n", i+1,
						dvd_info->titles[j].chapters[i].playback_time.hour,
						dvd_info->titles[j].chapters[i].playback_time.minute,
						dvd_info->titles[j].chapters[i].playback_time.second,
						dvd_info->titles[j].chapters[i].playback_time.usec,
						dvd_info->titles[j].chapters[i].startcell);
			}
		}

		/* CELLS */
		if (dvd_info->titles[j].cells != NULL) {
			for (i=0; i<dvd_info->titles[j].cell_count; i++)
			{
#if 0
				printf("\tCell: %02d, Length: %02d:%02d:%02d.%03d\n", i+1,
						(int)dvd_info->titles[j].cells[i].length / 3600,
						(int)(dvd_info->titles[j].cells[i].length / 60 ) % 60,
/						(int)(dvd_info->titles[j].cells[i].length) % 60,
						(int)(dvd_info->titles[j].cells[i].length*1000) % 1000);
#endif
				printf("\tCell: %02d, Length: %02d:%02d:%02d.%03d\n", i+1,
						dvd_info->titles[j].cells[i].playback_time.hour,
						dvd_info->titles[j].cells[i].playback_time.minute,
						dvd_info->titles[j].cells[i].playback_time.second,
						dvd_info->titles[j].cells[i].playback_time.usec);
			}
		}

		/* SUBTITLES */
		if (dvd_info->titles[j].subtitles != NULL) {
			for (i=0; i<dvd_info->titles[j].subtitle_count; i++)
			{
				printf("\tSubtitle: %02d, Language: %s - %s, ", i+1,
						dvd_info->titles[j].subtitles[i].langcode,
						dvd_info->titles[j].subtitles[i].language);
				printf("Content: %s, ", dvd_info->titles[j].subtitles[i].content);
				printf("Stream id: 0x%x, ", dvd_info->titles[j].subtitles[i].streamid);
				printf("\n");
			}
		}
	}
	}
	printf("DVDDiscID: %s\n", dvd_info->dvddiscid);

	if (! opt_t) {
		printf("Longest track: %02d\n", dvd_info->longest_track);
	}
}