Commits on Jul 26, 2016
  1. @jyavenard @bennettpeter

    Revert "Player: Improve low bit rate / high latency stream playback"

    This reverts commit f307a3d.
    Cause stutter until channel changes
    (cherry picked from commit b97ea66)
    Signed-off-by: Peter Bennett <>
    Fixes #12717
    jyavenard committed with bennettpeter Oct 13, 2014
Commits on Jul 21, 2016
  1. mythzmserver: try harder to find an analysis frame for an event

    We now first try to find an alarm analysis frame and if not found
    fallback to an alarm normal frame and finally a normal frame.
    Paul Harrison committed Jul 21, 2016
  2. @PlanetEater @stuarta

    Refs #12782 Fix segmentation fault in QMetaObject::indexOfClassInfo()

    Also Refs #12668
    The NULL check for pMetaProp in xmlSerializer.cpp should protect the
    GetContentName() call too.
    (cherry picked from commit 36e180f)
    Signed-off-by: Stuart Auchterlonie <>
    PlanetEater committed with stuarta Jun 21, 2016
  3. @brianjmurrell @stuarta

    Fixes #12831 Warn the user if the database ping fails

    Since subsequent database operations will fail, but in a
    rather unobvious way.
    Signed-off-by: Stuart Auchterlonie <>
    brianjmurrell committed with stuarta Jul 21, 2016
Commits on Jul 20, 2016
Commits on Jul 18, 2016
  1. Fix issue with TagLib for MSVC build.

    Change location of zlib dependency.
    David Blain committed Jul 18, 2016
Commits on Jul 15, 2016
  1. @gigem

    Raise the maximem maximum recording limit to 10.

    With schedule as group, some users will likely want more virtual
    inputs.  Also, fix part of the problem preventing the initial value
    for new cards from being set correctly.  The rest will have to come
    gigem committed Jul 15, 2016
Commits on Jul 14, 2016
  1. @gigem

    Improve the short circuiting in Scheduler::IsBusyRecording().

    There are a couple of cases where we can stop checking more inputs and
    return early.
    gigem committed Jul 14, 2016
  2. @gigem
  3. @gigem
  4. @gigem

    Change AutoExpire::Update() to use a proper queue.

    Previously, it essentially acted as if it had a one entry queue.
    Consequently, if multiple recordings started at the same time, all but
    the first would have to wait causing them to be delayed, sometimes by
    several seconds.  Now, none of them have to wait.
    gigem committed Jul 13, 2016
Commits on Jul 12, 2016
  1. @gigem

    Work around a suspected Qt bug affecting some settings.

    There is a suspected bug in some versions of Qt, notably in version
    5.6.1 in Debian, where calling QVariant::toString() returns garbage if
    the MySQL type is TINYINT.  Because MythTV does this for all settings,
    it is possible for a setting to lose its previous value when a
    settings dialog is entered.  The work around is to have MySQL cast the
    value to a string type before it gets to MythTV.  Thanks to Karl Dietz
    for suggesting this fix.
    gigem committed Jul 11, 2016
