Fixup fromcvs/togit conversion
[minix-pkgsrc.git] / audio / akode / patches / patch-ag
blob00b14489c09e11686112ab9e99da4222099c0180
1 $NetBSD: patch-ag,v 1.1.1.1 2009/02/26 18:00:34 hasso Exp $
3 * Attempt fallback to ffmpeg decoder if loading the "native" one fails.
4 * Reset resampler/converter if it isn't necessary any more.
6 --- akode/lib/player.cpp.orig   2009-02-20 15:04:49 +0200
7 +++ akode/lib/player.cpp        2009-02-20 15:11:55 +0200
8 @@ -37,6 +37,7 @@
9  
10  #include "player.h"
12 +#include <cstring>
13  #ifndef NDEBUG
14  #include <iostream>
15  #define AKODE_DEBUG(x) {std::cerr << "akode: " << x << "\n";}
16 @@ -345,8 +345,11 @@ bool Player::load() {
17              d->src = 0;
18              return false;
19          }
20 -        if (!d->decoder_handler.load(format))
21 +        if (!d->decoder_handler.load(format)) {
22              AKODE_DEBUG("Could not load " << format << "-decoder");
23 +            if (!d->decoder_handler.load("ffmpeg"))
24 +                AKODE_DEBUG("Could not load ffmpeg-decoder");
25 +        }
26      }
28      if (!d->decoder_handler.isLoaded()) {
29 @@ -398,6 +401,9 @@ bool Player::load() {
30          if (d->sample_rate != first_frame.sample_rate) {
31              AKODE_DEBUG("Resampling to " << d->sample_rate);
32              d->resampler->setSampleRate(d->sample_rate);
33 +        } else {
34 +            delete d->resampler;
35 +            d->resampler = 0;
36          }
37          int out_channels = d->sink->audioConfiguration()->channels;
38          int in_channels = first_frame.channels;
39 @@ -419,6 +425,9 @@ bool Player::load() {
40                  d->converter = new Converter(out_width);
41              else
42                  d->converter->setSampleWidth(out_width);
43 +        } else {
44 +            delete d->converter;
45 +            d->converter = 0;
46          }
47      }
48      else