Added calls to query the bit-stream version.
authorJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Thu, 15 May 2008 11:53:27 +0000 (21:53 +1000)
committerJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Thu, 15 May 2008 11:53:27 +0000 (21:53 +1000)
libcelt/celt.h
libcelt/header.c
libcelt/modes.c
libcelt/modes.h

index 4d44f5e..25fd677 100644 (file)
@@ -63,6 +63,9 @@ extern "C" {
 /** GET the number of channels used in the current mode */
 #define CELT_GET_NB_CHANNELS  1002
 
+/** GET the bit-stream version for compatibility check */
+#define CELT_GET_BITSTREAM_VERSION 2000
+
 
 /** Contains the state of an encoder. One encoder state is needed for each 
     stream. It is initialised once at the beginning of the stream. Do *not*
index 18450ed..85be7dc 100644 (file)
@@ -67,7 +67,7 @@ void EXPORT celt_header_init(CELTHeader *header, const CELTMode *m)
    CELT_COPY(header->codec_id, "CELT    ", 8);
    CELT_COPY(header->codec_version, "experimental        ", 20);
 
-   header->version_id = 0x80000001;
+   celt_mode_info(m, CELT_GET_BITSTREAM_VERSION, &header->version_id);
    header->header_size = 56;
    header->sample_rate = m->Fs;
    header->nb_channels = m->nbChannels;
index e394ad4..08349f4 100644 (file)
@@ -65,6 +65,9 @@ int EXPORT celt_mode_info(const CELTMode *mode, int request, celt_int32_t *value
       case CELT_GET_NB_CHANNELS:
          *value = mode->nbChannels;
          break;
+      case CELT_GET_BITSTREAM_VERSION:
+         *value = CELT_BITSTREAM_VERSION;
+         break;
       default:
          return CELT_BAD_ARG;
    }
index d47825e..dd926dc 100644 (file)
@@ -39,6 +39,8 @@
 #include "psy.h"
 #include "pitch.h"
 
+#define CELT_BITSTREAM_VERSION 0x80000002
+
 #ifdef STATIC_MODES
 #include "static_modes.h"
 #endif