Crid-Dateien
Aus M740 WikiWeb
Crid-Dateien speichern Informationen über Aufnahmen der M740AV. Das können sowohl programmierte (s. /data/.timer) als auch bereits fertige Aufnahmen sein. Letztere werden zum Zeitpunkt der Aufnahme im Aufnahmeordner angelegt.
Datenformat
Länge Beschreibung 4 Versionsbyte? In allen Dateien = 2 8 CID, 1E6 (oder 1E5) mal programmierte Startzeit + SenderID (siehe /var/etc/eps_mapping.txt) 4 Status: 1=noch nicht aufgenommen, 2=während der Aufnahme, 3=fertig aufgenommen, 4=Aufnahmefehler, 5=Aufnahme abgebrochen, (6 und 7 nicht benutzt) 8=wegen Konflikt nicht ausgeführter Timer[ab 2.2.22] 9=durch den User gelöschter Timer[ab 2.2.22] 4 Beginn der aufgenommenen Sendung in Sek. seit 1.1.1970 4 Ende der aufgenommenen Sendung in Sek. seit 1.1.1970 4 unbekannt, in allen Dateien = 0 4 unbekannt, in allen Dateien = -1 4 unbekannt, in allen Dateien = -1 4 Aufnahmeflag: 1=EPG, 2=Timer, 4=EPG Serie, 8=Timer Serie, 32=manuell 4 Serienflag: 0=keine Serie, <>0=Serien-ID, - vor FW1.29.5 fortlaufend 1, 2, ... - ab FW1.29.5 negierter Wert des Timestamp des Erstellungszeitpunktes der Serie 2 Ueberschreibschutz 0=kann ueberschrieben werden falls bei Aufnahme der Platz knapp wird, 1=kann nicht ueberschrieben werden 4 Länge des Titels nn Titel des Strings 4 Anzahl nachfolgender Dateinamenblöcke, normalerweise 1 bei vollständiger Aufnahme. Es gehören die nächsten fünf Felder zu einem Block ==== Block ==== 4 Länge der Dateinamens-Basis x Dateinamensbasis aller dazugehörenden Dateien 4 tatsächliche Startzeit der Aufnahme in Sek. seit 1.1.1970 8 SCR (System Clock Reference) zu Beginn des Blocks 8 SCR zu Ende des Blocks ==== Ende Block ==== 4 Länge von Genre/Herkunft nn Genre/Herkunft, z.B. "Spielfilm Deutschland 2000" 4 Länge der Beschreibung nn Beschreibung 4 Flag, ob der Film bereits gestartet wurde. 0 = nein, ansonsten Position in der Aufnahme in Sekunden (?) ?? Füllbytes? Einige Dateien haben noch einen Block unterschiedlicher Länge mit 0-Bytes
siehe Zeichensätze im EPG
Datenformat ( von Siemens )
All files are stored in big endian format. (long long is signed 64 bit, int is 32 bit, short is 16 bit and char is 8 bit)
long CRID-Version; /* always 2 */
long long CRID-ID; /* unique resource identifier */
long Recording-State; /* 1 scheduled for recording */
/* 2 is currently recorded */
/* 3 was recorded o.k. */
/* 4 recording damaged */
long epg start time; /* UTC in sec. since 1970/01/01 */
long epg end time; /* UTC in sec. since 1970/01/01 */
long user access data; /* not used, always 0 */
long recording pre-offset; /* not used, always -1 */
long recording post-offset; /* not used, always -1 */
long recording type; /* 1, single epg recording */
/* 2, single timer recording */
/* 4, series epg recording */
/* 8, series timer recording */
long series ID; /* unique series identifier */
short protected flag; /* 0, unportected */
/* 1, portected */
long length of crid title;
char[] crid title; /* string of char of crid title */
long number of recorded pieces; /* (normally 1, more when hard- */
/* powered off and restared ) */
long length of recording control file; /* (fmpg) name */
char[]name of recording control file; /* string of char of fmpg name */
long absolute start time of recording; /* possibily start of timeshift! */
long long start-timestamp of recording in 90KHz; /* 0, bigger than 0 when recorded */
/* from timeshift, or previous */
/* recording on same channel */
long long end-timestamp of recording in 90KHz; /* 0 when recording was killed */
/* (hard-powered off) or when */
/* recording is still running */
/* >0, when recording was finished */
long length of epg short text;
char[] epg short text; /* string of char of epg short text */
long length of epg long text;
char[] epg long text; /* string of char of epg long text */
long series ID; /* unique series identifier */

