comparison libmpdemux/demux_ogg.c @ 18669:f167e56c686b

moved store_ughvlc() before #ifdef HAVE_OGGVORBIS, so it can be used by other demuxers when libogg and/or libvorbis are missing
author nicodvb
date Fri, 09 Jun 2006 21:43:23 +0000
parents 495142cba779
children c528c6c518f1
comparison
equal deleted inserted replaced
18668:5a77f8808432 18669:f167e56c686b
1 1
2 #include "config.h" 2 #include "config.h"
3
4 unsigned int store_ughvlc(unsigned char *s, unsigned int v)
5 {
6 unsigned int n = 0;
7
8 while(v >= 0xff)
9 {
10 *s++ = 0xff;
11 v -= 0xff;
12 n++;
13 }
14 *s = v;
15 n++;
16
17 return n;
18 }
3 19
4 #ifdef HAVE_OGGVORBIS 20 #ifdef HAVE_OGGVORBIS
5 21
6 #include <stdlib.h> 22 #include <stdlib.h>
7 #include <stdio.h> 23 #include <stdio.h>
760 ogg_demuxer_t *ogg_d = (ogg_demuxer_t *)demuxer->priv; 776 ogg_demuxer_t *ogg_d = (ogg_demuxer_t *)demuxer->priv;
761 return (index < 0) ? NULL : (index >= ogg_d->n_text) ? NULL : ogg_d->text_langs[index]; 777 return (index < 0) ? NULL : (index >= ogg_d->n_text) ? NULL : ogg_d->text_langs[index];
762 } 778 }
763 779
764 static void demux_close_ogg(demuxer_t* demuxer); 780 static void demux_close_ogg(demuxer_t* demuxer);
765
766 unsigned int store_ughvlc(unsigned char *s, unsigned int v)
767 {
768 unsigned int n = 0;
769
770 while(v >= 0xff)
771 {
772 *s++ = 0xff;
773 v -= 0xff;
774 n++;
775 }
776 *s = v;
777 n++;
778
779 return n;
780 }
781 781
782 static void fixup_vorbis_wf(sh_audio_t *sh, ogg_demuxer_t *od) 782 static void fixup_vorbis_wf(sh_audio_t *sh, ogg_demuxer_t *od)
783 { 783 {
784 int i, offset; 784 int i, offset;
785 int ris, init_error = 0; 785 int ris, init_error = 0;