#939 Adds MP3 encoder preferences to the User Preferences dialog and provides user control over sample rate and MP3 encoder settings. MP3 preferences are global and affect both recording and streaming. (#1159)

Co-authored-by: Dennis Sheirer <dsheirer@github.com>
This commit is contained in:
Denny Sheirer
2022-03-10 04:17:35 -05:00
committed by GitHub
parent 0e8c9591e4
commit 2355dfce07
40 changed files with 1369 additions and 347 deletions

View File

@@ -0,0 +1,62 @@
/*
* *****************************************************************************
* Copyright (C) 2014-2022 Dennis Sheirer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>
* ****************************************************************************
*/
package io.github.dsheirer.audio.convert;
/**
* MPEG Layer
*
* see: http://www.mp3-tech.org/programmer/frame_header.html
*/
public enum MPEGLayer
{
RESERVED("LAYER-RESERVED"),
LAYER3("LAYER-3"),
LAYER2("LAYER-2"),
LAYER1("LAYER-1");
private String mLabel;
MPEGLayer(String label)
{
mLabel = label;
}
public static MPEGLayer fromValue(int value)
{
switch(value)
{
case 1:
return LAYER3;
case 2:
return LAYER2;
case 3:
return LAYER1;
default:
case 0:
return RESERVED;
}
}
@Override
public String toString()
{
return mLabel;
}
}