X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=opusdec_filter.c;h=10ed394d295072d909441fe211fbcdc695ff62d0;hp=6a93f41f6b25f9e9d36b58726708861a52ed6b89;hb=85ec8f30f6bef37a9a3bc2b84314654648f2f81c;hpb=837cd1ab890645d9fd7d0d85139fdf076d987ea4 diff --git a/opusdec_filter.c b/opusdec_filter.c index 6a93f41f..10ed394d 100644 --- a/opusdec_filter.c +++ b/opusdec_filter.c @@ -4,7 +4,7 @@ * Copyright (c) 2007-2012 Xiph.Org Foundation * Copyright (C) 2012 Andre Noll * - * Licensed under the GPL v2. For licencing details see COPYING. + * Licensed under the GPL v2, see file COPYING. */ /** \file opusdec_filter.c The ogg/opus decoder. */ @@ -50,7 +50,6 @@ #include "para.h" #include "list.h" #include "sched.h" -#include "ggo.h" #include "buffer_tree.h" #include "filter.h" #include "error.h" @@ -70,7 +69,7 @@ struct opusdec_context { ogg_page ogg_page; bool eos; int channels; - int preskip; + uint16_t preskip; bool have_opus_stream; bool have_more; ogg_int32_t opus_serialno; @@ -142,9 +141,10 @@ static int opusdec_init(ogg_packet *op, struct opusdec_context *ctx) static void opusdec_add_output(short *pcm, int frames_available, struct btr_node *btrn, struct opusdec_context *ctx) { - int tmp_skip, num_frames, bytes; + int num_frames, bytes; + uint16_t tmp_skip; - tmp_skip = PARA_MIN(ctx->preskip, frames_available); + tmp_skip = PARA_MIN((int)ctx->preskip, frames_available); ctx->preskip -= tmp_skip; num_frames = frames_available - tmp_skip; if (num_frames <= 0) @@ -283,18 +283,10 @@ static void opusdec_pre_select(struct sched *s, void *context) return sched_min_delay(s); } -/** - * The init function of the opusdec filter. - * - * \param f Pointer to the filter struct to initialize. - * - * \sa filter::init. - */ -void opusdec_filter_init(struct filter *f) -{ - f->open = opusdec_open; - f->close = opusdec_close; - f->pre_select = opusdec_pre_select; - f->post_select = opusdec_post_select; - f->execute = opusdec_execute; -} +const struct filter lsg_filter_cmd_com_opusdec_user_data = { + .open = opusdec_open, + .close = opusdec_close, + .pre_select = opusdec_pre_select, + .post_select = opusdec_post_select, + .execute = opusdec_execute, +};