[mythtv-commits] mythtv commit: r15437 - in trunk by danielk

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Mon Jan 14 16:45:35 UTC 2008


      Author: danielk
        Date: 2008-01-14 16:45:33 +0000 (Mon, 14 Jan 2008)
New Revision: 15437
   Changeset: http://cvs.mythtv.org/trac/changeset/15437

Added:

   trunk/mythtv/libs/libmythtv/dvbstreamhandler.cpp
   trunk/mythtv/libs/libmythtv/dvbstreamhandler.h
   trunk/mythtv/libs/libmythtv/inputgroupmap.cpp
   trunk/mythtv/libs/libmythtv/inputgroupmap.h

Modified:

   trunk/mythplugins/mythvideo/mythvideo/scripts/MythTV.py
   trunk/mythplugins/mythweb/includes/mythbackend.php
   trunk/mythtv/bindings/perl/MythTV.pm
   trunk/mythtv/libs/libmyth/audiooutput.h
   trunk/mythtv/libs/libmyth/audiooutputbase.cpp
   trunk/mythtv/libs/libmyth/audiooutputbase.h
   trunk/mythtv/libs/libmyth/mythcontext.h
   trunk/mythtv/libs/libmythtv/DVDRingBuffer.cpp
   trunk/mythtv/libs/libmythtv/NuppelVideoPlayer.cpp
   trunk/mythtv/libs/libmythtv/NuppelVideoPlayer.h
   trunk/mythtv/libs/libmythtv/analogsignalmonitor.cpp
   trunk/mythtv/libs/libmythtv/analogsignalmonitor.h
   trunk/mythtv/libs/libmythtv/avformatdecoder.cpp
   trunk/mythtv/libs/libmythtv/avformatdecoder.h
   trunk/mythtv/libs/libmythtv/cardutil.cpp
   trunk/mythtv/libs/libmythtv/cardutil.h
   trunk/mythtv/libs/libmythtv/channel.cpp
   trunk/mythtv/libs/libmythtv/channel.h
   trunk/mythtv/libs/libmythtv/channelbase.cpp
   trunk/mythtv/libs/libmythtv/channelbase.h
   trunk/mythtv/libs/libmythtv/dbcheck.cpp
   trunk/mythtv/libs/libmythtv/dbox2channel.cpp
   trunk/mythtv/libs/libmythtv/dbox2channel.h
   trunk/mythtv/libs/libmythtv/decoderbase.h
   trunk/mythtv/libs/libmythtv/dtvchannel.cpp
   trunk/mythtv/libs/libmythtv/dtvchannel.h
   trunk/mythtv/libs/libmythtv/dtvrecorder.cpp
   trunk/mythtv/libs/libmythtv/dtvrecorder.h
   trunk/mythtv/libs/libmythtv/dtvsignalmonitor.cpp
   trunk/mythtv/libs/libmythtv/dtvsignalmonitor.h
   trunk/mythtv/libs/libmythtv/dvbcam.cpp
   trunk/mythtv/libs/libmythtv/dvbcam.h
   trunk/mythtv/libs/libmythtv/dvbchannel.cpp
   trunk/mythtv/libs/libmythtv/dvbchannel.h
   trunk/mythtv/libs/libmythtv/dvbrecorder.cpp
   trunk/mythtv/libs/libmythtv/dvbrecorder.h
   trunk/mythtv/libs/libmythtv/dvbsignalmonitor.cpp
   trunk/mythtv/libs/libmythtv/dvbsignalmonitor.h
   trunk/mythtv/libs/libmythtv/firewirechannel.cpp
   trunk/mythtv/libs/libmythtv/firewirechannel.h
   trunk/mythtv/libs/libmythtv/firewirerecorder.cpp
   trunk/mythtv/libs/libmythtv/firewiresignalmonitor.cpp
   trunk/mythtv/libs/libmythtv/firewiresignalmonitor.h
   trunk/mythtv/libs/libmythtv/frame.h
   trunk/mythtv/libs/libmythtv/guidegrid.cpp
   trunk/mythtv/libs/libmythtv/guidegrid.h
   trunk/mythtv/libs/libmythtv/hdhrchannel.cpp
   trunk/mythtv/libs/libmythtv/hdhrchannel.h
   trunk/mythtv/libs/libmythtv/hdhrrecorder.cpp
   trunk/mythtv/libs/libmythtv/hdhrsignalmonitor.cpp
   trunk/mythtv/libs/libmythtv/hdhrsignalmonitor.h
   trunk/mythtv/libs/libmythtv/iptv/iptvchannelfetcher.cpp
   trunk/mythtv/libs/libmythtv/iptvchannel.cpp
   trunk/mythtv/libs/libmythtv/iptvchannel.h
   trunk/mythtv/libs/libmythtv/iptvrecorder.cpp
   trunk/mythtv/libs/libmythtv/iptvsignalmonitor.cpp
   trunk/mythtv/libs/libmythtv/iptvsignalmonitor.h
   trunk/mythtv/libs/libmythtv/libmythtv.pro
   trunk/mythtv/libs/libmythtv/mpeg/mpegstreamdata.cpp
   trunk/mythtv/libs/libmythtv/mpeg/mpegstreamdata.h
   trunk/mythtv/libs/libmythtv/mpeg/mpegtables.cpp
   trunk/mythtv/libs/libmythtv/mpeg/streamlisteners.h
   trunk/mythtv/libs/libmythtv/progfind.cpp
   trunk/mythtv/libs/libmythtv/programinfo.cpp
   trunk/mythtv/libs/libmythtv/programinfo.h
   trunk/mythtv/libs/libmythtv/recorderbase.cpp
   trunk/mythtv/libs/libmythtv/remoteencoder.cpp
   trunk/mythtv/libs/libmythtv/remoteencoder.h
   trunk/mythtv/libs/libmythtv/remoteutil.cpp
   trunk/mythtv/libs/libmythtv/remoteutil.h
   trunk/mythtv/libs/libmythtv/scanwizard.cpp
   trunk/mythtv/libs/libmythtv/scanwizardhelpers.cpp
   trunk/mythtv/libs/libmythtv/scanwizardhelpers.h
   trunk/mythtv/libs/libmythtv/scanwizardscanner.cpp
   trunk/mythtv/libs/libmythtv/scanwizardscanner.h
   trunk/mythtv/libs/libmythtv/signalmonitor.cpp
   trunk/mythtv/libs/libmythtv/signalmonitor.h
   trunk/mythtv/libs/libmythtv/siscan.cpp
   trunk/mythtv/libs/libmythtv/sourceutil.cpp
   trunk/mythtv/libs/libmythtv/transporteditor.cpp
   trunk/mythtv/libs/libmythtv/tv_play.cpp
   trunk/mythtv/libs/libmythtv/tv_play.h
   trunk/mythtv/libs/libmythtv/tv_rec.cpp
   trunk/mythtv/libs/libmythtv/tv_rec.h
   trunk/mythtv/libs/libmythtv/videooutbase.cpp
   trunk/mythtv/libs/libmythtv/videosource.cpp
   trunk/mythtv/libs/libmythtv/videosource.h
   trunk/mythtv/programs/mythbackend/encoderlink.cpp
   trunk/mythtv/programs/mythbackend/encoderlink.h
   trunk/mythtv/programs/mythbackend/main.cpp
   trunk/mythtv/programs/mythbackend/mainserver.cpp
   trunk/mythtv/programs/mythbackend/playbacksock.cpp
   trunk/mythtv/programs/mythbackend/playbacksock.h
   trunk/mythtv/programs/mythbackend/scheduler.cpp
   trunk/mythtv/programs/mythbackend/scheduler.h
   trunk/mythtv/programs/mythfrontend/globalsettings.cpp
   trunk/mythtv/programs/mythfrontend/main.cpp
   trunk/mythtv/programs/mythfrontend/statusbox.cpp
   trunk/mythtv/programs/mythlcdserver/lcdprocclient.cpp
   trunk/mythtv/programs/mythlcdserver/lcdprocclient.h
   trunk/mythtv/programs/mythshutdown/main.cpp
   trunk/mythtv/programs/mythwelcome/welcomedialog.cpp
   trunk/mythtv/programs/mythwelcome/welcomedialog.h

