ref: c168071251c21efddfe184ac572c64affa264edf
parent: d3062c4f6ee0d9cd578b5ace22e3785e545f87e4
author: Gregory Maxwell <greg@xiph.org>
date: Tue May 22 11:12:54 EDT 2012
Revise header version according to the current OggOpus spec.
--- a/src/opus_header.c
+++ b/src/opus_header.c
@@ -125,6 +125,8 @@
if (!read_chars(&p, &ch, 1))
return 0;
h->version = ch;
+ if((h->version&240) != 0) /* Only major version 0 supported. */
+ return 0;
if (!read_chars(&p, &ch, 1))
return 0;
@@ -185,8 +187,8 @@
p.pos = 0;
if (!write_chars(&p, (const unsigned char*)"OpusHead", 8))
return 0;
- /* Version is 0 */
- ch = 0;
+ /* Version is 1 */
+ ch = 1;
if (!write_chars(&p, &ch, 1))
return 0;
--- a/src/opusdec.c
+++ b/src/opusdec.c
@@ -439,13 +439,13 @@
*gain = pow(10., header.gain/5120.);
- if (header.gain!=0)
- printf("Playback gain: %f (%f dB)\n", *gain, header.gain/256.);
if (!quiet)
{
- fprintf (stderr, "Decoding %d Hz audio", *rate);
-
- fprintf(stderr, " (%d channel%s)\n",*channels,*channels>1?"s":"");
+ fprintf(stderr, "Decoding %d Hz audio", *rate);
+ fprintf(stderr, " (%d channel%s)",*channels,*channels>1?"s":"");
+ if(header.version!=1)fprintf(stderr, ", Header v%d",header.version);
+ fprintf(stderr, "\n");
+ if (header.gain!=0)printf("Playback gain: %f (%f dB)\n", *gain, header.gain/256.);
}
return st;