Problems with certain mp3s

bjerzyna
2011-04-24
2013-04-24
  • bjerzyna
    bjerzyna
    2011-04-24

    We're using madplay in an embedded application.
    We receive mp3s from our customer.
    We have a need to play some audio files in stereo and others where we have one channel muted.
    Our customer provides three types for a given audio snippet:
    *_r.mp3 that have the left channel muted
    *_l.mp3 that have the left channel muted
    *_s.mp3 that play on both channels

    madplay wil play the _s.mp3 files fine, but doesn't play the _r.mp3 files.
    It inidicates 0 frames decoded etc.

    Stepping through madplay in gdb I found that the _r.mp3 files have a significant amount of ancilliary data and madplay detects these as LAME tags, parses the tag, but then ignores the frame.

    I've changed player.c:1159 from
          return (player->options & PLAYER_OPTION_SHOWTAGSONLY) ?
    MAD_FLOW_STOP : MAD_FLOW_IGNORE;
    to
          if (player->options & PLAYER_OPTION_SHOWTAGSONLY)
    return (MAD_FLOW_STOP);
    and that fixes the problem.

    I'm not sure whether the problem lies with the encoder or madplay, but would appreciate any advice as to whether this is a legitimate fix.

    Best regards Bernd

     
  • bjerzyna
    bjerzyna
    2011-04-24

    that should have been

    *_l.mp3 that have the right channel muted

    all files are encoded as stereo