Log:

Refs #3326. Refs #3504. Fixes #4369. Syncs multirec to trunk.

This touches on many aspects of recording, for DVB Recorders in particular.
 * Adds PID priorities to the MPEGStreamHandler. This allows a DTV recorder to
   place a higher priority on recording audio and visual streams over other streams.
   This is particularly useful for DTV hardware which have a fixed number of hardware
   PID filters. (A similar mechanism already existed in DVBRecorder, but it didn't
   work in multirec, and this more general approach allows other recorders to use this.)
 * Adds input groups. This is used by the DVB Recorder to implement multiple recordings
   per transport. Multiple recorders are created referencing the same device, but they
   are placed in the same input groups so that they are forced to all record on the same
   transport. This can also allow two or more devices to share a single STB, and could
   be extended to allow multiple capture cards to share a single satellite dish on a
   rotor.
   * Removes analog child cards for DVB Recorders (can be simulated with input groups)
     Note: you will need to manually add both cards to the same named input group.
 * DVB/QAM Audio stream support
   * Adds the ability to play audio only mpeg files to the NuppelVideoRecorder.
     Note: this allows all DTV recorders to support "Radio" streams.
   * Removes the dummy video from the DVBRecorder, not needed anymore
 * Adds a new input switching mode which cycles through video sources, instead
   of actual cards. The card switching mode keymap is now undefined by default,
   and the video source switching uses it's "Y" keybinding. Unbind "NEXTSOURCE"
   and bind "NEXTCARD" instead for the old behaviour.
 * Adds the ability to record multiple streams in a TS transport at once with DVB
   cards. Just delete your DVB cards in mythtv-setup and then as you recreate each
   one go into "Recording Options" and set "Max Recordings" to 2 or more. We recommend
   a reasonable number here, as you still have limited hard drive, CPU, etc.

There is still a known problem when using input groups with a non-DVB recorder:
 * The firewire recorder can fail to make recordings if its input is in an input
   group with another recorder's input. Please run the backend with '-v channel,record'
   if you have this configuration and attach the log to #3326 if this happens.
   I found the probable location of the problem added some debugging last week.

We're also very interested in any new problems that are encountered when this in
run with different hardware. About 10 people have tested this, so it is relatively
well tested, but it is a very large change to the way inputs are handled, and
to the DVB Recorder in particular.

This was worked on by Janne, Shane, and myself with help from David and Bruce with
scheduler suggestions and testing, and the help of many others with additonal testing.






More information about the mythtv-commits mailing list