Index: libs/libmythtv/dbcheck.cpp =================================================================== --- libs/libmythtv/dbcheck.cpp (revision 26566) +++ libs/libmythtv/dbcheck.cpp (working copy) @@ -20,7 +20,7 @@ mythtv/bindings/perl/MythTV.pm */ /// This is the DB schema version expected by the running MythTV instance. -const QString currentDatabaseVersion = "1264"; +const QString currentDatabaseVersion = "1265"; static bool UpdateDBVersionNumber(const QString &newnumber, QString &dbver); static bool performActualUpdate( @@ -5503,6 +5503,30 @@ return false; } + if (dbver == "1264") + { + const char *updates[] = { +"INSERT INTO profilegroups SET name = 'ASI Recorder (DVEO)', cardtype = 'ASI', is_default = 1;", +"INSERT INTO recordingprofiles SET name = \"Default\", profilegroup = 14;", +"INSERT INTO recordingprofiles SET name = \"Live TV\", profilegroup = 14;", +"INSERT INTO recordingprofiles SET name = \"High Quality\", profilegroup = 14;", +"INSERT INTO recordingprofiles SET name = \"Low Quality\", profilegroup = 14;", +"INSERT INTO profilegroups SET name = 'OCUR Recorder (CableLabs)', cardtype = 'OCUR', is_default = 1;", +"INSERT INTO recordingprofiles SET name = \"Default\", profilegroup = 15;", +"INSERT INTO recordingprofiles SET name = \"Live TV\", profilegroup = 15;", +"INSERT INTO recordingprofiles SET name = \"High Quality\", profilegroup = 15;", +"INSERT INTO recordingprofiles SET name = \"Low Quality\", profilegroup = 15;", +"INSERT INTO profilegroups SET name = 'BDA Recorder (Microsoft)', cardtype = 'BDA', is_default = 1;", +"INSERT INTO recordingprofiles SET name = \"Default\", profilegroup = 16;", +"INSERT INTO recordingprofiles SET name = \"Live TV\", profilegroup = 16;", +"INSERT INTO recordingprofiles SET name = \"High Quality\", profilegroup = 16;", +"INSERT INTO recordingprofiles SET name = \"Low Quality\", profilegroup = 16;", +NULL +}; + if (!performActualUpdate(updates, "1265", dbver)) + return false; + } + return true; } Index: libs/libmythtv/mpegrecorder.cpp =================================================================== --- libs/libmythtv/mpegrecorder.cpp (revision 26566) +++ libs/libmythtv/mpegrecorder.cpp (working copy) @@ -429,7 +429,6 @@ } else { - VERBOSE(VB_IMPORTANT, "\n\nNot ivtv or pvrusb2 or hdpvr driver\n\n"); bufferSize = 4096; usingv4l2 = has_v4l2_vbi = true; has_buggy_vbi = requires_special_pause = false; @@ -811,20 +810,23 @@ // Set controls if (driver != "hdpvr") { - add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ, - GetFilteredAudioSampleRate()); + if (driver.left(7) != "saa7164") + { + add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ, + GetFilteredAudioSampleRate()); + uint audio_layer = GetFilteredAudioLayer(); + add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_AUDIO_ENCODING, + audio_layer - 1); + + uint audbitrate = GetFilteredAudioBitRate(audio_layer); + add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_AUDIO_L2_BITRATE, + audbitrate - 1); + } + add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_VIDEO_ASPECT, aspectratio - 1); - uint audio_layer = GetFilteredAudioLayer(); - add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_AUDIO_ENCODING, - audio_layer - 1); - - uint audbitrate = GetFilteredAudioBitRate(audio_layer); - add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_AUDIO_L2_BITRATE, - audbitrate - 1); - add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_STREAM_TYPE, streamtype_ivtv_to_v4l2(GetFilteredStreamType())); @@ -836,7 +838,7 @@ } maxbitrate = std::max(maxbitrate, bitrate); - if (driver == "hdpvr") + if (driver == "hdpvr" || driver.left(7) == "saa7164") { add_ext_ctrl(ext_ctrls, V4L2_CID_MPEG_VIDEO_BITRATE_MODE, (maxbitrate == bitrate) ? @@ -901,7 +903,7 @@ if (!vbimode) return true; - if (driver == "hdpvr") + if (driver == "hdpvr" || driver.left(7) == "saa7164") return true; if (has_buggy_vbi)