Commits on Jul 11, 2016
  1. @gigem
  2. @gigem

    Add the remaining support for the Schedule as Group feature.

    When enabled for an device, all virtual inputs for it will be
    scheduled as a single, grouped input.  Programs will not be assigned
    to a specific, virtual input until right before recording is to start.
    This is much more efficient than scheduling each virtual input
    individually.  While this doesn't reduce the scheduler's big O from
    O(N^2), or possibly even O(N^3), it can greately reduce N.
    The current down side with enabling Schedule as Group, is that the
    scheduler assumes the grouped input can handle an unlimited number of
    simultaneous recordings.  In reality, the input still has to honor its
    maximum recording setting because MythTV requires all such resources
    to be pre-allocated.  Consequently, it is possible to run out of
    inputs and have reocrdings fail in worst case situations.  Therefore,
    be sure to overprovision the maximum recordings setting for your
    expected situation.
    gigem committed Jul 11, 2016
  3. @gigem

    Don't treat the schedgroup input as just a placeholder.

    Only the scheduler needs to treat it specially, so let it be used
    normally like any other input.
    gigem committed Jul 10, 2016
  4. @gigem

    More prepatory work for the schedula as group feature.

    Add sgroupid to RecordingInfo for scheduler use.  Cache various input
    related information within the scheduler in sinputinfomap.  Don't
    match on inputs that can't be scheduled in the first place instead of
    discarding them after the fact.  Remove some debug code from the
    previous commit.
    gigem committed Jul 9, 2016
  5. @gigem

    Add "Pending" as a formal recording status.

    Previously, pending was a short-lived, pseudo status within the
    scheduler to indicate that a recorder had been notified of a pending
    recording, but it had not yet started.  This change upgrades pending
    to a full fledged, recording status and exposes it to the rest of
    gigem committed Jul 8, 2016
  6. @gigem
  7. @gigem

    Change CardUtil::GetConflictingInputs() to ignore schedgroup inputs.

    Also, use one database query for the job instead of several.
    gigem committed Jul 6, 2016
  8. @gigem

    Add support for configuring the schedule as group feature.

    Note that it's currently disabled until the rest of the support is
    gigem committed Jul 5, 2016
  9. @gigem

    Revert most of the recent changes dealing wiht reclimit.

    After discussing it with John Poet, we decided to take a different
    approach that does not require major changes to the recorders.
    gigem committed Jul 4, 2016
Commits on Jul 9, 2016
  1. @bennettpeter
Commits on Jul 5, 2016
  1. @bennettpeter

    Improve OSD on Raspberry Pi.

    OpenGL support for OSD on Raspbian.
    Fixes #12799
    bennettpeter committed Jul 5, 2016
Commits on Jun 28, 2016
  1. @gigem

    Fix regression in ChannelBase::IsInputAvailable().

    Both restrictions should never be set upon return.  If
    mplexid_restriction is set, chanid_restriction should be cleared.
    gigem committed Jun 28, 2016
  2. @dizygotheca

    Repair browser/prog details window for < Qt 5.6

    0d24636 inadvertently broke prog details for all versions of Qt
    dizygotheca committed Jun 28, 2016
Commits on Jun 27, 2016
  1. @gigem

    Change Scheduler::SlaveConnected() to handle multiple programs per

    Since multiple programs can theoretically be recording on the same
    input, the logic needed to change a little.
    gigem committed Jun 27, 2016
  2. @gigem

    Change the scheduler to honor reclimit.

    Thie commit along with earlier ones involving reclimit and reccount
    now make it possible to schedule more than one recording or live TV
    session at a time on a single tuners that allow it(*).  Think of this
    as multirec without additioinal virtual tuners.  Note that this is not
    a magic bullet and the multiplex and channel restrictions that
    multirec imposes still apply here.  The advantage is that it hides the
    virtual tuner complexity from the user and makes some scheduling cases
    easier and faster.
    (*)None of the recorders actually support this yet.  That will start
    in the hopefully not too distant future.
    gigem committed Jun 27, 2016
Commits on Jun 26, 2016
  1. @gigem

    Removed the two-argument RemoteRequestFreeInputList().

    It's now obsolete after the previous commit.
    gigem committed Jun 26, 2016
  2. @gigem

    Simplify TV::SwitchSource() and TV::IsTunableOn().

    Change them to use RemoteRequestFreeInputInfo() instead of a more
    convoluted collection of other remote functions.  In addition, the
    change to TV::IsTunableOn() allowed the removal of the
    is_tunable_cache.  Since only one remote call is now being made, the
    cache doesn't save us anything.
    gigem committed Jun 26, 2016
  3. @gigem

    Fix MainServer::HandleGetFreeInputInfo() to return the excluded

    The earlier commit to honor reccount introduced the regression.
    gigem committed Jun 26, 2016
  4. @gigem
Commits on Jun 25, 2016
  1. @gigem
  2. @gigem