writing some example code
authorJean-Marc Valin <jmvalin@jmvalin.ca>
Thu, 27 Apr 2017 18:52:13 +0000 (14:52 -0400)
committerJean-Marc Valin <jmvalin@jmvalin.ca>
Thu, 27 Apr 2017 18:52:13 +0000 (14:52 -0400)
examples/opusenc_example.c
src/opusenc.c

index 5c2fa9b..6a4c111 100644 (file)
@@ -1,3 +1,23 @@
+#include <stdio.h>
+#include "opusenc.h"
+
 int main(int argc, char **argv) {
+  FILE *fin;
+  OggOpusEnc *enc;
+  int error;
+  if (argc != 3) {
+    fprintf(stderr, "usage: %s <raw pcm input> <Ogg Opus output>\n", argv[0]);
+    return 1;
+  }
+  fin = fopen(argv[1], "r");
+  if (!fin) {
+    printf("cannout open input file: %s\n", argv[1]);
+    return 1;
+  }
+  enc = ope_create_file(argv[2], 48000, 2, 0, &error);
+  if (!enc) {
+    printf("cannout open output file: %s\n", argv[2]);
+    return 1;
+  }
   return 0;
 }
index 9172f39..4809828 100644 (file)
@@ -135,6 +135,7 @@ OggOpusEnc *ope_create_callbacks(const OpusEncCallbacks *callbacks, void *user_d
     if (error) *error = OPE_BAD_ARG;
     return NULL;
   }
+  if ( (enc = malloc(sizeof(*enc))) == NULL) goto fail;
   enc->header.channels=channels;
   enc->header.channel_mapping=family;
   enc->header.input_sample_rate=rate;
@@ -145,7 +146,6 @@ OggOpusEnc *ope_create_callbacks(const OpusEncCallbacks *callbacks, void *user_d
   if (! (ret == OPUS_OK && st != NULL) ) {
     goto fail;
   }
-  if ( (enc = malloc(sizeof(*enc))) == NULL) goto fail;
   enc->os_allocated = 0;
   enc->comment = NULL;
   comment_init(&enc->comment, &enc->comment_length, opus_get_version_string());