serenity-rs / songbird

An async Rust library for the Discord voice API
ISC License
391 stars 111 forks source link

ChildContainers has no audio output #208

Closed thedtvn closed 10 months ago

thedtvn commented 10 months ago

Songbird version: songbird = { version = "0.4.0", features = ["driver", "gateway", "rustls"], default_features = false}

Rust version (rustc -V): rustc 1.74.0 (79e9716c9 2023-11-13)

Serenity/Twilight version: custom client

Output of ffmpeg -version, yt-dlp --version (if relevant): ffmpeg version n5.1-14-gdb2d52e1ff-20220826 Copyright (c) 2000-2022 the FFmpeg developers

Description: I use HttpRequest play OGG audio but when use ChildContainers for FFmpeg to play m3u8 audio that not send any audio ( no output to voice )

Steps to reproduce:

use songbird::input::{
    Input,
    HttpRequest,
};
use std::process::{Command, Stdio};

let is_stereo = true;
        let stereo_val = if is_stereo { "2" } else { "1" };
        let options = &["-vn"];
        let pre_input_args = vec![
            "-reconnect",
            "1",
            "-reconnect_streamed",
            "1",
            "-reconnect_delay_max",
            "10"];
        let mut args = vec![
            "-f",
            "s16le",
            "-ac",
            stereo_val,
            "-ar",
            "48000",
            "-acodec",
            "pcm_f32le",
            "-"];
        args.extend(options);
        let command = Command::new("ffmpeg")
            .args(pre_input_args)
            .arg("-i")
            .arg(path)
            .args(args)
            .stderr(Stdio::null())
            .stdin(Stdio::null())
            .stdout(Stdio::piped())
            .spawn().unwrap();
        let data = ChildContainer::from(command);
        input_obj = Input::from(data);
thedtvn commented 10 months ago

image up date info about symphonia