diff options
Diffstat (limited to 'src/libmpg123')
-rw-r--r-- | src/libmpg123/interface.c | 11 | ||||
-rw-r--r-- | src/libmpg123/layer1.c | 8 | ||||
-rw-r--r-- | src/libmpg123/layer2.c | 8 | ||||
-rw-r--r-- | src/libmpg123/layer3.c | 10 | ||||
-rw-r--r-- | src/libmpg123/mpg123.h | 8 | ||||
-rw-r--r-- | src/libmpg123/mpglib.h | 8 |
6 files changed, 32 insertions, 21 deletions
diff --git a/src/libmpg123/interface.c b/src/libmpg123/interface.c index 8f6a2118f..12b3b47af 100644 --- a/src/libmpg123/interface.c +++ b/src/libmpg123/interface.c @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: interface.c,v 1.1 2001/04/18 22:34:36 f1rmb Exp $ + * $Id: interface.c,v 1.2 2001/04/27 10:42:38 f1rmb Exp $ */ #include <stdlib.h> @@ -68,7 +68,8 @@ int head_check(struct mpstr *mp) return 1; } -void mpg_audio_decode_data (mpgaudio_t *mp, uint8_t *data, uint8_t *data_end, +void mpg_audio_decode_data (metronom_t *metronom, + mpgaudio_t *mp, uint8_t *data, uint8_t *data_end, uint32_t pts) { /* printf ("mpg123: decoding package\n"); */ @@ -124,13 +125,13 @@ void mpg_audio_decode_data (mpgaudio_t *mp, uint8_t *data, uint8_t *data_end, /* printf ("layer : %d\n",mp->fr.lay); */ switch(mp->fr.lay) { case 1: - do_layer1(mp, pts_for_package); + do_layer1(metronom, mp, pts_for_package); break; case 2: - do_layer2(mp, pts_for_package); + do_layer2(metronom, mp, pts_for_package); break; case 3: - do_layer3(mp, pts_for_package); + do_layer3(metronom, mp, pts_for_package); break; } diff --git a/src/libmpg123/layer1.c b/src/libmpg123/layer1.c index dad35766c..dd6cef6ac 100644 --- a/src/libmpg123/layer1.c +++ b/src/libmpg123/layer1.c @@ -10,6 +10,8 @@ #include "mpg123.h" +#include "metronom.h" + void I_step_one(unsigned int balloc[], unsigned int scale_index[2][SBLIMIT],struct frame *fr) { unsigned int *ba=balloc; @@ -111,7 +113,7 @@ void I_step_two(real fraction[2][SBLIMIT],unsigned int balloc[2*SBLIMIT], } } -void do_layer1(mpgaudio_t *mp, uint32_t pts) +void do_layer1(metronom_t *metronom, mpgaudio_t *mp, uint32_t pts) { int clip=0; struct frame *fr = &mp->fr; @@ -145,14 +147,14 @@ void do_layer1(mpgaudio_t *mp, uint32_t pts) } if (!mp->is_output_initialized) { - mp->ao_output->open (16, fr->sample_rate, + mp->ao_output->open (metronom, 16, fr->sample_rate, stereo-1 ? AO_MODE_STEREO: AO_MODE_MONO); mp->is_output_initialized = 1; printf ("layer1\n"); } - mp->ao_output->write_audio_data ((int16_t*)mp->osspace, num_bytes/(stereo-1 ? 4:2), pts); + mp->ao_output->write_audio_data (metronom, (int16_t*)mp->osspace, num_bytes/(stereo-1 ? 4:2), pts); } diff --git a/src/libmpg123/layer2.c b/src/libmpg123/layer2.c index 8c320f11b..738825995 100644 --- a/src/libmpg123/layer2.c +++ b/src/libmpg123/layer2.c @@ -8,6 +8,8 @@ #include "mpg123.h" #include "l2tables.h" +#include "metronom.h" + static int grp_3tab[32 * 3] = { 0, }; /* used: 27 */ static int grp_5tab[128 * 3] = { 0, }; /* used: 125 */ static int grp_9tab[1024 * 3] = { 0, }; /* used: 729 */ @@ -247,7 +249,7 @@ static void II_select_table(struct frame *fr) fr->II_sblimit = sblim; } -void do_layer2(mpgaudio_t *mp, uint32_t pts) +void do_layer2(metronom_t *metronom, mpgaudio_t *mp, uint32_t pts) { int clip=0; int i,j; @@ -285,7 +287,7 @@ void do_layer2(mpgaudio_t *mp, uint32_t pts) } if (!mp->is_output_initialized) { - mp->ao_output->open (16, fr->sample_rate, + mp->ao_output->open (metronom, 16, fr->sample_rate, stereo-1 ? AO_MODE_STEREO: AO_MODE_MONO); mp->is_output_initialized = 1; @@ -293,7 +295,7 @@ void do_layer2(mpgaudio_t *mp, uint32_t pts) } - mp->ao_output->write_audio_data ((int16_t*)mp->osspace, num_bytes/(stereo-1 ? 4:2), pts); + mp->ao_output->write_audio_data (metronom, (int16_t*)mp->osspace, num_bytes/(stereo-1 ? 4:2), pts); } diff --git a/src/libmpg123/layer3.c b/src/libmpg123/layer3.c index 27fc7b547..7f1d36b32 100644 --- a/src/libmpg123/layer3.c +++ b/src/libmpg123/layer3.c @@ -10,6 +10,8 @@ #include "mpglib.h" #include "huffman.h" +#include "metronom.h" + #define MPEG1 @@ -1446,7 +1448,7 @@ static void III_hybrid(mpgaudio_t *mp, /* * main layer3 handler */ -void do_layer3(mpgaudio_t *mp, uint32_t pts) +void do_layer3(metronom_t *metronom, mpgaudio_t *mp, uint32_t pts) { int gr, ch, ss,clip=0; struct frame *fr = &mp->fr; @@ -1595,14 +1597,12 @@ void do_layer3(mpgaudio_t *mp, uint32_t pts) } if (!mp->is_output_initialized) { - mp->ao_output->open (16, fr->sample_rate, + mp->ao_output->open (metronom, 16, fr->sample_rate, stereo-1 ? AO_MODE_STEREO: AO_MODE_MONO); mp->is_output_initialized = 1; printf ("layer3\n"); } - mp->ao_output->write_audio_data ((int16_t*)mp->osspace, num_bytes/(stereo-1 ? 4:2), pts); + mp->ao_output->write_audio_data (metronom, (int16_t*)mp->osspace, num_bytes/(stereo-1 ? 4:2), pts); } - - diff --git a/src/libmpg123/mpg123.h b/src/libmpg123/mpg123.h index 9e947aa13..fc7709201 100644 --- a/src/libmpg123/mpg123.h +++ b/src/libmpg123/mpg123.h @@ -9,6 +9,8 @@ #include <math.h> +#include "metronom.h" + #ifdef _WIN32 # undef WIN32 # define WIN32 @@ -108,9 +110,9 @@ extern unsigned char *mpg123_wordpointer; extern int mpg123_bitindex; extern void make_decode_tables(long scaleval); -extern void do_layer3(mpgaudio_t *mp, uint32_t pts); -extern void do_layer2(mpgaudio_t *mp, uint32_t pts); -extern void do_layer1(mpgaudio_t *mp, uint32_t pts); +extern void do_layer3(metronom_t *metronom, mpgaudio_t *mp, uint32_t pts); +extern void do_layer2(metronom_t *metronom, mpgaudio_t *mp, uint32_t pts); +extern void do_layer1(metronom_t *metronom, mpgaudio_t *mp, uint32_t pts); extern int decode_header(struct frame *fr,unsigned long newhead); diff --git a/src/libmpg123/mpglib.h b/src/libmpg123/mpglib.h index 04b33a922..3f1eea165 100644 --- a/src/libmpg123/mpglib.h +++ b/src/libmpg123/mpglib.h @@ -18,14 +18,16 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: mpglib.h,v 1.1 2001/04/18 22:34:49 f1rmb Exp $ + * $Id: mpglib.h,v 1.2 2001/04/27 10:42:38 f1rmb Exp $ */ #ifndef HAVE_MPGLIB_H #define HAVE_MPGLIB_H #include <inttypes.h> + #include "audio_out.h" +#include "metronom.h" typedef struct mpstr { unsigned char bsspace[2][MAXFRAMESIZE+512]; /* MAXFRAMESIZE */ @@ -58,7 +60,8 @@ mpgaudio_t *mpg_audio_init (ao_functions_t *ao_output); void mpg_audio_reset (mpgaudio_t *mp); -void mpg_audio_decode_data (mpgaudio_t *mp, uint8_t *data, uint8_t *data_end, +void mpg_audio_decode_data (metronom_t *metronom, + mpgaudio_t *mp, uint8_t *data, uint8_t *data_end, uint32_t pts); #ifdef __cplusplus @@ -66,3 +69,4 @@ void mpg_audio_decode_data (mpgaudio_t *mp, uint8_t *data, uint8_t *data_end, #endif #endif + |