{ "ドキュメンタリー・教養", "documentary" },
{ "演劇", "stage" },
{ "趣味・実用", "hobby" },
- { "福祉", "etc" }, //福祉
- { "予備", "etc" }, //予備
- { "予備", "etc" }, //予備
- { "予備", "etc" }, //予備
- { "その他", "etc" } //その他
+ { "福祉", "welfare" },
+ { "予備", "etc" },
+ { "予備", "etc" },
+ { "予備", "etc" },
+ { "その他", "etc" }
};
SVT_CONTROL *svttop = NULL;
DSM_CONTROL dsmctl[1024];
#define SECCOUNT 64
-char title[1024];
-char subtitle[1024];
-char desc[102400] = {0};
-char Category[1024];
-char ServiceName[1024];
-char Logo[8192];
static unsigned char *base64 = (unsigned char *)"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
static void base64_char(unsigned long bb, int srclen, unsigned char *dest, int j)
//else if((bsecs->pid & 0xFF) == 0x23) {
// dumpSDTT(bsecs->buf, *station, *station_count);
//}
+ /* BIT */
+ else if((bsecs->pid & 0xFF) == 0x24) {
+ dumpBIT(bsecs->buf);
+ }
/* CDT */
else if((bsecs->pid & 0xFF) == 0x29) {
dumpCDT(bsecs->buf, *station, *station_count);
char cendtime[32];
char cstarttime[32];
+ char title[1024];
+ char subtitle[1024];
+ char desc[102400] = {0};
+ char Category[1024];
+ char VideoType[1024];
+ char AudioType[1024];
+
memset(secs, 0, sizeof(SECcache) * SECCOUNT);
secs[0].pid = 0x12; /* EIT */
secs[1].pid = 0x26; /* EIT */
strcpy(Category, ContentCatList[eitcur->content_type].japanese);
xmlspecialchars(Category);
+ memset(VideoType, '\0', sizeof(VideoType));
+ strcpy(VideoType, parseComponentDescType(eitcur->video_type));
+ xmlspecialchars(VideoType);
+
+ memset(AudioType, '\0', sizeof(AudioType));
+ strcpy(AudioType, parseAudioComponentDescType(eitcur->audio_type));
+ xmlspecialchars(AudioType);
+
tl.tm_sec = eitcur->ss ;
tl.tm_min = eitcur->hm ;
tl.tm_hour = eitcur->hh ;
memset(cstarttime, '\0', sizeof(cstarttime));
strftime(cendtime, (sizeof(cendtime) - 1), "%Y%m%d%H%M%S", endtl);
strftime(cstarttime, (sizeof(cstarttime) - 1), "%Y%m%d%H%M%S", &tl);
+
fprintf(outfile, " <programme start=\"%s +0900\" stop=\"%s +0900\" channel=\"%s\" event=\"%d\">\n",
cstarttime, cendtime, psta->ontv, eitcur->event_id);
fprintf(outfile, " <title lang=\"ja_JP\">%s</title>\n", title);
fprintf(outfile, " <desc lang=\"ja_JP\">%s</desc>\n", subtitle);
fprintf(outfile, " <longdesc lang=\"ja_JP\">%s</longdesc>\n", desc);
fprintf(outfile, " <category lang=\"ja_JP\">%s</category>\n", Category);
+ fprintf(outfile, " <video type=\"%d\">%s</video>\n", eitcur->video_type, VideoType);
+ fprintf(outfile, " <audio type=\"%d\" multi=\"%d\">%s</audio>\n", eitcur->audio_type, eitcur->multi_type, AudioType);
//fprintf(outfile, " <category lang=\"en\">%s</category>\n", ContentCatList[eitcur->content_type].english);
fprintf(outfile, " </programme>\n");
#if 0
fprintf(stdout, "Usage : %s (/LOGO) {/BS|/CS|<id>} <tsFile> <outfile>\n", argv[0]);
fprintf(stdout, "\n");
fprintf(stdout, "/LOGO ロゴ取得モード。独立して指定し、番組表の出力を行ないません。\n");
+ fprintf(stdout, " 必要なTSの長さ 地上波は10分 BS/CSは20分です。\n");
fprintf(stdout, "id チャンネル識別子。地上波の物理チャンネルを与えます。\n");
fprintf(stdout, "/BS BSモード。一つのTSからBS全局のデータを読み込みます。\n");
fprintf(stdout, "/CS CSモード。一つのTSから複数局のデータを読み込みます。\n");
char *head = "CS";
GetSDT(infile, svttop, secs, SECCOUNT, &pStas, &staCount, head, is_logo);
}else if(strcmp(arg_onTV, "/TEST") == 0){
+ memset(secs, 0, sizeof(SECcache) * SECCOUNT);
+ secs[0].pid = 0x24; /* BIT */
+
char *head = "TEST";
GetSDT(infile, svttop, secs, SECCOUNT, &pStas, &staCount, head, 0);
//if (sta_count)
fprintf(outfile, "<!DOCTYPE tv SYSTEM \"xmltv.dtd\">\n\n");
fprintf(outfile, "<tv generator-info-name=\"tsEPG2xml\" generator-info-url=\"http://localhost/\">\n");
+ char ServiceName[1024];
+ char Logo[8192];
+
if ( is_logo ) {
memset(Logo, '\0', sizeof(Logo));
for(lp = 0 ; lp < staCount ; lp++){