Ejemplo n.º 1
0
void BleSetting::onApplyClicked()
{
    MOption *option = MOption::instance();

    // audio group
    int audioDevID = ui->audioDevice->itemData(ui->audioDevice->currentIndex()).toInt();
    QString audioFormat = ui->audioFormat->currentText();
    QString audioChannels = ui->audioChannels->currentText();
    QString audioSampleRate = ui->audioSampleRate->currentText();
    QString audioBitrate = ui->audioBitrate->currentText();

    option->setOption(audioDevID, "dev_id", "audio");
    option->setOption(audioFormat, "format", "audio");
    option->setOption(audioChannels, "channels", "audio");
    option->setOption(audioSampleRate, "sample_rate", "audio");
    option->setOption(audioBitrate, "bitrate", "audio");

    QString format      = ui->format->currentText();
    QVariant res        = ui->res->itemData(ui->res->currentIndex());
    QString fps         = ui->fps->currentText();
    QString bitrate     = ui->bitrate->currentText();
    QString x264Preset  = ui->x264Preset->currentText();
    QString x264Tune    = ui->x264Tune->currentText();
    QString x264Profile = ui->x264Profile->currentText();
    QString address     = ui->address->text().trimmed();
    QString bitrateMode = ui->bitrateMode->currentText();
    QString keyFrameInterval = ui->keyFrameInterval->currentText();
    QString threadCount = ui->threadCount->currentText();
    QString enableBFrame = ui->enableBFrame->isChecked() ? "true" : "false";
    QString quality             = QString::number(ui->qualityBar->value());

    // save
    option->setOption(format, "format", "encoder");
    option->setOption(res, "res", "encoder");
    option->setOption(fps, "fps", "encoder");
    option->setOption(bitrate, "bitrate", "encoder");

    option->setOption(x264Preset, "preset", "x264");
    option->setOption(x264Tune, "tune", "x264");
    option->setOption(x264Profile, "profile", "x264");
    option->setOption(bitrateMode, "BitrateMode", "x264");
    option->setOption(keyFrameInterval, "KeyFrameInterval", "x264");
    option->setOption(threadCount, Key_Thread_Count, Group_X264);
    option->setOption(enableBFrame, Key_Enable_B_Frame, Group_X264);
    option->setOption(quality, "quality", "x264");

    option->setOption(address, "address", "network");

    emit settingChanged();
}