Ticket #1699: mfd.3.patch

File mfd.3.patch, 22.8 KB (added by jochen, 15 years ago)

Version 3

  • settings.pro

     
    22#CONFIG += release
    33
    44isEmpty( PREFIX ) {
    5     PREFIX = /usr/local
     5    PREFIX = /usr
    66}
    77
    8 LIBVERSION = 0.18
     8LIBVERSION = 0.19
    99
    1010INCLUDEPATH += $${PREFIX}/include
    1111
  • mfd/plugins/audio/audio.cpp

     
    4545    //  thr RTSP streamer can use to get PCM bits to send out.
    4646    //
    4747
    48     output = AudioOutput::OpenAudio("NULL", 16, 2, 44100, AUDIOOUTPUT_MUSIC, true );
     48    output = AudioOutput::OpenAudio("NULL", 16, 2, 44100, AUDIOOUTPUT_MUSIC, true, false );
    4949    output->bufferOutputData(true);
    5050    output->setBufferSize(output_buffer_size * 1024);
    5151    output->SetBlocking(false);
     
    516516#else
    517517            QString adevice = gContext->GetSetting("AudioDevice");
    518518            // TODO: Error checking that device is opened correctly!
    519             output = AudioOutput::OpenAudio(adevice, 16, 2, 44100, AUDIOOUTPUT_MUSIC, true );
     519            output = AudioOutput::OpenAudio(adevice, 16, 2, 44100, AUDIOOUTPUT_MUSIC, true, false );
    520520            output->setBufferSize(output_buffer_size * 1024);
    521521            output->SetBlocking(false);
    522522            output->addListener(audio_listener);
  • mfd/plugins/mmusic/mmusic.cpp

     
    7777    //  This is a "magic" number signifying what we want to see
    7878    //
    7979   
    80     desired_database_version = "1005";
     80    desired_database_version = "1007";
    8181
    8282    //
    8383    //  Initialize our container and set things up for a clean slate
     
    526526   
    527527    MSqlQuery query(MSqlQuery::InitCon());
    528528   
    529     query.exec("SELECT intid, filename FROM musicmetadata ;");
     529    query.exec("SELECT song_id, filename FROM music_songs ;");
    530530   
    531531    if(query.isActive())
    532532    {
     
    544544
    545545                    ++count;
    546546                    MSqlQuery delete_query(MSqlQuery::InitCon());
    547                     delete_query.prepare("DELETE FROM musicmetadata WHERE intid = ?");
     547                    delete_query.prepare("DELETE FROM music_songs WHERE song_id = ?");
    548548                    delete_query.bindValue(0, query.value(0).toUInt());
    549549                    delete_query.exec();
    550550                    log(QString("removed item %1 (\"%2\") from the database")
     
    556556    }
    557557    else
    558558    {
    559         warning("something wrong with your musicmetadata table");
     559        warning("something wrong with your music_songs table");
    560560    }
    561561   
    562562    if(count > 0)
     
    638638   
    639639    MSqlQuery query(MSqlQuery::InitCon());
    640640   
    641     query.exec("SELECT COUNT(filename) FROM musicmetadata;");
     641    query.exec("SELECT COUNT(filename) FROM music_songs;");
    642642   
    643643    if(!query.isActive())
    644644    {
    645645        if(!sent_musicmetadata_table_warning)
    646646        {
    647             warning("cannot get data from a table called musicmetadata");
     647            warning("cannot get data from a table called music_songs");
    648648            sent_musicmetadata_table_warning = true;
    649649        }
    650650        return false;
    651651       
    652652    }
    653653   
    654     query.exec("SELECT COUNT(playlistid) FROM musicplaylist ");
     654    query.exec("SELECT COUNT(playlist_id) FROM music_saved_playlists ");
    655655
    656656    if(!query.isActive())
    657657    {
     
    977977
    978978    MSqlQuery query(MSqlQuery::InitCon());
    979979
    980     query.prepare("SELECT intid, artist, album, title, genre, "
     980/*    query.prepare("SELECT intid, artist, album, title, genre, "
    981981                  "year, tracknum, length, rating, "
    982982                  "lastplay, playcount, mythdigest, size, date_added, "
    983983                  "date_modified, format, description, comment, "
    984984                  "compilation, composer, disc_count, disc_number, "
    985985                  "track_count, start_time, stop_time, eq_preset, "
    986986                  "relative_volume, sample_rate, bpm "
    987                   "FROM musicmetadata WHERE filename = ? ;");
     987                  "FROM musicmetadata WHERE filename = ? ;");*/
     988    query.prepare("SELECT music_songs.song_id, music_artists.artist_name, "
     989                  "music_albums.album_name, music_songs.name, "
     990                  "music_genres.genre, music_songs.year, "
     991                  "music_songs.track, music_songs.length, "
     992                  "music_songs.rating, music_songs.lastplay, "
     993                  "music_songs.numplays, music_songs.mythdigest,"
     994                  "music_songs.size, music_songs.date_entered, "
     995                  "music_songs.date_modified, music_songs.format, "
     996                  "music_songs.description, music_songs.comment, "
     997                  "music_songs.compilation, music_artists_1.artist_name AS composer, "
     998                  "music_songs.disc_count, music_songs.disc_number, "
     999                  "music_songs.track_count, music_songs.start_time, "
     1000                  "music_songs.stop_time, music_songs.eq_preset, "
     1001                  "music_songs.relative_volume, music_songs.bitrate, "
     1002                  "music_songs.bpm "
     1003                  "FROM (((music_songs INNER JOIN music_albums ON music_songs.album_id = music_albums.album_id) INNER JOIN music_artists ON music_songs.artist_id = music_artists.artist_id) INNER JOIN music_genres ON music_songs.genre_id = music_genres.genre_id) INNER JOIN music_artists AS music_artists_1 ON music_songs.compilationartist_id = music_artists_1.artist_id WHERE FILENAME = ? ;");
    9881004
    9891005    query.bindValue(0, sqlfilename.utf8());
    9901006   
     
    11981214       
    11991215        MSqlQuery query(MSqlQuery::InitCon());
    12001216
    1201         query.prepare("INSERT INTO musicmetadata (filename, mythdigest) "
     1217        query.prepare("INSERT INTO music_songs(filename, mythdigest) "
    12021218                      "values ( ? , ?)");
    12031219
    12041220        query.bindValue(0, sqlfilename.utf8());
     
    12131229            return NULL;
    12141230        }
    12151231       
    1216         query.prepare("SELECT intid FROM musicmetadata "
     1232        query.prepare("SELECT song_id FROM music_songs "
    12171233                               "WHERE mythdigest = ? ;");
    12181234        query.bindValue(0, new_item->getMythDigest());
    12191235        query.exec();
     
    13221338
    13231339    MSqlQuery query(MSqlQuery::InitCon());
    13241340
    1325     query.prepare("UPDATE musicmetadata SET "
    1326                   "title = ? , "
    1327                   "artist = ? , "
    1328                   "album = ? , "
    1329                   "genre = ? , "
     1341
     1342//Genrecheck
     1343//Albumcheck
     1344//Artist
     1345    int ArtistID;
     1346    query.prepare("SELECT music_artists.artist_id FROM music_artists "
     1347                  " WHERE (((music_artists.artist_name)=:ARTIST));");
     1348    query.bindValue(":ARTIST", an_item->getArtist().utf8());
     1349    query.exec();
     1350//    cout << query.executedQuery() << endl;
     1351    if (query.size() > 0)
     1352        {
     1353        query.next();
     1354        ArtistID = query.value(0).toInt();
     1355        }
     1356    else
     1357        {
     1358        query.prepare("INSERT INTO music_artists (artist_name) VALUES (:ARTIST);");
     1359        query.bindValue(":ARTIST", an_item->getArtist().utf8());
     1360        query.exec();
     1361//      cout << query.executedQuery() << endl;
     1362        query.prepare("SELECT music_artists.artist_id FROM music_artists "
     1363                  " WHERE (((music_artists.artist_name)=:ARTIST));");
     1364        query.bindValue(":ARTIST", an_item->getArtist().utf8());
     1365        query.exec();
     1366//      cout << query.executedQuery() << endl;
     1367        query.next();
     1368        ArtistID = query.value(0).toInt();     
     1369        }
     1370
     1371//Compilation Artist   
     1372    int CoArtistID;
     1373    query.prepare("SELECT music_artists.artist_id FROM music_artists "
     1374                  " WHERE (((music_artists.artist_name)=:ARTIST));");
     1375    query.bindValue(":ARTIST", an_item->getComposer().utf8());
     1376    query.exec();
     1377//    cout << query.executedQuery() << endl;
     1378    if (query.size() > 0)
     1379        {
     1380        query.next();
     1381        CoArtistID = query.value(0).toInt();
     1382        }
     1383    else
     1384        {
     1385        query.prepare("INSERT INTO music_artists (artist_name) VALUES (:ARTIST);");
     1386        query.bindValue(":ARTIST", an_item->getComposer().utf8());
     1387        query.exec();
     1388//      cout << query.executedQuery() << endl;
     1389        query.prepare("SELECT music_artists.artist_id FROM music_artists "
     1390                  " WHERE (((music_artists.artist_name)=:ARTIST));");
     1391        query.bindValue(":ARTIST", an_item->getComposer().utf8());
     1392        query.exec();
     1393//      cout << query.executedQuery() << endl;
     1394        query.next();
     1395        CoArtistID = query.value(0).toInt();   
     1396        }
     1397
     1398//Album
     1399    int AlbumID;
     1400    query.prepare("SELECT music_albums.album_id FROM music_albums "
     1401                  " WHERE (((music_albums.album_name)=:ALBUM));");
     1402    query.bindValue(":ALBUM", an_item->getAlbum().utf8());
     1403    query.exec();
     1404//    cout << query.executedQuery() << endl;
     1405    if (query.size() > 0)
     1406        {
     1407        query.next();
     1408        AlbumID = query.value(0).toInt();
     1409        }
     1410    else
     1411        {
     1412        query.prepare("INSERT INTO music_albums (album_name) VALUES (:ALBUM);");
     1413        query.bindValue(":ALBUM", an_item->getAlbum().utf8());
     1414        query.exec();
     1415//      cout << query.executedQuery() << endl;
     1416       
     1417        query.prepare("SELECT music_albums.album_id FROM music_albums "
     1418                  " WHERE (((music_albums.album_name)=:ALBUM));");
     1419        query.bindValue(":ALBUM", an_item->getAlbum().utf8());
     1420        query.exec();
     1421//      cout << query.executedQuery() << endl;
     1422        query.next();
     1423
     1424        AlbumID = query.value(0).toInt();       
     1425        }
     1426
     1427//Genres
     1428    int GenreID;
     1429    query.prepare("SELECT music_genres.genre_id FROM music_genres "
     1430                  " WHERE (((music_genres.genre)=:GENRE));");
     1431    query.bindValue(":GENRE", an_item->getGenre().utf8());
     1432    query.exec();
     1433//    cout << query.executedQuery() << endl;
     1434    if (query.size() > 0)
     1435        {
     1436        query.next();
     1437        GenreID = query.value(0).toInt();
     1438        }
     1439    else
     1440        {
     1441        query.prepare("INSERT INTO music_genres (genre) VALUES (:GENRE);");
     1442        query.bindValue(":GENRE", an_item->getGenre().utf8());
     1443        query.exec();
     1444//        cout << query.executedQuery() << endl;
     1445       
     1446        query.prepare("SELECT music_genres.genre_id FROM music_genres "
     1447                  " WHERE (((music_genres.genre)=:GENRE));");
     1448        query.bindValue(":GENRE", an_item->getGenre().utf8());
     1449        query.exec();
     1450//      cout << query.executedQuery() << endl;
     1451        query.next();
     1452        GenreID = query.value(0).toInt();       
     1453        }
     1454
     1455    query.prepare("UPDATE music_songs SET "
     1456                  "name = ? , "
     1457                  "artist_id = ? , "
     1458                  "album_id = ? , "
     1459                  "genre_id = ? , "
    13301460                  "year = ? , "
    1331                   "tracknum = ? , "
     1461                  "track = ? , "
    13321462                  "length = ? , "
    13331463                  "rating = ? , "
    13341464                  "lastplay = ? , "
    1335                   "playcount = ? , "
     1465                  "numplays = ? , "
    13361466                  "mythdigest = ? , "
    13371467                  "size = ? , "
    1338                   "date_added = ? , "
     1468                  "date_entered = ? , "
    13391469                  "date_modified = ? , "
    13401470                  "format = ? , "
    13411471                  "description = ? , "
    13421472                  "comment = ? , "
    13431473                  "compilation = ? , "
    1344                   "composer = ? , "
     1474                  "compilationartist_id = ? , "
    13451475                  "disc_count = ? , "
    13461476                  "disc_number = ? , "
    13471477                  "track_count = ? , "
     
    13491479                  "stop_time = ? , "
    13501480                  "eq_preset = ? , "
    13511481                  "relative_volume = ? , "
    1352                   "sample_rate = ? , "
     1482                  "bitrate = ? , "
    13531483                  "bpm = ?  "
    1354                   "WHERE intid = ? ;");
     1484                  "WHERE song_id = ? ;");
    13551485
    13561486    query.bindValue(0,  an_item->getTitle().utf8());
    1357     query.bindValue(1,  an_item->getArtist().utf8());
    1358     query.bindValue(2,  an_item->getAlbum().utf8());
    1359     query.bindValue(3,  an_item->getGenre().utf8());
     1487    query.bindValue(1,  ArtistID);
     1488    query.bindValue(2,  AlbumID);
     1489    query.bindValue(3,  GenreID);
    13601490    query.bindValue(4,  an_item->getYear());
    13611491    query.bindValue(5,  an_item->getTrack());
    13621492    query.bindValue(6,  an_item->getLength());
     
    13711501    query.bindValue(15, an_item->getDescription().utf8());
    13721502    query.bindValue(16, an_item->getComment().utf8());
    13731503    query.bindValue(17, an_item->getCompilation());
    1374     query.bindValue(18, an_item->getComposer().utf8());
     1504    query.bindValue(18, CoArtistID);
    13751505    query.bindValue(19, an_item->getDiscCount());
    13761506    query.bindValue(20, an_item->getDiscNumber());
    13771507    query.bindValue(21, an_item->getTrackCount());
     
    14671597
    14681598    MSqlQuery query(MSqlQuery::InitCon());
    14691599
    1470     query.prepare("SELECT name, songlist, playlistid FROM musicplaylist "
     1600    query.prepare("SELECT playlist_name, playlist_songs, playlist_id FROM music_saved_playlists "
    14711601                  "WHERE name != ? "
    1472                   "AND name != ? "
    1473                   "AND hostname = ? ;");
     1602                  "AND name != ? ;");
    14741603       
    14751604    query.bindValue(0, "backup_playlist_storage");
    14761605    query.bindValue(1, "default_playlist_storage");
    1477     query.bindValue(2, hostname);
    14781606       
    14791607    query.exec();
    14801608
     
    16171745   
    16181746    MSqlQuery query(MSqlQuery::InitCon());
    16191747
    1620     query.prepare("UPDATE musicplaylist SET songlist = ?, name = ? WHERE "
    1621                   "playlistid = ? ;");
     1748    int songcount = 0, playtime = 0, an_int;
     1749    QStringList list = QStringList::split(",", db_song_list_string);
     1750    QStringList::iterator it = list.begin();
     1751    for (; it != list.end(); it++)
     1752    {
     1753        an_int = QString(*it).toInt();
     1754        if (an_int != 0)
     1755        {
     1756            songcount++;
     1757            query.prepare("SELECT length FROM music_songs WHERE song_id = :ID ;");
     1758            query.bindValue(":ID", an_int);
     1759            query.exec();
     1760            query.next();
     1761            playtime += query.value(0).toInt();
     1762        }
     1763    }
    16221764
     1765    query.prepare("UPDATE music_saved_playlists SET playlist_songs = ?, playlist_name = ? WHERE "
     1766                  "playlist_id = ?, songcount = ?, time = ? ;");
     1767
    16231768    query.bindValue(0, db_song_list_string);
    16241769    query.bindValue(1, a_playlist->getName().utf8());
    16251770    query.bindValue(2, a_playlist->getDbId());
     1771    query.bindValue(3, songcount);
     1772    query.bindValue(4, playtime);
    16261773       
    16271774    query.exec();
    16281775   
     
    16651812   
    16661813    MSqlQuery query(MSqlQuery::InitCon());
    16671814
    1668     query.prepare("INSERT INTO musicplaylist (name, hostname, songlist) values (?, ?, ?) ; ");
     1815    int songcount = 0, playtime = 0, an_int;
     1816    QStringList list = QStringList::split(",", db_song_list_string);
     1817    QStringList::iterator it = list.begin();
     1818    for (; it != list.end(); it++)
     1819    {
     1820        an_int = QString(*it).toInt();
     1821        if (an_int != 0)
     1822        {
     1823            songcount++;
     1824            query.prepare("SELECT length FROM music_songs WHERE song_id = :ID ;");
     1825            query.bindValue(":ID", an_int);
     1826            query.exec();
     1827            query.next();
     1828            playtime += query.value(0).toInt();
     1829        }
     1830    }
    16691831
     1832    query.prepare("INSERT INTO music_saved_playlists (playlist_name, hostname, playlist_songs, songcount, time) values (?, ?, ?, ?, ?) ; ");
     1833
    16701834    query.bindValue(0, a_playlist->getName().utf8());
    16711835    query.bindValue(1, hostname);
    16721836    query.bindValue(2, db_song_list_string);
     1837    query.bindValue(3, songcount);
     1838    query.bindValue(4, playtime);
    16731839       
    16741840    query.exec();
    16751841   
     
    16811847        return;
    16821848    }
    16831849   
    1684     query.prepare("SELECT playlistid FROM musicplaylist WHERE name = ? AND hostname = ? AND songlist = ? ; ");
     1850    query.prepare("SELECT playlist_id FROM music_saved_playlists WHERE playlist_name = ? AND hostname = ? AND playlist_songs = ? ; ");
    16851851
    16861852    query.bindValue(0, a_playlist->getName().utf8());
    16871853    query.bindValue(1, hostname);
     
    17761942
    17771943    MSqlQuery query(MSqlQuery::InitCon());
    17781944
    1779     query.prepare("DELETE FROM musicplaylist WHERE playlistid = ? ; ");
     1945    query.prepare("DELETE FROM music_saved_playlists WHERE playlist_id = ? ; ");
    17801946
    17811947    query.bindValue(0, playlist_database_id);
    17821948       
  • mfd/dbcheck.cpp

     
    99#include "mythtv/mythcontext.h"
    1010#include "mythtv/mythdbcon.h"
    1111
    12 const QString currentDatabaseVersion = "1005";
     12const QString currentDatabaseVersion = "1007";
    1313
    1414static void UpdateDBVersionNumber(const QString &newnumber)
    1515{
     
    323323
    324324        performActualUpdate(updates, "1005", dbver);
    325325    }
     326   
     327   
     328        if (dbver == "1005")
     329            {
     330            const QString updates[] = {
     331"DROP TABLE musicmetadata;",
     332"DROP TABLE musicplaylist;",
     333"CREATE TABLE music_albums (album_id int(11) NOT NULL auto_increment, album_name varchar(255) NOT NULL default '', album_art text NOT NULL, PRIMARY KEY  (album_id));",
     334"CREATE TABLE music_artists (artist_id int(11) NOT NULL auto_increment, artist_name varchar(255) default NULL, PRIMARY KEY  (artist_id));",
     335"CREATE TABLE music_currentsong (song_id int(11) NOT NULL default '0', pl_id int(11) NOT NULL default '0', random tinyint(3) NOT NULL default '0');",
     336"CREATE TABLE music_genres (genre_id int(11) NOT NULL auto_increment, genre varchar(25) NOT NULL default '', PRIMARY KEY  (genre_id));",
     337"CREATE TABLE music_playhistory (play_id int(11) NOT NULL auto_increment, song_id int(11) default NULL, date_played datetime default NULL, PRIMARY KEY  (play_id));",
     338"CREATE TABLE music_playlist (pl_id int(11) NOT NULL auto_increment, song_id int(11) default NULL, PRIMARY KEY  (pl_id));",
     339"CREATE TABLE music_saved_playlists (playlist_id int(11) NOT NULL auto_increment, playlist_name varchar(255) default NULL, playlist_songs text, date_created datetime default NULL, time int(11) default NULL, songcount smallint(8) default NULL, hostname VARCHAR(255), PRIMARY KEY (playlist_id));",
     340"CREATE TABLE music_songs (song_id int(11) NOT NULL auto_increment, artist_id int(11) NOT NULL default '0', compilationartist_id int(11) NOT NULL default '0', album_id int(11) NOT NULL default '0', genre_id int(11) NOT NULL default '0', year smallint(6) NOT NULL default '0', lastplay datetime default NULL, date_entered datetime default NULL, date_modified datetime default NULL, name varchar(255) default NULL, track smallint(6) NOT NULL default '0', length int(11) NOT NULL default '0', size int(11) NOT NULL default '0', bitrate int(11) NOT NULL default '0', type varchar(4) default NULL, numplays int(11) NOT NULL default '0', rating tinyint(4) NOT NULL default '0', filename text, format varchar(4) NOT NULL default '0', compilation tinyint default 0, PRIMARY KEY  (song_id));",
     341"CREATE TABLE music_stats (num_artists smallint(5) unsigned NOT NULL default '0', num_albums smallint(5) unsigned NOT NULL default '0', num_songs mediumint(8) unsigned NOT NULL default '0', num_genres tinyint(3) unsigned NOT NULL default '0', total_time varchar(12) NOT NULL default '0', total_size varchar(10) NOT NULL default '0');",
     342"RENAME TABLE smartplaylist TO music_smartplaylist;",
     343"RENAME TABLE smartplaylistitem TO music_smartplaylistitem;",
     344"RENAME TABLE smartplaylistcategory TO music_smartplaylistcategory;",
     345""
     346};
     347        performActualUpdate(updates, "1006", dbver);
     348    }
     349
     350        if (dbver == "1006")
     351            {
     352            //Database Updates for use in the MFD
     353            const QString updates[] = {
     354"ALTER TABLE music_songs ADD mythdigest      VARCHAR(255);",
     355"ALTER TABLE music_songs ADD description     VARCHAR(255);",
     356"ALTER TABLE music_songs ADD comment         VARCHAR(255);",
     357"ALTER TABLE music_songs ADD disc_count      SMALLINT UNSIGNED DEFAULT 0;",
     358"ALTER TABLE music_songs ADD disc_number     SMALLINT UNSIGNED DEFAULT 0;",
     359"ALTER TABLE music_songs ADD track_count     SMALLINT UNSIGNED DEFAULT 0;",
     360"ALTER TABLE music_songs ADD start_time      INT UNSIGNED DEFAULT 0;",
     361"ALTER TABLE music_songs ADD stop_time       INT UNSIGNED;",
     362"ALTER TABLE music_songs ADD eq_preset       VARCHAR(255);",
     363"ALTER TABLE music_songs ADD relative_volume TINYINT DEFAULT 0;",
     364"ALTER TABLE music_songs ADD bpm             SMALLINT UNSIGNED;",
     365"ALTER TABLE music_songs ADD INDEX (mythdigest);",
     366""
     367};
     368        performActualUpdate(updates, "1007", dbver);
     369    }
     370
    326371}
    327372
  • mfd/mfd.pro

     
    2424TARGET = mfd
    2525
    2626LIBS += -lmyth-$$LIBVERSION
     27LIBS += -lmythui-$$LIBVERSION -lGL
    2728
    28 
    2929!isEmpty(USE_WMA_AUDIO){
    3030LIBS += -lmythavformat-$$LIBVERSION
    3131LIBS += -lmythavcodec-$$LIBVERSION
  • mfdlib/avfdecoder.cpp

     
    232232
    233233    if (output())
    234234    {
    235         output()->Reconfigure(16, audio_dec->channels, audio_dec->sample_rate);
     235        output()->Reconfigure(16, audio_dec->channels, audio_dec->sample_rate, false);
    236236        output()->SetSourceBitrate(audio_dec->bit_rate);
    237237    }
    238238
  • mfdlib/aacdecoder.cpp

     
    383383
    384384    if (output())
    385385    {
    386         output()->Reconfigure(16, channels, sample_rate);
     386        output()->Reconfigure(16, channels, sample_rate, false);
    387387        output()->SetSourceBitrate(bitrate);
    388388    }
    389389
  • mfdlib/wavdecoder.cpp

     
    146146
    147147    if (output())
    148148    {
    149         output()->Reconfigure(bits_per_sample, chan, freq);
     149        output()->Reconfigure(bits_per_sample, chan, freq, false);
    150150        output()->SetSourceBitrate(bitrate);
    151151    }
    152152
  • mfdlib/flacdecoder.cpp

     
    157157   
    158158    if (output())
    159159    {
    160         output()->Reconfigure(bitspersample, chan, freq);
     160        output()->Reconfigure(bitspersample, chan, freq, false);
    161161        output()->SetSourceBitrate(44100 * 2 * 16);
    162162    }
    163163
  • mfdlib/cddecoder.cpp

     
    175175
    176176    if (output())
    177177    {
    178         output()->Reconfigure(16, chan, freq);
     178        output()->Reconfigure(16, chan, freq, false);
    179179        output()->SetSourceBitrate(44100 * 2 * 16);
    180180    }
    181181
  • mfdlib/maddecoder.cpp

     
    132132
    133133    if (output())
    134134    {
    135         output()->Reconfigure(16, channels, freq);
     135        output()->Reconfigure(16, channels, freq, false);
    136136        output()->SetSourceBitrate(bitrate);
    137137    }
    138138
  • mfdlib/vorbisdecoder.cpp

     
    233233
    234234    if (output())
    235235    {
    236         output()->Reconfigure(16, chan, freq);
     236        output()->Reconfigure(16, chan, freq, false);
    237237        output()->SetSourceBitrate(bitrate);
    238238    }
    239239