[cvs-annodex] commit (/annodex): liboggz/trunk/ChangeLog
liboggz/trunk/src/liboggz/oggz_auto.c
conrad
nobody at lists.annodex.net
Fri Jan 21 16:50:41 EST 2005
Update of /annodex (new revision 691)
Modified files:
liboggz/trunk/ChangeLog
liboggz/trunk/src/liboggz/oggz_auto.c
Log Message:
add CMML binary header parsing
Modified: liboggz/trunk/ChangeLog
===================================================================
--- liboggz/trunk/ChangeLog 2005-01-21 05:42:20 UTC (rev 690)
+++ liboggz/trunk/ChangeLog 2005-01-21 05:50:40 UTC (rev 691)
@@ -1,6 +1,7 @@
Fri Jan 21 17:38:33 EST 2005 Conrad Parker <conrad at annodex.net>
* added FLAC header parsing from Tobias Gehrig
+ * added CMML header parsing
Fri May 28 11:08:34 EST 2004 Conrad Parker <conrad at annodex.net>
Modified: liboggz/trunk/src/liboggz/oggz_auto.c
===================================================================
--- liboggz/trunk/src/liboggz/oggz_auto.c 2005-01-21 05:42:20 UTC (rev 690)
+++ liboggz/trunk/src/liboggz/oggz_auto.c 2005-01-21 05:50:40 UTC (rev 691)
@@ -247,6 +247,31 @@
return 1;
}
+static int
+auto_cmml (OGGZ * oggz, ogg_packet * op, long serialno, void * user_data)
+{
+ unsigned char * header = op->packet;
+ ogg_int64_t granule_rate_numerator = 0, granule_rate_denominator = 0;
+
+ if (op->bytes < 28) return 0;
+
+ if (strncmp ((char *)header, "CMML", 4)) return 0;
+ if (!op->b_o_s) return 0;
+
+ granule_rate_numerator = INT64_LE_AT(&header[12]);
+ granule_rate_denominator = INT64_LE_AT(&header[20]);
+#ifdef DEBUG
+ printf ("Got CMML rate %lld/%lld\n", granule_rate_numerator,
+ granule_rate_denominator);
+#endif
+
+ oggz_set_metric_linear (oggz, serialno,
+ granule_rate_numerator,
+ OGGZ_AUTO_MULT * granule_rate_denominator);
+
+ return 1;
+}
+
static const OggzReadPacket auto_readers[] = {
auto_speex,
auto_vorbis,
@@ -254,6 +279,7 @@
auto_annodex,
auto_anxdata,
auto_flac,
+ auto_cmml,
NULL
};
--
conrad
More information about the cvs-annodex
mailing list