Changeset 65766149d2 in mythtv


Ignore:
Timestamp:
Feb 10, 2015, 10:45:15 PM (10 years ago)
Author:
Stuart Morgan <smorgan@…>
Branches:
devel/2020-player, devel/ffmpeg-resync, fixes/0.28, fixes/29, fixes/30, fixes/31, github-templates, master
Children:
487923ff1f
Parents:
d8e11b227e
git-author:
Stuart Morgan <smorgan@…> (02/10/15 22:45:15)
git-committer:
Stuart Morgan <smorgan@…> (02/13/15 00:11:06)
Message:

Change the default file extension for recordings from .mpg to .ts

.ts is the correct extension for untranscoded recordings from digital
recorders which use the MPEG-TS container. We have been incorrectly
using the .mpg extension which is only valid for containers such as
MPEG-PS

Some video players use the extension, or for streams the mimetype
which is derived from the extension in order to correctly parse the
files.

Location:
mythtv
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • mythtv/libs/libmyth/programinfo.cpp

    rd8e11b227e r65766149d2  
    24002400    query.prepare("UPDATE recorded "
    24012401                  "SET basename = :BASENAME "
    2402                   "WHERE chanid = :CHANID AND "
    2403                   "      starttime = :STARTTIME;");
    2404     query.bindValue(":CHANID", chanid);
    2405     query.bindValue(":STARTTIME", recstartts);
     2402                  "WHERE recordedid = :RECORDEDID;");
     2403    query.bindValue(":RECORDEDID", recordedid);
     2404    query.bindValue(":BASENAME", basename);
     2405
     2406    if (!query.exec())
     2407    {
     2408        MythDB::DBError("SetRecordBasename", query);
     2409        return false;
     2410    }
     2411
     2412    query.prepare("UPDATE recordedfile "
     2413                  "SET basename = :BASENAME "
     2414                  "WHERE recordedid = :RECORDEDID;");
     2415    query.bindValue(":RECORDEDID", recordedid);
    24062416    query.bindValue(":BASENAME", basename);
    24072417
     
    24232433 *  that value otherwise this queries the recorded table in the
    24242434 *  DB for the basename stored there for this ProgramInfo's
    2425  *  chanid and recstartts.
     2435 *  recordedid
    24262436 */
    24272437QString ProgramInfo::QueryBasename(void) const
     
    24342444    query.prepare(
    24352445        "SELECT basename "
    2436         "FROM recorded "
    2437         "WHERE chanid    = :CHANID AND "
    2438         "      starttime = :STARTTIME");
    2439     query.bindValue(":CHANID",    chanid);
    2440     query.bindValue(":STARTTIME", recstartts);
     2446        "FROM recordedfile "
     2447        "WHERE recordedid = :RECORDEDID;");
     2448    query.bindValue(":RECORDEDID", recordedid);
    24412449
    24422450    if (!query.exec())
     
    24512459    {
    24522460        LOG(VB_GENERAL, LOG_INFO,
    2453                  QString("QueryBasename found no entry for %1 @ %2")
    2454                      .arg(chanid).arg(recstartts.toString(Qt::ISODate)));
     2461                 QString("QueryBasename found no entry for recording ID %1")
     2462                     .arg(recordedid));
    24552463    }
    24562464
  • mythtv/libs/libmythtv/jobqueue.cpp

    rd8e11b227e r65766149d2  
    20292029                retry = false;
    20302030
     2031                program_info->Reload(); // Refresh, the basename may have changed
    20312032                filename = program_info->GetPlaybackURL(false, true);
    20322033                QFileInfo st(filename);
  • mythtv/libs/libmythtv/recorders/channelbase.cpp

    rd8e11b227e r65766149d2  
    11751175    QString                  &rbFileExt)
    11761176{
    1177     rbFileExt = "mpg";
     1177    rbFileExt = "ts";
    11781178
    11791179    ChannelBase *channel = NULL;
     
    12041204    {
    12051205        channel = new DummyChannel(tvrec);
    1206     }
    1207     else if (genOpt.cardtype == "FREEBOX")
     1206        rbFileExt = "mpg";
     1207    }
     1208    else if (genOpt.cardtype == "FREEBOX") // IPTV
    12081209    {
    12091210#ifdef USING_IPTV
     
    12301231        if ((genOpt.cardtype != "MPEG") && (genOpt.cardtype != "HDPVR"))
    12311232            rbFileExt = "nuv";
     1233        else
     1234            rbFileExt = "mpg";
    12321235    }
    12331236    else if (genOpt.cardtype == "EXTERNAL")
    12341237    {
    12351238        channel = new ExternalChannel(tvrec, genOpt.videodev);
     1239        rbFileExt = "mpg";
    12361240    }
    12371241
  • mythtv/libs/libmythtv/tv_rec.cpp

    rd8e11b227e r65766149d2  
    119119      tvchain(NULL),
    120120      // RingBuffer info
    121       ringBuffer(NULL), rbFileExt("mpg")
     121      ringBuffer(NULL), rbFileExt("ts")
    122122{
    123123    QMutexLocker locker(&cardsLock);
  • mythtv/libs/libmythupnp/httprequest.cpp

    rd8e11b227e r65766149d2  
    122122    { "nuv" , "video/nupplevideo"          },
    123123    { "ogv" , "video/ogg"                  }, // Defined: http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
    124     { "ts"  , "video/mp2t"                 }, // HTTP Live Streaming
     124    { "ts"  , "video/mp2t"                 },
    125125    { "vob" , "video/mpeg"                 },
    126126    { "wmv" , "video/x-ms-wmv"             }
     
    15681568    }
    15691569
    1570 #if 0
    1571     LOG(VB_GENERAL, LOG_DEBUG, QString("%1 Range Requested %2 - %3")
     1570    LOG(VB_HTTP, LOG_DEBUG, QString("%1 Range Requested %2 - %3")
    15721571        .arg(getSocketHandle()) .arg(*pllStart) .arg(*pllEnd));
    1573 #endif
    15741572
    15751573    return true;
  • mythtv/programs/mythtranscode/main.cpp

    rd8e11b227e r65766149d2  
    891891
    892892        QString cnf = filename;
    893         if ((jobArgs == "RENAME_TO_NUV") &&
    894             (filename.contains(QRegExp("mpg$"))))
     893        if (filename.endsWith(".mpg") && jobArgs == "RENAME_TO_NUV")
    895894        {
    896895            QString newbase = pginfo->QueryBasename();
    897 
    898             cnf.replace(QRegExp("mpg$"), "nuv");
    899             newbase.replace(QRegExp("mpg$"), "nuv");
     896            cnf.replace(".mpg", ".nuv");
     897            newbase.replace(".mpg", ".nuv");
     898            pginfo->SaveBasename(newbase);
     899        }
     900        else if (filename.endsWith(".ts"))
     901        {
     902            QString newbase = pginfo->QueryBasename();
     903             // MPEG-TS to MPEG-PS
     904            cnf.replace(".ts", ".mpg");
     905            newbase.replace(".ts", ".mpg");
    900906            pginfo->SaveBasename(newbase);
    901907        }
Note: See TracChangeset for help on using the changeset viewer.