a52 plugin + ffmpeg with libswresample

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I'm working on restoring functionality to the a52 plugin.
ALSA build with ffmpeg without (deprecated) libavresample does not build this plugin, since libavresample is missing. Archlinux for example does not build with libavresample anymore [1], therefore a52 is missing in alsa-plugins builds since that change happened.

I ported rate-lav to libswresample, which seems to work well after a month of daily use.

The oddity is that a config file (asoundrc, [2]), that worked fine with alsa-lib 1.1.6, does not work with 1.1.7+. I could not find a change that causes this.

I traced it down to _snd_pcm_rate_open() in pcm/pcm_rate.c, where keywords from within pcm {} are passed into, where it fails with "Unknown field card" (for example).

I worked around it by filtering out all keywords [3], but that feels a little unclean. Is there a proper way to fix this? I'm not familiar with ALSA's config parsing.

I'll submit patches for both once I figured out how to fix this.

[1] https://bugs.archlinux.org/task/60586
[2]
pcm.a52 {
    @args [CARD]
    @args.CARD {
        type string
    }
    type rate
    slave {
        pcm {
            type a52
            bitrate 640
            channels 6
            card $CARD
        }
        rate 48000
        format S16_LE
    }
}

[3]
if (strcmp(id, "bitrate") == 0 || strcmp(id, "rate") == 0 || strcmp(id, "card") == 0 || strcmp(id, "channels") == 0 || strcmp(id, "format") == 0) {
    continue;
}
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux