Save also the end of file time value of the afh_info to disk.
authorAndre Noll <maan@systemlinux.org>
Wed, 31 Oct 2007 00:00:51 +0000 (01:00 +0100)
committerAndre Noll <maan@systemlinux.org>
Wed, 31 Oct 2007 00:00:51 +0000 (01:00 +0100)
Unfortunately, this breaks the layout of the aft. Fortunately,
we're still in pre-0.3, so that's acceptable.

aft.c

diff --git a/aft.c b/aft.c
index c99b5ac..f55bf84 100644 (file)
--- a/aft.c
+++ b/aft.c
@@ -325,10 +325,12 @@ enum afhi_offsets {
        AFHI_FREQUENCY_OFFSET = 8,
        /** Number of channels is stored here. */
        AFHI_CHANNELS_OFFSET = 12,
+       /** EOF timeout in ms. */
+       AFHI_EOF_OFFSET = 13,
        /** The tag info position. */
-       AFHI_INFO_STRING_OFFSET = 13,
+       AFHI_INFO_STRING_OFFSET = 15,
        /** Minimal on-disk size of a valid afhi struct. */
-       MIN_AFHI_SIZE = 14
+       MIN_AFHI_SIZE = 16
 };
 
 static unsigned sizeof_afhi_buf(const struct afh_info *afhi)
@@ -347,6 +349,7 @@ static void save_afhi(struct afh_info *afhi, char *buf)
        write_u32(buf + AFHI_BITRATE_OFFSET, afhi->bitrate);
        write_u32(buf + AFHI_FREQUENCY_OFFSET, afhi->frequency);
        write_u8(buf + AFHI_CHANNELS_OFFSET, afhi->channels);
+       write_u16(buf + AFHI_EOF_OFFSET, tv2ms(&afhi->eof_tv));
        strcpy(buf + AFHI_INFO_STRING_OFFSET, afhi->info_string); /* OK */
        PARA_DEBUG_LOG("last byte written: %p\n", buf + AFHI_INFO_STRING_OFFSET + strlen(afhi->info_string));
 }
@@ -357,6 +360,7 @@ static void load_afhi(const char *buf, struct afh_info *afhi)
        afhi->bitrate = read_u32(buf + AFHI_BITRATE_OFFSET);
        afhi->frequency = read_u32(buf + AFHI_FREQUENCY_OFFSET);
        afhi->channels = read_u8(buf + AFHI_CHANNELS_OFFSET);
+       ms2tv(read_u16(buf + AFHI_EOF_OFFSET), &afhi->eof_tv);
        strcpy(afhi->info_string, buf + AFHI_INFO_STRING_OFFSET);
 }