diff -Nru kaffeine-1.3.1+git20151128/cmake/modules/COPYING-CMAKE-SCRIPTS kaffeine-2.0.4+git20160916/cmake/modules/COPYING-CMAKE-SCRIPTS --- kaffeine-1.3.1+git20151128/cmake/modules/COPYING-CMAKE-SCRIPTS 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/cmake/modules/COPYING-CMAKE-SCRIPTS 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,22 @@ +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff -Nru kaffeine-1.3.1+git20151128/cmake/modules/FindLibdvbv5.cmake kaffeine-2.0.4+git20160916/cmake/modules/FindLibdvbv5.cmake --- kaffeine-1.3.1+git20151128/cmake/modules/FindLibdvbv5.cmake 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/cmake/modules/FindLibdvbv5.cmake 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,64 @@ +# - Try to find the libdvbv5 library +# Once done this will define +# +# Libdvbv5_FOUND - system has libdvbv5 +# Libdvbv5_INCLUDE_DIRS - the libdvbv5 include directories +# Libdvbv5_LIBRARIES - Link these to use libdvbv5 + +# Copyright (c) 2016, Pino Toscano + +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +find_package(PkgConfig) + +if (PKG_CONFIG_FOUND) + if (Libdvbv5_FIND_VERSION) + set(version_string ">=${Libdvbv5_FIND_VERSION}") + endif() + pkg_check_modules(PC_LIBDVBV5 libdvbv5${version_string}) + unset(version_string) +else() + # assume it was found + set(PC_LIBDVBV5_FOUND TRUE) +endif() + +if (PC_LIBDVBV5_FOUND) + find_path(Libdvbv5_INCLUDE_DIRS libdvbv5/dvb-file.h + HINTS ${PC_LIBDVBV5_INCLUDE_DIRS} + ) + + find_library(Libdvbv5_LIBRARIES NAMES dvbv5 + HINTS ${PC_LIBDVBV5_LIBRARY_DIRS} + ) + + set(Libdvbv5_VERSION "${PC_LIBDVBV5_VERSION}") +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Libdvbv5 + REQUIRED_VARS Libdvbv5_LIBRARIES Libdvbv5_INCLUDE_DIRS + VERSION_VAR Libdvbv5_VERSION +) + +mark_as_advanced(Libdvbv5_INCLUDE_DIRS Libdvbv5_LIBRARIES) diff -Nru kaffeine-1.3.1+git20151128/cmake/modules/.gitignore kaffeine-2.0.4+git20160916/cmake/modules/.gitignore --- kaffeine-1.3.1+git20151128/cmake/modules/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/cmake/modules/.gitignore 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1 @@ +!*.cmake diff -Nru kaffeine-1.3.1+git20151128/CMakeLists.txt kaffeine-2.0.4+git20160916/CMakeLists.txt --- kaffeine-1.3.1+git20151128/CMakeLists.txt 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/CMakeLists.txt 2016-09-17 17:18:56.000000000 +0000 @@ -1,40 +1,104 @@ project(kaffeine) -set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") +set(KAFFEINE_MAJOR_VERSION 2) +set(KAFFEINE_MINOR_VERSION 0) +set(KAFFEINE_PATCH_VERSION 4) + +# comment/uuncomment below if either the version is a production or a development one +#set(KAFFEINE_EXTRA_VERSION -git) + +set(KAFFEINE_VERSION + ${KAFFEINE_MAJOR_VERSION}.${KAFFEINE_MINOR_VERSION}.${KAFFEINE_PATCH_VERSION}${KAFFEINE_EXTRA_VERSION}) + +option(BUILD_TOOLS "Build the helper tools" OFF) + +# Minimal versions where build is known to work +cmake_minimum_required(VERSION 2.8.12) +set(QT_MIN_VERSION "5.4.0") +set(KF5_MIN_VERSION "5.11.0") + +# shut up cmake warnings about newer policies +if(POLICY CMP0063) + cmake_policy(SET CMP0063 NEW) +endif(POLICY CMP0063) + +find_package(Qt5Core) +find_package(ECM 1.0.0 REQUIRED NO_MODULE) +set(CMAKE_MODULE_PATH + ${ECM_MODULE_PATH} + ${ECM_KDE_MODULE_DIR} + "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" +) + +include(KDEInstallDirs) +include(KDECMakeSettings) +include(KDECompilerSettings) +include(FeatureSummary) +include(ECMInstallIcons) +include(CheckIncludeFiles) + +# Instruct CMake to run moc automatically when needed. +set(CMAKE_AUTOMOC ON) + +# Find Qt modules +find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS + Core # QCommandLineParser, QStringLiteral + Widgets # QApplication + Network + Sql + X11Extras +) + +# Find KDE modules +find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS + CoreAddons # KAboutData + I18n # KLocalizedString + WidgetsAddons # KMessageBox + XmlGui # KActonCollection + KIO # KFileWidget + Solid + DBusAddons +) +find_package(KF5DocTools ${KF5_MIN_VERSION} QUIET) -find_package(KDE4 REQUIRED) find_package(X11 REQUIRED) find_package(VLC 1.2 REQUIRED) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} ${VLC_INCLUDE_DIRS} - ${X11_Xscreensaver_INCLUDE_PATH}) -add_definitions(${KDE4_DEFINITIONS}) +feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) -if(STRICT_BUILD) - add_definitions(-Werror -Weverything -Wno-packed -Wno-padded -Wno-sign-conversion -Wno-unreachable-code - -Wno-weak-vtables -ferror-limit=5 - -isystem /usr/include/KDE - -isystem /usr/include/qt4/QtCore - -isystem /usr/include/qt4/QtGui - -isystem /usr/include/qt4/QtNetwork - -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII - -DQT_NO_URL_CAST_FROM_STRING -DQT_STRICT_ITERATORS) -endif(STRICT_BUILD) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_BINARY_DIR} ${VLC_INCLUDE_DIRS} + ${X11_Xscreensaver_INCLUDE_PATH}) -include(CheckIncludeFiles) check_include_files(${CMAKE_CURRENT_SOURCE_DIR}/include/frontend.h HAVE_DVB) if(NOT HAVE_DVB) MESSAGE(STATUS "Disabled features:\nDVB Digital television support for Linux\n") set(HAVE_DVB 0) +else() + set(HAVE_DVB 1) endif(NOT HAVE_DVB) +if(HAVE_DVB) + find_package(Libdvbv5) + if(NOT Libdvbv5_FOUND) + set(HAVE_LIBDVBV5 0) + set(HAVE_DVB 0) + message(STATUS "Disabled features:\nDVB Digital television support for Linux, as libdvbv5 was not found.\n") + endif(NOT Libdvbv5_FOUND) +endif(HAVE_DVB) + add_subdirectory(deviceactions) add_subdirectory(dtvdaemon) add_subdirectory(icons) add_subdirectory(profiles) add_subdirectory(src) -macro_optional_add_subdirectory(po) +if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") + ki18n_install(po) +endif() + +if(KF5DocTools_VERSION) + add_subdirectory(doc) +endif(KF5DocTools_VERSION) if(BUILD_TOOLS) add_subdirectory(tools) diff -Nru kaffeine-1.3.1+git20151128/debian/changelog kaffeine-2.0.4+git20160916/debian/changelog --- kaffeine-1.3.1+git20151128/debian/changelog 2016-01-27 01:45:28.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/changelog 2016-09-17 20:18:51.000000000 +0000 @@ -1,130 +1,144 @@ -kaffeine (1.3.1+git20151128-0~ppa16.04+1) xenial; urgency=medium +kaffeine (2.0.4+git20160916-0~ppa16.04+1) xenial; urgency=medium - * New upstream snapshot from git://anongit.kde.org/kaffeine.git. + * New upstream git snapshot from 2016-09-16. - -- Nicolas Derive Wed, 27 Jan 2016 02:34:37 +0100 + -- Nicolas Derive Sat, 17 Sep 2016 22:15:27 +0200 -kaffeine (1.3.1-0~ppa16.04+1) xenial; urgency=medium +kaffeine (2.0.4-1~ppa16.04+1) xenial; urgency=medium - * New upstream release. - - -- Nicolas Derive Wed, 27 Jan 2016 02:20:48 +0100 - -kaffeine (1.3git-0ubuntu1~ppa16.04+1) xenial; urgency=medium - - * Upload to experimental-stuff PPA. - - -- Nicolas Derive Wed, 20 Jan 2016 13:19:10 +0100 - -kaffeine (1.3git-0ubuntu1~ppa14) wily; urgency=low - - * Updated git checkout to 22/08/2015 - * New upstream repo by Mauro Carvalho Chehab http://git.linuxtv.org/cgit.cgi/mchehab/kaffeine.git/ - * Switched to libvlc as playback engine - * Convert kaffeine to use libdvbv5 - * Added support for ISDB-T - * Start implementing a (for now local) daemon see /usr/share/doc/kaffeine/NOTES - * Provide a method to read the detected DTV parameters - * Fixed the "No device found." error when switching channels - * Fixed scanfile.dvb parsing - * Fixed dvd menus with vlc - * Support for Sundtek DVB Devices - - -- mtron Sat, 22 Aug 2015 09:09:00 +0200 - -kaffeine (1.3git-0ubuntu1~ppa13) precise; urgency=low - - * re-added Xine Engine (used as main eninge untill mplayer is ready for business), improved non-modal epg, auto-channel switching for scheduled shows. Patch by Thomas E. Horner - * added Tuning Data for [dvb-c/de-Brandenburg]. Patch by Steffenvan de Kamp - * use kde default movie folder in Playlist mode (set via 'kcmshell4 desktoppath'). Patch by Ronny Scholz - * fix kaffeine crashes after resume from RAM . Patch by Jiri Slaby - * Support for Sundtek DVB Devices. Patch by sundtek - - -- mtron Tue, 17 Jan 2012 17:50:00 +0100 - -kaffeine (1.3git-0ubuntu1~ppa10) lucid; urgency=low - - * added mplayer subtitle handling - * added mplayer audio stream switching - * normalize signal/slot - - -- mtron Sat, 30 Jul 2011 15:45:00 +0200 - -kaffeine (1.3git-0ubuntu1~ppa9) lucid; urgency=low + * Merge new upstream release from Debian Unstable. - * switched to mplayer as playback engine - * removed xine dependencies in debain/control - * added mplayer in dependencies in debain/control - * dropped ubuntu patches. This is a upstream build! + -- Nicolas Derive Sat, 17 Sep 2016 19:24:40 +0200 - -- mtron Wed, 01 Jun 2011 17:02:00 +0200 +kaffeine (2.0.4-1) unstable; urgency=medium -kaffeine (1.3git-0ubuntu1~ppa6) lucid; urgency=low - - * Updated git checkout to 14/04/2011 - - -- mtron Fri, 15 Apr 2011 18:06:00 +0200 + * New upstream release: + - a basic man page is provided (Closes: #827531) + * Depend on vlc, since it contains the video output modules (and not only + those). (Closes: #827534) + * Update the description. (Closes: #692643, #827631) + * Add myself as Uploader. -kaffeine (1.3git-0ubuntu1~ppa2) lucid; urgency=low + -- Pino Toscano Fri, 01 Jul 2016 22:47:57 +0200 - * Updated git checkout to 11/04/2011 - * add logging functionality +kaffeine (2.0.3-1) unstable; urgency=medium - -- mtron Tue, 11 Apr 2011 20:42:00 +0200 + * Team upload. + * New upstream release. + * Update watch file. + * Update the build dependencies following the port to Frameworks: + - remove kdelibs5-dev + - add extra-cmake-modules, qtbase5-dev, libqt5x11extras5-dev, + libkf5coreaddons-dev, kdoctools-dev, libkf5dbusaddons-dev, + libkf5i18n-dev, kio-dev, libkf5solid-dev, libkf5widgetsaddons-dev, + and libkf5xmlgui-dev + * Use the right dh addon: + - switch from kde to kf5 dh addon + - bump the pkg-kde-tools build dependency to >= 0.15.16 + * The new version switches from Xine to VLC, so: + - replace the libxine2-dev build dependency with libvlc-dev + - stop using the xine dh addon + - do not use the ${xine-ffmpeg:Depends} and ${xine-x:Depends} substvars + * Update the patches: + - ftbfs_gcc47.diff: drop, fixed upstream + - upstream_Explicitly-include-CheckIncludeFiles.patch: drop, backported + from upstream + * Add the libdvbv5-dev build dependency (only on Linux), for DVB support. + * Replace the libqt4-sql-sqlite dependency with libqt5sql5-sqlite. + * Link in as-needed mode. + * Rewrite copyright to copyright-format 1.0, and update. + + -- Pino Toscano Sun, 12 Jun 2016 00:12:47 +0200 + +kaffeine (1.2.2-4) unstable; urgency=medium + + * Team upload. + * Drop menu file and its pixmap, since kaffeine already provides a .desktop + file. + * Backport upstream commit 4a1a90ee1b2b4d13302046f043adf1c2a1de758d to fix + build with cmake >= 3.4; patch + upstream_Explicitly-include-CheckIncludeFiles.patch. (Closes: #808759) + * Rename debian/presubj to debian/kaffeine.bug-presubj so it is handled + automatically by dh_bugfiles. + * Remove kaffeine-dbg in favour of the -dbgsym packages. + * Remove .install file, obsolete now that there is just one binary package + (and everything is installed there directly). + * Update Vcs-* fields. + * Bump Standards-Version to 3.9.8, no changes required. + * Stop using --list-missing, no more needed now. + + -- Pino Toscano Tue, 07 Jun 2016 15:58:03 +0200 + +kaffeine (1.2.2-3) unstable; urgency=medium + + * Build against libxine2-dev (Closes: #741361) + + -- Moritz Muehlenhoff Thu, 10 Apr 2014 22:12:29 +0200 + +kaffeine (1.2.2-2) unstable; urgency=low + + * Team upload. + * Add ftbfs_gcc47.diff, avoids an FTBFS with GCC 4.7 (Closes: #667218) + * Update xine-lib dependencies. (Closes: #656915) + * Bump debhelper compatibility level to 9. + * Amend package descriptions. (Closes: #627900) + * Update Vcs-* fields, kaffeine packaging was just moved to git. + * Bump Standards-Version to 3.9.3, no changes needed. + * After rebuilding the kaffeine binary package it will depend on kde-runtime + instead of kdebase-runtime. (Closes: #664720) + + -- José Manuel Santamaría Lema Sat, 19 May 2012 11:59:55 +0200 + +kaffeine (1.2.2-1) unstable; urgency=low + + * New upstream release/ + + -- Fathi Boudra Sun, 01 May 2011 11:55:48 +0300 -kaffeine (1.3git-0ubuntu1~ppa1) lucid; urgency=low +kaffeine (1.1-2) unstable; urgency=low - * Updated git checkout to 05/04/2011 - * fix DVB-S2 crash + * Upload to Sid. + * Bump Standards-Version to 3.9.1 (no changes needed). - -- mtron Tue, 05 Apr 2011 13:29:18 +0200 + -- Fathi Boudra Sun, 20 Feb 2011 17:17:09 +0200 -kaffeine (1.2git-0ubuntu1~ppa1) lucid; urgency=low +kaffeine (1.1-1) experimental; urgency=low - * Updated git checkout to 04/04/2011 - * fix focus on playback tab - * fix error message in case of active recordings - * fix ATSC epg - * add option to play a dvd from a folder - * only activate the cam if the device is enabled - * re-enable dvb plugin support - * fix for Gnome Screensaver - * allow kaffeine to be resized to a small height - * use the device path specified on the command line + * New upstream release + - .m2t is assigned to kaffeine again (Closes: #596671) + * Upload to experimental while we await squeeze - -- mtron Mon, 4 Apr 2011 09:07:20 +0200 + -- Mark Purcell Sat, 25 Sep 2010 08:45:50 +1000 -kaffeine (1.1svn-0ubuntu1~mtron1) lucid; urgency=low +kaffeine (1.0-1) unstable; urgency=low - * Updated to svn snapshot 1167407 - * Added drag & drop channel sorting - * Added new "video/mp2t" mime type - * Added skip backward / forward functions to dbus interface - * Added warning dialogs for active / pending recordings at exit - * updated recording schedule + * New upstream release. + * Update debian/control: + - bump build depencies (debhelper, pkg-kde-tools, kdelibs5-dev). + - add libxss-dev build dependency. + * Update installed files. + * Remove debian/dirs and cleanup debian/rules: kaffeinsdvb.so library file + isn't shipped anymore. Thanks Christophe ;) - -- mtron Tue, 24 Aug 2010 18:36:25 +0200 + -- Fathi Boudra Wed, 02 Jun 2010 09:16:51 +0300 -kaffeine (1.0-0ubuntu1~mtron1) lucid; urgency=low +kaffeine (1.0~pre3-3) unstable; urgency=low - * New Upstream Release 1.0 - * added libxss-dev to Build-Depends - * scheduled programs are shown in the program guide - * begin and end margins for recordings are now configurable - * CICAM support added - * all audio pids are recorded during timeshift - * subtitle support (manual or autoloading) + * Unstable KDE4 release + - KDE3 package remains available in lenny + * debian/watch: uversionmangle=s/-pre/~pre/ + * Add debian/presubj to direct bug reports upstream + - mitigation against large number of outstanding bugs in BTS + * Add Suggests: libdvdcss2 (Closes: #476079) - -- mtron Thu, 22 Jul 2010 18:49:25 +0200 + -- Mark Purcell Mon, 03 May 2010 21:55:13 +1000 -kaffeine (1.0~pre3-1ubuntu1) lucid; urgency=low +kaffeine (1.0~pre3-2) experimental; urgency=low - * Merge with Debian Experimental, remaining changes: - - Build-depend on a lower version of pkg-kde-tools - - Suggest, not depend, on libxine1-ffmpeg - - Keep kubuntu_01_kaffeine_restricted_install.diff + * Do not try to install optional dvb files if they are not available. + (Closes: #566911) - -- Jonathan Thomas Thu, 11 Feb 2010 18:49:25 -0500 + -- Michael Meskes Fri, 12 Feb 2010 09:28:53 +0100 kaffeine (1.0~pre3-1) experimental; urgency=low @@ -150,22 +164,6 @@ -- Fathi Boudra Thu, 04 Feb 2010 12:24:19 +0100 -kaffeine (1.0~pre3-0ubuntu1) lucid; urgency=low - - * New upstream release (LP: #515266) - - Drop kubuntu_01_qt_phonon.diff no longer need - - Refresh kubuntu_02_kaffeine_restricted_install and renamed to - kubuntu_01_kaffeine_restricted_install - * Merge with Debian remaining changes: - - Don't add phonon-backend-xine, libxine1-ffmpeg, libxine1-x to depends - - Add kubuntu_01_kaffeine_restricted_install.diff - - Add series file and quilt to build depends - - Add libxine-dev (required) to build-depends - - Build with kde sequence addon, kde.mk is deprecated - - Add README.source - - -- Alessandro Ghersi Wed, 03 Feb 2010 02:28:45 +0100 - kaffeine (1.0~pre2-1) experimental; urgency=low * New upstream release (KDE 4 version). @@ -183,106 +181,6 @@ -- Fathi Boudra Wed, 12 Aug 2009 02:23:50 +0200 -kaffeine (1.0~pre2-0ubuntu1) karmic; urgency=low - - * New upstream release (LP: #411082). - * debian/control: - - Update maintainer-fields. - - Update homepage. - - Add ${misc:Depends} to fix lintian warning. - - Bump Standard-Version to 3.8.2, no changes needed. - * debian/patches/series: Add to fix lintian warning. - * kubuntu_01_qt_phonon.diff: Fix typo in filename. - * kubuntu_03_dont_define__u64_again.diff: Remove, fixed upstream. - - -- Artur Rona Tue, 11 Aug 2009 20:57:31 +0200 - -kaffeine (1.0~pre1+svn976487-0ubuntu4) karmic; urgency=low - - * Add kubuntu_03_dont_define__u64_again.diff to fix FTBFS on ia64 - - -- Scott Kitterman Sun, 09 Aug 2009 00:19:55 -0400 - -kaffeine (1.0~pre1+svn976487-0ubuntu3) karmic; urgency=low - - * Reintroduced kubuntu_01_qt_phonon.diff - - -- Anthony Mercatante Tue, 02 Jun 2009 18:39:57 +0200 - -kaffeine (1.0~pre1+svn976487-0ubuntu1) karmic; urgency=low - - * New SVN snapshot - - -- Anthony Mercatante Mon, 01 Jun 2009 22:01:04 +0200 - -kaffeine (1.0~pre1-0ubuntu3) karmic; urgency=low - - * Fixed debian/rules: - - use /usr/share/pkg-kde-tools/makefiles/1/cdbs/kde.mk - - switch to cdbs simple-patchsys.mk - * Added kubuntu_02_kaffeine_restricted_install.diff: - - use update-notifier-kde for extra codecs installation - - -- Anthony Mercatante Mon, 01 Jun 2009 20:07:40 +0200 - -kaffeine (1.0~pre1-0ubuntu2) karmic; urgency=low - - * Added pkg-kde-tools build-dep - * Fixed debian/rules, to use debian-qt-kde.mk instead of kde4.mk - - -- Anthony Mercatante Fri, 22 May 2009 05:08:25 +0200 - -kaffeine (1.0~pre1-0ubuntu1) karmic; urgency=low - - * New upstream pre release - * Packaging rewrote for KDE4 - * Added kubuntu_01_qt_phonon.diff, fix compile with Qt's Phonon which - does not install Phonon/Global - - -- Anthony Mercatante Mon, 11 May 2009 06:52:11 +0200 - -kaffeine (0.8.7-1ubuntu4) jaunty; urgency=low - - * Rebuild with new cdbs, don't add gettext domain to .desktop files - - -- Jonathan Riddell Wed, 08 Apr 2009 21:03:49 +0100 - -kaffeine (0.8.7-1ubuntu3) jaunty; urgency=low - - * Add back missing kaffeine.install - * Remove DEB_DESTDIR from previous build, caused overlapping files - * Remove conflicts on kaffine-gstreamer - - -- Jonathan Riddell Fri, 12 Dec 2008 19:12:43 +0000 - -kaffeine (0.8.7-1ubuntu2) jaunty; urgency=low - - * Fix files not installed (LP: #307175): - - re-add DEB_DESTDIR line (Debian doesn't use a kaffeine.install file) - - change dir from tmp to kaffeine in kaffeine-gstreamer.install - - -- Cesare Tirabassi Thu, 11 Dec 2008 18:39:42 +0100 - -kaffeine (0.8.7-1ubuntu1) jaunty; urgency=low - - * Merge with Debian, remaining changes: - - kaffeine can't depend on libxine1-ffmpeg - - add kaffeine-gstreamer.install and description - - build-dep on libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev - - remove --without-gstreamer - - remove DEB_DESTDIR line - - install/kaffeine:: Kubuntu additions - - DEB_FIXPERMS_EXCLUDE := install-css.sh install-codecs - - patches - - install-codecs - - kaffeine_codecinstall.desktop - - kaffeine_xine-install-dvdcss.desktop - - kaffeine_xine-install-ffmpeg.desktop - - add install depends on python-qt4, python-apt - - Recommend kdebase-runtime and install-package for install-codecs - - -- Jonathan Riddell Thu, 20 Nov 2008 14:51:55 +0000 - kaffeine (0.8.7-1) unstable; urgency=low * New upstream release. @@ -291,36 +189,6 @@ -- Fathi Boudra Mon, 21 Jul 2008 22:00:21 +0200 -kaffeine (0.8.6-2ubuntu2) intrepid; urgency=low - - * Fix install-codecs (LP: #210303) - - Added some returns and use KDE 4's kdesu and the new install-package - * Recommend kdebase-runtime and install-package for install-codecs - * Final newlines for kaffeine-gstreamer.install and KUBUNTU-DEBIAN-DIFF - * quilt refresh - - -- Harald Sitter Mon, 22 Sep 2008 12:24:21 +0200 - -kaffeine (0.8.6-2ubuntu1) intrepid; urgency=low - - * Merge with Debian, remaining changes: - - kaffeine can't depend on libxine1-ffmpeg - - kaffeine does depend on kaffeine-xine, remove conflicts/replaces - - add kaffeine-gstreamer.install and description - - build-dep on libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev - - remove --without-gstreamer - - remove DEB_DESTDIR line - - install/kaffeine:: Kubuntu additions - - DEB_FIXPERMS_EXCLUDE := install-css.sh install-codecs - - patches - - install-codecs - - kaffeine_codecinstall.desktop - - kaffeine_xine-install-dvdcss.desktop - - kaffeine_xine-install-ffmpeg.desktop - - add install depends on python-qt4, python-apt - - -- Jonathan Riddell Wed, 11 Jun 2008 14:31:44 +0000 - kaffeine (0.8.6-2) unstable; urgency=low * Build with -fasynchronous-unwind-tables flags. (Closes: #469594) @@ -353,97 +221,6 @@ -- Fathi Boudra Sun, 30 Dec 2007 17:44:40 +0100 -kaffeine (0.8.6-0ubuntu8.2) intrepid; urgency=low - - * SRU to intrepid - - -- Jonathan Riddell Tue, 06 May 2008 11:49:20 +0100 - -kaffeine (0.8.6-0ubuntu8.1) hardy-proposed; urgency=low - - * Change kaffeine_xine-install-dvdcss.desktop - - Revert the dvd codec autoinstalling (LP: #226475) - * In debian/rules install script install-css.sh - * Alter debian/install-codecs - - handle possible loop by ffmpeg autoinstallation (http://bugs.kde.org/show_bug.cgi?id=161592) - * Alter kxinewidget.cpp in kubuntu_07_codecs_installation.diff - - Hide extra error messagebox - - Handling of additional situations of the codecs absense - - -- Sergey Rudchenko Wed, 30 Apr 2008 22:32:41 +0300 - -kaffeine (0.8.6-0ubuntu8) hardy; urgency=low - - * rewrite install-codecs script in python - * add i18n to codec installation procedure - - -- Sergey Rudchenko Sun, 09 Mar 2008 12:02:46 +0200 - -kaffeine (0.8.6-0ubuntu7) hardy; urgency=low - - * fix 'dash' quoting issues - * handle XINE_MSG_ENCRYPTED SOURCE for dvdcss installation - * rebuild patches - - -- Sergey Rudchenko Mon, 03 Mar 2008 14:24:45 +0200 - -kaffeine (0.8.6-0ubuntu6) hardy; urgency=low - - * Fix Recommends, add missing commas - - -- Jonathan Riddell Wed, 27 Feb 2008 16:50:26 +0000 - -kaffeine (0.8.6-0ubuntu5) hardy; urgency=low - - * Refactor install-codecs script - * Implement libdvdcss installing - - -- Sergey Rudchenko Tue, 26 Feb 2008 19:03:36 +0200 - -kaffeine (0.8.6-0ubuntu4) hardy; urgency=low - - * Adapt install-codecs script to dash shell syntax - - -- Sergey Rudchenko Tue, 26 Feb 2008 12:58:33 +0200 - -kaffeine (0.8.6-0ubuntu3) hardy; urgency=low - - * Set fixperms exclude for install-codecs - - -- Jonathan Riddell Fri, 22 Feb 2008 14:29:51 +0000 - -kaffeine (0.8.6-0ubuntu2) hardy; urgency=low - - * Make install-codecs executable in debian/rules - - -- Jonathan Riddell Mon, 04 Feb 2008 14:39:57 +0000 - -kaffeine (0.8.6-0ubuntu1) hardy; urgency=low - - * New upstream release - - -- Anthony Mercatante Tue, 22 Jan 2008 13:50:29 +0100 - -kaffeine (0.8.5-1ubuntu2) hardy; urgency=low - - * Remove depends on kaffeine-xine - - -- Jonathan Riddell Wed, 28 Nov 2007 20:37:29 +0000 - -kaffeine (0.8.5-1ubuntu1) hardy; urgency=low - - * Merge with Debian, remaining changes: - - kaffeine can't depend on libxine1-ffmpeg - - kaffeine does depend on kaffeine-xine, remove conflicts/replaces - - add kaffeine-gstreamer.install and description - - build-dep on libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev - - Kubuntu patches in debian/patches/ - - Remove --without-gstreamer - - Remove DEB_DESTDIR line in debian/rules - * Update kubuntu_07_codecs_installation.diff and add autocodec files to install/kaffeine:: - - -- Jonathan Riddell Wed, 28 Nov 2007 19:01:00 +0000 - kaffeine (0.8.5-1) unstable; urgency=low * New upstream release. @@ -596,233 +373,6 @@ -- Riku Voipio Mon, 3 Apr 2006 23:16:16 +0300 -kaffeine (0.8.5-0ubuntu3) hardy; urgency=low - - * Reuploaded as the buildd seems to be fixed - - -- Anthony Mercatante Mon, 12 Nov 2007 14:09:56 +0100 - -kaffeine (0.8.5-0ubuntu2) hardy; urgency=low - - * Added kubuntu_07_codecs_installation.patch: - - Let kaffeine install missing codecs - - Patch from Sergey Rudchenko - - -- Anthony Mercatante Fri, 09 Nov 2007 14:06:07 +0100 - -kaffeine (0.8.5-0ubuntu1) gutsy; urgency=low - - * New upstream release - - -- Anthony Mercatante Mon, 30 Jul 2007 13:01:45 +0200 - -kaffeine (0.8.4-0ubuntu3) gutsy; urgency=low - - * Removed kubuntu_07_player_parts_identification.diff - That patch is in the work, shouldn't have been upload, - as it creates a crash with the xine-part. - - -- Anthony Mercatante Thu, 28 Jun 2007 23:46:38 +0200 - -kaffeine (0.8.4-0ubuntu2) gutsy; urgency=low - - * Removed debian/tmp/usr/share/apps/kaffeine/xine_part from - kaffeine-xine.install - this is already being installed in kaffeine, and - fixes the file overwrite problem. - - -- Sarah Hobbs Wed, 06 Jun 2007 16:16:07 +1000 - -kaffeine (0.8.4-0ubuntu1) gutsy; urgency=low - - * New upstream release. - * Added libxcb builddep. - * Added back kaffeine-gstreamer package - * Removed obsolete kubuntu_05_restore_contrast.diff - * Add kubuntu_06_kparts_mimetype_checking.diff: - - Makes it possible to select the engine to use. - - -- Anthony Mercatante Wed, 05 Mai 2007 11:02:23 +0100 - -kaffeine (0.8.3-0ubuntu7) feisty; urgency=low - - * Add kubuntu_05_restore_contrast.diff from SVN, fixes contrast restore - nice to those affected by XV on i810 washout problem - fixes http://bugs.kde.org/show_bug.cgi?id=138340 - - -- Jonathan Riddell Thu, 8 Mar 2007 10:15:05 +0000 - -kaffeine (0.8.3-0ubuntu6) feisty; urgency=low - - * Added kubuntu_services_list.patch, lists the services with - avi mimetype instead of x-mp3. - Closes Malone #22902 - - -- Anthony Mercatante Fri, 14 Dec 2006 17:40:34 +0200 - -kaffeine (0.8.3-0ubuntu5) feisty; urgency=low - - * Include header files in kaffeine.install - * Add back kaffeineoggvorbis plugin - - -- Jonathan Riddell Fri, 19 Jan 2007 13:33:10 +0000 - -kaffeine (0.8.3-0ubuntu4) feisty; urgency=low - - * Make sure kubuntu_04_locate_wizard_stamp.diff patch applies cleanly - - -- Jonathan Riddell Mon, 15 Jan 2007 16:56:20 +0000 - -kaffeine (0.8.3-0ubuntu3) feisty; urgency=low - - * Add back kubuntu_04_locate_wizard_stamp.diff - - -- Jonathan Riddell Sun, 14 Jan 2007 13:34:26 +0000 - -kaffeine (0.8.3-0ubuntu2) feisty; urgency=low - - * Changed debian/control, kaffeine-xine depends on kaffeine - - -- Anthony Mercatante Fri, 14 Dec 2006 17:40:34 +0200 - -kaffeine (0.8.3-0ubuntu1) feisty; urgency=low - - * New upstream release - - -- Anthony Mercatante Mon, 12 Dec 2006 18:35:22 +0200 - -kaffeine (0.8.2-2ubuntu1) feisty; urgency=low - - * Merged packaging with debian - - -- Anthony Mercatante Thu, 16 Nov 2006 02:42:34 +0200 - -kaffeine (0.8.2-0ubuntu4) feisty; urgency=low - - * Removed kubuntu_70_no_audiocd_features.patch. - This as been rediscussed and the choice is to keep the audio - features for the moment. - Codeine is an candidate for feisty as the default - video player. - - -- Anthony Mercatante Thu, 16 Nov 2006 02:42:34 +0200 - -kaffeine (0.8.2-0ubuntu3) feisty; urgency=low - - * Add kubuntu_70_no_audio_features.patch to remove audio features - - -- Anthony Mercatante Fri, 20 Oct 2006 16:05:34 +0200 - -kaffeine (0.8.2-0ubuntu2) edgy; urgency=low - - * Add kubuntu_04_mimetypes.patch for complete mimetypes - - -- Anthony Mercatante Thu, 11 Sep 2006 14:45:43 +0200 - -kaffeine (0.8.2-0ubuntu1) edgy; urgency=low - - * New upstream release (closed Malone #61860) - - -- Anthony Mercatante Wed, 27 Sep 2006 02:37:43 +0200 - -kaffeine (0.8.1-3ubuntu3) edgy; urgency=low - - * Don't install x-mplayer2 mimetype, now part of KDE - - -- Jonathan Riddell Wed, 26 Jul 2006 19:06:08 +0100 - -kaffeine (0.8.1-3ubuntu2) edgy; urgency=low - - * Added missing kaffeine-xine.install - - -- Anthony Mercatante Thu, 18 Jul 2006 18:50:32 +0200 - -kaffeine (0.8.1-3ubuntu1) edgy; urgency=low - - * New upstream release. - * Removed obsolete patches. - * Porting existing and still required patches. - - -- Anthony Mercatante Mon, 03 Jul 2006 19:18:45 +0200 - -kaffeine (0.7.1-1.3ubuntu10) dapper; urgency=low - - * Add kubuntu_07_system_media.diff to fix the use of system:/ in kaffeine, - thanks to Bastian Holst (Closes: Malone #37131) - - -- Raphaël Pinson Mon, 22 May 2006 17:24:59 +0200 - -kaffeine (0.7.1-1.3ubuntu9) dapper; urgency=low - - * debian/cdbs/kde.mk: - - added dh_iconcache. - - -- Daniel Holbach Thu, 18 May 2006 20:59:38 +0200 - -kaffeine (0.7.1-1.3ubuntu8) dapper; urgency=low - - * Remove version on build-dep of libxine-dev so - Kaffeine can be backported - - -- Jonathan Riddell Thu, 13 Apr 2006 21:04:06 +0100 - -kaffeine (0.7.1-1.3ubuntu7) dapper; urgency=low - - * Add kubuntu_06_ioslave_protocols.diff, restrict protocols - KDE will pass to kaffeine, stop it copying system:/ files. - - -- Jonathan Riddell Wed, 12 Apr 2006 13:09:50 +0000 - -kaffeine (0.7.1-1.3ubuntu6) dapper; urgency=low - - * SECURITY UPDATE: fix buffer overflow - * Add kubuntu_05_buffer_overflow.diff - * Remotely supplied playlists can be used to execute - arbitrary code on the local machine using a buffer - overflow in http_peek() while creating HTTP requests - * kaffeine/player-parts/playlistimport.cpp: replace - custom made checks with those from KIO::NetAccess - * References: - CVE-2006-0051 - http://www.kde.org/info/security/advisory-20060404-1.txt - - -- Jonathan Riddell Thu, 6 Apr 2006 11:01:04 +0100 - -kaffeine (0.7.1-1.3ubuntu5) dapper; urgency=low - - * Add build-dep on libxtst-dev, should stop screensaver cutting in - - -- Jonathan Riddell Sun, 2 Apr 2006 20:38:14 +0100 - -kaffeine (0.7.1-1.3ubuntu4) dapper; urgency=low - - * Remove GStreamer 0.8 build-dep and kaffeine-gstreamer package - (GStreamer 0.8 now unsupported upstream, waiting on 0.10 support) - * Remove debian/patches/kubuntu_01_default_gstreamer.diff - * Remove GCC 3.4 usage on hppa,arm,m68k - - -- Jonathan Riddell Wed, 1 Feb 2006 12:01:23 +0000 - -kaffeine (0.7.1-1.3ubuntu3) dapper; urgency=low - - * rebuild to depend on libxine-main1 instead of libxine1c2 (and don't - break upgrades from breezy anymore) - - -- Michael Vogt Mon, 23 Jan 2006 10:50:15 +0100 - -kaffeine (0.7.1-1.3ubuntu2) dapper; urgency=low - - * Rebuild because libXft.la is gone - - -- Stephan Hermann Sat, 14 Jan 2006 13:48:30 +0100 - -kaffeine (0.7.1-1.3ubuntu1) dapper; urgency=low - - * Sync with Debian - * Rebuild for libstdc++ transition - * Alter rules file for .pot generation and add kubuntu_01_kdepot.diff - - -- Jonathan Riddell Tue, 6 Dec 2005 23:50:31 +0000 - kaffeine (0.7.1-1.3) unstable; urgency=low * NMU with maintainer's approval. All changes come straight from a patch @@ -842,15 +392,6 @@ -- Adeodato Simó Fri, 11 Nov 2005 00:06:35 +0100 -kaffeine (0.7.1-1.2ubuntu1) dapper; urgency=low - - * Sync with Debian - * Fix kubuntu_04_locate_wizard_stamp.diff for http://bugzilla.ubuntu.com/17109 - Kaffeine install wizard runs everytime I run kaffeine - * Alter kaffeine.install to install /usr/lib/libkmediapart.so - - -- Jonathan Riddell Fri, 28 Oct 2005 03:18:37 +0000 - kaffeine (0.7.1-1.2) unstable; urgency=low * Non-maintainer upload. @@ -896,7 +437,7 @@ * Updated package description. * Added 12_gstreamer_service_menu.diff, based on Kubuntu's patch kubuntu_02_gstreamer_service_menu.diff to change name, icon and MIME types - of the GStreamer part. + of the GStreamer part. * Added 13_xine_service_menu.diff to change name of the xine part. * Added kubuntu_03_gstreamer_stop.diff from Kubuntu to not attempt to play the logo file when the stop button is pressed. @@ -925,38 +466,6 @@ -- Zack Cerza Mon, 13 Jun 2005 18:07:12 -0400 -kaffeine (0.7-0ubuntu4) breezy; urgency=low - - * Fix description of kaffeine-xine - - -- Jonathan Riddell Fri, 12 Aug 2005 19:36:47 +0000 - -kaffeine (0.7-0ubuntu3) breezy; urgency=low - - * Update kubuntu_03_gstreamer_stop.diff, sync with CVS - * Add kubuntu_04_locate_wizard_stamp.diff so wizard can be turned off globally - * Sync changelog with Debian - - -- Jonathan Riddell Fri, 12 Aug 2005 18:57:03 +0000 - -kaffeine (0.7-0ubuntu2) breezy; urgency=low - - * Add kubuntu_03_gstreamer_stop.diff to make a playing stop by stopping - not by playing the logo file - - -- Jonathan Riddell Wed, 10 Aug 2005 22:27:53 +0000 - -kaffeine (0.7-0ubuntu1) breezy; urgency=low - - * New upstream release - * Add DVB and GStreamer build-deps - * Split playing engines into kaffeine-gstreamer and kaffeine-xine - * Add kubuntu_01_default_gstreamer.diff to default to GStreamer - * Add kubuntu_02_gstreamer_service_menu.diff to use standard Kaffine icon for - GStreamer engine and open same media mimetypes. - - -- Jonathan Riddell Mon, 8 Aug 2005 13:13:39 +0000 - kaffeine (0.6-1) unstable; urgency=low * New upstream release. @@ -985,43 +494,6 @@ -- Zack Cerza Sun, 20 Mar 2005 12:29:08 -0500 -kaffeine (0.6-0ubuntu6) breezy; urgency=low - - * Rebuild package for new C++ ABI. - - -- Matthias Klose Mon, 30 May 2005 20:06:33 +0000 - -kaffeine (0.6-0ubuntu5) breezy; urgency=low - - * added --with-xorg compile option, in same special cases - kaffeine hangs on start, it will fix this issue. - - -- Andreas Mueller Thu, 12 May 2005 19:53:27 +0200 - -kaffeine (0.6-0ubuntu4) breezy; urgency=low - - * merge with debian - - -- Andreas Mueller Fri, 15 Apr 2005 22:58:03 +0200 - -kaffeine (0.6-0ubuntu2) hoary; urgency=low - - * added missing builddepend libqt3-compat-headers - - -- Andreas Mueller Sun, 27 Mar 2005 23:26:34 +0000 - -kaffeine (0.6-0ubuntu1) hoary; urgency=low - - * New upstream release - - -- Andreas Mueller Wed, 23 Mar 2005 00:18:48 +0000 - -kaffeine (0.5-1ubuntu1.1) hoary; urgency=low - - * sync with debian - - -- Andreas Mueller Sun, 13 Feb 2005 00:01:04 +0100 - kaffeine (0.5-1) unstable; urgency=low * New upstream release. Closes: #289488 @@ -1080,7 +552,7 @@ * Diverted user settings to '~/.kde/share/apps/kaffeine'. Closes: #261245 * Removed logo.avi - if this is a big problem, we can talk. - * Now build-depends on libxine-dev >= 1-rc5-1. Closes: #268819 + * Now build-depends on libxine-dev >= 1-rc5-1. Closes: #268819 -- Zack Cerza Tue, 7 Sep 2004 23:11:30 -0400 @@ -1128,4 +600,3 @@ * Put the SuperKaramba theme in /usr/share/superkaramba/themes/kaffeine_bw/ -- Zack Cerza Mon, 05 Apr 2004 22:41:00 -0500 - diff -Nru kaffeine-1.3.1+git20151128/debian/compat kaffeine-2.0.4+git20160916/debian/compat --- kaffeine-1.3.1+git20151128/debian/compat 2016-01-27 01:26:53.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/compat 2016-06-07 13:16:12.000000000 +0000 @@ -1 +1 @@ -7 +9 diff -Nru kaffeine-1.3.1+git20151128/debian/control kaffeine-2.0.4+git20160916/debian/control --- kaffeine-1.3.1+git20151128/debian/control 2016-01-27 01:26:53.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/control 2016-07-01 06:20:09.000000000 +0000 @@ -1,30 +1,41 @@ Source: kaffeine Section: video Priority: optional -XSBC-Original-Maintainer: mtron -Maintainer: Nicolas Derive -Uploaders: Fathi Boudra , Mark Purcell , Michael Meskes -Build-Depends: debhelper, cmake, pkg-kde-tools, kdelibs5-dev, libx11-dev, libvlc-dev, libxss-dev, libdvbv5-dev -Standards-Version: 3.8.4 -Homepage: http://git.linuxtv.org/cgit.cgi/mchehab/kaffeine.git/ +Maintainer: Debian KDE Extras Team +Uploaders: Fathi Boudra , + Mark Purcell , + Michael Meskes , + Pino Toscano +Build-Depends: debhelper (>= 9), cmake, pkg-kde-tools (>= 0.15.16), + extra-cmake-modules (>= 1.0.0), + qtbase5-dev (>= 5.4.0), + libqt5x11extras5-dev (>= 5.4.0), + libkf5coreaddons-dev (>= 5.11.0), + kdoctools-dev (>= 5.11.0), + libkf5dbusaddons-dev (>= 5.11.0), + libkf5i18n-dev (>= 5.11.0), + kio-dev (>= 5.11.0), + libkf5solid-dev (>= 5.11.0), + libkf5widgetsaddons-dev (>= 5.11.0), + libkf5xmlgui-dev (>= 5.11.0), + libvlc-dev, + libx11-dev, libxss-dev, + libdvbv5-dev [linux-any], +Standards-Version: 3.9.8 +Homepage: http://kaffeine.kde.org +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-kde/kde-extras/kaffeine.git +Vcs-Git: https://anonscm.debian.org/git/pkg-kde/kde-extras/kaffeine.git Package: kaffeine Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - libvlc5, libqt4-sql-sqlite, -Suggests: libdvdcss2, w32codecs, vlc, vlc-plugin-pulse + libqt5sql5-sqlite, + vlc, +Suggests: libdvdcss2 Description: versatile media player for KDE - Kaffeine is a media player for KDE. Since Version 1.3 it uses the vlc engine for playback, giving Kaffeine a wide variety of - supported media types and letting Kaffeine access DVB(-S,-S2,-T,-T2,-C), CDs, DVDs, and network streams easily. + Kaffeine is a media player for KDE based on VLC, which gives it a wide variety + of supported media types and lets Kaffeine access CDs, DVDs, and network + streams easily. Kaffeine also has an excellent support of digital TV (DVB). . - This Package is an experimental build from Mauro Carvalho Chehabs git repo at http://git.linuxtv.org/cgit.cgi/mchehab/kaffeine.git/. Its untested and might be buggy. - -Package: kaffeine-dbg -Section: debug -Architecture: any -Priority: extra -Depends: ${misc:Depends}, kaffeine (= ${binary:Version}), kdelibs5-dbg -Description: debugging symbols for kaffeine - This package contains the debugging symbols associated with kaffeine. - They will automatically be used by gdb for debugging kaffeine-related - issues. + Kaffeine can keep track of multiple playlists simultaneously, and supports + autoloading of subtitle files for use while playing video. diff -Nru kaffeine-1.3.1+git20151128/debian/copyright kaffeine-2.0.4+git20160916/debian/copyright --- kaffeine-1.3.1+git20151128/debian/copyright 2016-01-27 01:26:53.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/copyright 2016-06-11 09:01:12.000000000 +0000 @@ -1,94 +1,84 @@ -This package was debianized by: - - Fathi Boudra on Wed, 12 Aug 2009 02:23:50 +0200 - -It was downloaded from: - - http://kaffeine.kde.org - -Upstream Author: - - Christoph Pfister - -Copyright: - - Copyright (C) 2007-2010 Christoph Pfister - -Copyright for include/dmx.h file: - - Copyright (C) 2000 Marcus Metzler - & Ralph Metzler - for convergence integrated media GmbH - -Copyright for include/frontend.h file: - - Copyright (C) 2000 Marcus Metzler - Ralph Metzler - Holger Waechtler - Andre Draszik - for convergence integrated media GmbH - -Copyright for icons/* files: - - Copyright (C) 2007 The Oxygen Team - -Kaffeine is licensed under GPL-2 or any later version: - - This package is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This package is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this package; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -On Debian systems, the complete text of the GNU General -Public License version 2 can be found in: - `/usr/share/common-licenses/GPL-2' - `/usr/share/common-licenses/GPL-3' - -Kaffeine include files are licensed under LGPL-2.1 or any later version: - - This package is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This package is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this package; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -On Debian systems, the complete text of the GNU Lesser General -Public License version 2.1 or any later version can be found in: - `/usr/share/common-licenses/LGPL-2.1' - `/usr/share/common-licenses/LGPL-3' - -Kaffeine icons are licensed under Creative Common Attribution-ShareAlike 3.0 -or LGPL2+: - - All icons are copied & hacked from oxygen - Creative Common Attribution-ShareAlike 3.0 or LGPL2+ (+ clarification) - -On Debian systems, the complete text of the GNU Lesser General -Public License version 2 or any later version can be found in: - `/usr/share/common-licenses/LGPL-2' - `/usr/share/common-licenses/LGPL-2.1' - `/usr/share/common-licenses/LGPL-3' - -The Debian packaging is: - - Copyright (C) 2009-2010 Fathi Boudra - -and is licensed under the GPL version 2 or any later version, -see above. +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: kaffeine +Upstream-Contact: Mauro Carvalho Chehab +Source: https://www.kde.org/applications/multimedia/kaffeine/ + +Files: * +Copyright: 2007-2012, Christoph Pfister + 2014, Mauro Carvalho Chehab +License: GPL-2+ + +Files: cmake/modules/* +Copyright: 2011, Michael Jansen + 2016, Pino Toscano +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: include/* +Copyright: 2000, Marcus Metzler + 2000, Ralph Metzler + 2000, Holger Waechtler + 2000, Andre Draszik +License: LGPL-2.1+ + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation; either version 2.1 + of the License, or (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + . + On Debian systems, the complete texts of the GNU Lesser General Public + Licenses version 2.1 or any later version can be found in + `/usr/share/common-licenses/LGPL-2.1' and `/usr/share/common-licenses/LGPL-3'. + +Files: debian/* +Copyright: 2009-2010 Fathi Boudra + 2016, Pino Toscano +License: GPL-2+ + +License: GPL-2+ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + . + On Debian systems, the complete texts of the GNU General Public Licenses + version 2 and 3 can be found in `/usr/share/common-licenses/GPL-2' and + `/usr/share/common-licenses/GPL-3'. diff -Nru kaffeine-1.3.1+git20151128/debian/kaffeine.bug-presubj kaffeine-2.0.4+git20160916/debian/kaffeine.bug-presubj --- kaffeine-1.3.1+git20151128/debian/kaffeine.bug-presubj 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/kaffeine.bug-presubj 2016-06-07 13:16:12.000000000 +0000 @@ -0,0 +1,10 @@ +If you know that the bug you want to report is in the "upstream" +code then please file a bug report in the kaffeine bug tracking system +Kaffeine -> Help -> Report Bug (or on the web at +http://kaffeine.kde.org/?q=bugs). + +If you feel that the bug is one that other Debian users should +know about then you are welcome to file a report in the Debian BTS +as well. Please keep in mind, however, that managing bug reports +is part of the maintainers' workload and this package currently has +a large number of outstanding reports in the BTS. diff -Nru kaffeine-1.3.1+git20151128/debian/kaffeine.docs kaffeine-2.0.4+git20160916/debian/kaffeine.docs --- kaffeine-1.3.1+git20151128/debian/kaffeine.docs 2016-01-27 01:26:53.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/kaffeine.docs 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -Changelog -COPYING -COPYING-DOCS -NOTES -README diff -Nru kaffeine-1.3.1+git20151128/debian/kaffeine.install kaffeine-2.0.4+git20160916/debian/kaffeine.install --- kaffeine-1.3.1+git20151128/debian/kaffeine.install 2016-01-27 01:26:53.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/kaffeine.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -debian/kaffeine.xpm /usr/share/pixmaps -usr/bin/kaffeine -usr/bin/dtvdaemon -usr/share/applications/kde4/kaffeine.desktop -usr/share/icons/oxygen/*/actions/audio-radio-encrypted.png -usr/share/icons/oxygen/*/actions/video-television-encrypted.png -usr/share/icons/hicolor/*/apps/kaffeine.png -usr/share/kde4/apps/kaffeine/scanfile.dvb -usr/share/kde4/apps/profiles/kaffeine.profile.xml -usr/share/kde4/apps/solid/actions/kaffeine_play_audiocd.desktop -usr/share/kde4/apps/solid/actions/kaffeine_play_dvd.desktop -usr/share/kde4/apps/solid/actions/kaffeine_play_videocd.desktop diff -Nru kaffeine-1.3.1+git20151128/debian/kaffeine.menu kaffeine-2.0.4+git20160916/debian/kaffeine.menu --- kaffeine-1.3.1+git20151128/debian/kaffeine.menu 2016-01-27 01:26:53.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/kaffeine.menu 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -?package(kaffeine):\ - needs="X11"\ - section="Applications/Video"\ - hints="KDE"\ - title="Kaffeine"\ - command="/usr/bin/kaffeine"\ - icon="/usr/share/pixmaps/kaffeine.xpm" diff -Nru kaffeine-1.3.1+git20151128/debian/kaffeine.xpm kaffeine-2.0.4+git20160916/debian/kaffeine.xpm --- kaffeine-1.3.1+git20151128/debian/kaffeine.xpm 2016-01-27 01:26:53.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/kaffeine.xpm 1970-01-01 00:00:00.000000000 +0000 @@ -1,178 +0,0 @@ -/* XPM */ -static char * kaffeine_xpm[] = { -"32 32 143 2", -" c None", -". c #2B2B2B", -"+ c #4F4F4F", -"@ c #565656", -"# c #3F3F3F", -"$ c #2D2D2D", -"% c #2F2F2F", -"& c #363636", -"* c #373737", -"= c #4A4A4A", -"- c #5E5E5E", -"; c #727272", -"> c #5C5C5C", -", c #333333", -"' c #212121", -") c #3A3A3A", -"! c #454545", -"~ c #3D3D3D", -"{ c #6C6C6C", -"] c #8B8B8B", -"^ c #9B9B9B", -"/ c #606060", -"( c #686868", -"_ c #7D7D7D", -": c #626262", -"< c #282828", -"[ c #1F1F1F", -"} c #272727", -"| c #353535", -"1 c #434343", -"2 c #484848", -"3 c #797979", -"4 c #969696", -"5 c #A5A5A5", -"6 c #909090", -"7 c #545454", -"8 c #878787", -"9 c #585858", -"0 c #222222", -"a c #1C1C1C", -"b c #262626", -"c c #383838", -"d c #414141", -"e c #4B4B4B", -"f c #6A6A6A", -"g c #828282", -"h c #9C9C9C", -"i c #A1A1A1", -"j c #8E8E8E", -"k c #717171", -"l c #242424", -"m c #1D1D1D", -"n c #313131", -"o c #474747", -"p c #404040", -"q c #757575", -"r c #8C8C8C", -"s c #A4A4A4", -"t c #979797", -"u c #8F8F8F", -"v c #939393", -"w c #666666", -"x c #767676", -"y c #919191", -"z c #6F6F6F", -"A c #1E1E1E", -"B c #292929", -"C c #575757", -"D c #949494", -"E c #4C4C4C", -"F c #898989", -"G c #3B3B3B", -"H c #202020", -"I c #2C2C2C", -"J c #555555", -"K c #424242", -"L c #868686", -"M c #9F9F9F", -"N c #989898", -"O c #888888", -"P c #3C3C3C", -"Q c #494949", -"R c #777777", -"S c #929292", -"T c #A6A6A6", -"U c #8A8A8A", -"V c #959595", -"W c #9D9D9D", -"X c #696969", -"Y c #7A7A7A", -"Z c #464646", -"` c #505050", -" . c #595959", -".. c #444444", -"+. c #7C7C7C", -"@. c #A0A0A0", -"#. c #616161", -"$. c #2E2E2E", -"%. c #4E4E4E", -"&. c #5A5A5A", -"*. c #747474", -"=. c #838383", -"-. c #6E6E6E", -";. c #5D5D5D", -">. c #999999", -",. c #515151", -"'. c #676767", -"). c #636363", -"!. c #808080", -"~. c #7F7F7F", -"{. c #818181", -"]. c #8D8D8D", -"^. c #393939", -"/. c #646464", -"(. c #6B6B6B", -"_. c #787878", -":. c #6D6D6D", -"<. c #9E9E9E", -"[. c #525252", -"}. c #A3A3A3", -"|. c #707070", -"1. c #737373", -"2. c #303030", -"3. c #5B5B5B", -"4. c #5F5F5F", -"5. c #7B7B7B", -"6. c #848484", -"7. c #9A9A9A", -"8. c #535353", -"9. c #191919", -"0. c #252525", -"a. c #181818", -"b. c #4D4D4D", -"c. c #A2A2A2", -"d. c #343434", -"e. c #7E7E7E", -"f. c #2A2A2A", -"g. c #858585", -"h. c #1B1B1B", -"i. c #1A1A1A", -"j. c #232323", -"k. c #040404", -"l. c #131313", -" ", -" . + @ # $ % & * = ", -" - ; > , ' . ) ! ~ { ] ^ / ", -" ( _ : < [ } | 1 ! 2 3 4 5 6 7 ", -" _ 8 9 0 a b c d e c f g h i j 6 $ ", -" k ] { l m b n ~ o e p q r s t u v w ", -" x y z . A B & ~ o + 2 C _ D 5 y 6 v ", -" E 6 F G H I & d o + J K w L M M ] 6 v N ", -" O u 9 0 % P 1 Q + @ J 2 R S T y U y V W J ", -" X 4 Y , | p Z E ` J ...- +.^ 5 O r y V @.#. ", -" $.v 4 E P Q %.7 J .&. .1 *.r s t =.F j v M -. ", -" ;.>.=.o ,.J @ 9 &.;./ ,.%.3 S T r g O j S h '. ", -" 8 4 ( ).#.: / / / #.: ! #.!.M h ~.{.8 ].y h > ", -" ^.t 8 > w '.( '.: /./.: K (.].5 ] _.~.=.] y h + ", -" q h :... .: ).( ( '.( E C q h 5 R *.+.~.F ].y ", -" O <.[.^.+ .- : /.w ).K w !.}.V |.1.q Y g U O ", -" y 4 2.n ! ` @ 3.4.: 7 = :.j s _ f { |.1.5.6.k ", -" N ] 0 I p = ,.J &.;...J Y h 7.z w ( X :.; _ 8. ", -" 7.Y 9.0.* # = ` @ @ ~ ).r s g w w w /.w (.|. ", -" >.f a.H 2.P ..e [.1 b.-.t c.1.( f f f ( ( / ", -" t / a.a B d.p 2 = d.).e.c.v f :.z k ; *.R ^. ", -" v 3.a.9.b n P ! # # :.F c.g :.k ; R Y ~.*. ", -" > a.a.' . c d | ` R 7.^ 1.|.q +.!.8 r P ", -" _ /.a.a.A f.| ~ , 4.g.M F |.1.5.g 8 j Y ", -" [.k a.a.h.0.d.% o -.t i 3 1.5.g ] j L < ", -" R h.a.i.0.2.< - Y 7.V k _.!.L u v E ", -" &.* a.i.j.. G (.U c.=.1.+.8 j 6 #. ", -" + h.i.0 < E q V >._.R g ].y /. ", -" m b i.j.% 4.L h O *.~.O F ;. ", -" a.H K :.4 h 5.R 6.6. ", -" k. l. y z ( E ", -" "}; diff -Nru kaffeine-1.3.1+git20151128/debian/patches/02_closetosystray.diff kaffeine-2.0.4+git20160916/debian/patches/02_closetosystray.diff --- kaffeine-1.3.1+git20151128/debian/patches/02_closetosystray.diff 2016-01-27 01:26:53.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/patches/02_closetosystray.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ -diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp -index f96af22..915515c 100644 ---- a/src/mainwindow.cpp -+++ b/src/mainwindow.cpp -@@ -36,6 +36,8 @@ - #include - #include - #include "dvb/dvbtab.h" -+#include "dvb/dvbmanager.h" -+#include "dvb/dvbrecording.h" - #include "playlist/playlisttab.h" - #include "configuration.h" - #include "configurationdialog.h" -@@ -729,3 +731,12 @@ void MainWindow::leaveEvent(QEvent *event) - - KMainWindow::leaveEvent(event); - } -+ -+bool MainWindow::queryClose() -+{ -+ if(dvbTab->getManager()->getRecordingModel()->hasRecordings()) { -+ hide(); -+ return false; -+ } -+ return true; -+} -diff --git a/src/mainwindow.h b/src/mainwindow.h -index 6b5c0cd..cf74db9 100644 ---- a/src/mainwindow.h -+++ b/src/mainwindow.h -@@ -75,6 +75,7 @@ private: - bool event(QEvent *event); - void keyPressEvent(QKeyEvent *event); - void leaveEvent(QEvent *event); -+ bool queryClose(); - - KActionCollection *collection; - KRecentFilesAction *actionOpenRecent; - diff -Nru kaffeine-1.3.1+git20151128/debian/patches/series kaffeine-2.0.4+git20160916/debian/patches/series --- kaffeine-1.3.1+git20151128/debian/patches/series 2016-01-27 01:26:53.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -02_closetosystray.diff diff -Nru kaffeine-1.3.1+git20151128/debian/rules kaffeine-2.0.4+git20160916/debian/rules --- kaffeine-1.3.1+git20151128/debian/rules 2016-01-27 01:26:53.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/rules 2016-06-08 21:00:15.000000000 +0000 @@ -1,6 +1,14 @@ #!/usr/bin/make -f +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +export DEB_LDFLAGS_MAINT_APPEND := -Wl,--as-needed + %: - dh --parallel --list-missing --dbg-package=kaffeine-dbg --with kde $@ + dh $@ --parallel --with kf5 + +override_dh_strip: + dh_strip --dbgsym-migration='kaffeine-dbg (<< 1.2.2-4~)' .PHONY: override_dh_auto_test diff -Nru kaffeine-1.3.1+git20151128/debian/watch kaffeine-2.0.4+git20160916/debian/watch --- kaffeine-1.3.1+git20151128/debian/watch 2016-01-27 01:26:53.000000000 +0000 +++ kaffeine-2.0.4+git20160916/debian/watch 2016-06-08 18:27:36.000000000 +0000 @@ -1,2 +1,3 @@ -version=3 -http://sf.net/kaffeine/kaffeine-([\d.].[\d.].[\d])\.tar\.bz2 debian svn-upgrade +version=4 + +http://download.kde.org/stable/kaffeine/([\d.]+)/src/kaffeine-([\d.]+)\.tar\.xz diff -Nru kaffeine-1.3.1+git20151128/doc/CMakeLists.txt kaffeine-2.0.4+git20160916/doc/CMakeLists.txt --- kaffeine-1.3.1+git20151128/doc/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/doc/CMakeLists.txt 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,2 @@ +kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kaffeine) +kdoctools_create_manpage (man-kaffeine.1.docbook 1 INSTALL_DESTINATION ${MAN_INSTALL_DIR}) Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/document-save.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/document-save.png differ diff -Nru kaffeine-1.3.1+git20151128/doc/.gitignore kaffeine-2.0.4+git20160916/doc/.gitignore --- kaffeine-1.3.1+git20151128/doc/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/doc/.gitignore 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1 @@ +index.cache.bz2 diff -Nru kaffeine-1.3.1+git20151128/doc/index.docbook kaffeine-2.0.4+git20160916/doc/index.docbook --- kaffeine-1.3.1+git20151128/doc/index.docbook 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/doc/index.docbook 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,346 @@ + +Kaffeine"> + + +]> + + + + +The &kaffeine; Handbook + + + +Jürgen + +Kofler + +
kaffeine@gmx.net
+
+
+ +Christophe + +Thommeret + +
hftom@free.fr
+
+
+ +Mauro +Carvalho +Chehab + +
mchehab@infradead.org
+
+
+
+ + + + +2004 +2016 +The &kaffeine; Authors + +&FDLNotice; + +2016-06-26 +&kaffeine; 2.0.4 + + + + + +Kaffeine is a Media Player by &kde;. + + + + +kaffeine +vlc +video +audio +mp3 +dvd +dvb-t +dvb-c +dvb-s +dvb-t2 +dvb-s2 +isdb-t + + +
+ + +&kaffeine; Player + + +The Start Window + +Like many other media players, &kaffeine; supports a wide range of video and audio formats +as well as playing audio and video from DVD and &CD;. Additionally, it supports live +Digital TV playback if your machine has a Digital Video Broadcast (DVB) +device plugged into it. + +Once &kaffeine; starts, it presents a screen with the main functions in the middle, +and it’s possible to switch to other functions via either the pop up menu or the lateral menu: + + + +Start Window + + + + + +Start Window + + + + + + + +Play a File +Playing a video or audio file is as simple as clicking on the Play File +button. It will ask you to select the file to be played, and will begin playing it. Since &kaffeine; +uses LibVLC for the backend, it supports all the same file formats as VLC. +It also supports opening a list of files to create and manage playlists. + + + +Play a File + + + + + +Play a File + + + + + + + +The Playlist Window +&kaffeine; supports multiple playlists. Choose the active one with the Playlist selector. +You can easily drag some files or folders from the file browser and drop it on the playlist to enqueue or drop it +on the player window to create a new playlist. To change a playlist name edit it and confirm with Return. + + +Playlist Window + + + + + + Playlist Window + + + + +You can find all playlist related functions in the Playlist-Menu and the context-menu (right-click on playlist). + + + + + +Digital TV Player + + + +Graphical User Interface for Digital TV + +While the basic functionality is useful enough for someone who wants a simple, yet powerful +media player, the best feature in &kaffeine; is to use it as a &GUI; frontend to watch and record digital TV. + + +In &kaffeine; version 2.0, the digital TV support was extended to support DVB-T2 and ISDB-T. +Since it now uses libdvbv5, extending support for other digital TV standards is simple. +Also, since it uses the &Linux; DVB version 5 API, it supports frontends capable of implementing multiple TVs at once. + + +Setting the TV configuration on &kaffeine; is as simple as clicking on the Television pop up menu, +and selecting the Configure Television option. A pop up window will open that requests the parameters to be used: + + + +TV Configuration + + + + + +TV Configuration + + + + + +The Device menus have the per-device setup. Usually selecting the country and the city in the Source +combo box (or using one of the Autoscan sources) is enough for non-satellite configurations. +The same happens for devices that support multiple TV standards: + + + +Channel Configuration + + + + + +Channel Configuration + + + + + +After clicking on the Ok button, the next step is to scan for the digital channels, using +the Television pop up menu, option Channels: + + + +Scanning Channels + + + + + +Scanning Channels + + + + + +If more then one standard is supported, the Source combo box will allow you to select the +one that will be used to scan. Don’t forget to connect the device’s antenna cable to match +the standard that will be used. Then, click Start Scan to start scanning for channels. +Once finished, the discovered channels will appear on the right. These channels can be copied +to the left side by clicking Add Filtered. It is possible to check the tuning parameters +for the channel in the left side by clicking on the Edit button. +Some parameters are adjustable in the window that pops up. + + + +Edit Channel Settings + + + + + +Edit Channel Settings + + + + + +Once the channels are saved, watching TV is as simple as clicking on the Digital TV button in the main window: + + + +Watching TV + + + + + +Watching TV + + + + +&kaffeine; also allows you to click on the + +to pause it. +When the button is clicked, &kaffeine; will record the program and once the + +button is pressed it will start the program from +the point it was paused. There is also a + button +that allows you to quick record and save the program to disk. + + + + + +Recording Programs + +Besides clicking on the record button + +when the live view is opened, &kaffeine; has other ways to record a program. +One method is to select the program to be recorded using the Television pop up menu +and selecting the Program Guide option. +It will present a list of programs that were identified on a previously played program: + + + +Program Guide + + + + + +Program Guide + + + + + +Clicking on the + +Record Show button will mark the program to be recorded. The record needs to be enabled +via the Recording Schedule option, also located in the Television menu: + + + +Recording Schedule + + + + + +Recording Schedule + + + + + +By clicking one the New button, it is also possible to directly define a time and duration for a program to be recorded. + + + + + + +Copyright and License + + +Program copyright 2007-2016, The &kaffeine; Authors + + + +Documentation copyright 2003-2005, Jürgen Kofler kaffeine@gmx.net, +Christophe Thommeret hftom@free.fr, Mauro Carvalho Chehab mchehab@infradead.org + + +&underFDL; +&underGPL; + + + +&documentation.index; +
+ + Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/kaffeine_configure_tv_dvbc_dvbt2_device.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/kaffeine_configure_tv_dvbc_dvbt2_device.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/kaffeine_configure_tv_isdb_device.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/kaffeine_configure_tv_isdb_device.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/kaffeine_initial.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/kaffeine_initial.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/kaffeine_live_tv.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/kaffeine_live_tv.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/kaffeine_play_file.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/kaffeine_play_file.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/kaffeine_program_guide.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/kaffeine_program_guide.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/kaffeine_recording_schedule_enabled.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/kaffeine_recording_schedule_enabled.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/kaffeine_scan_channel_edit.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/kaffeine_scan_channel_edit.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/kaffeine_scan_finished_channels_added.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/kaffeine_scan_finished_channels_added.png differ diff -Nru kaffeine-1.3.1+git20151128/doc/man-kaffeine.1.docbook kaffeine-2.0.4+git20160916/doc/man-kaffeine.1.docbook --- kaffeine-1.3.1+git20151128/doc/man-kaffeine.1.docbook 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/doc/man-kaffeine.1.docbook 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,163 @@ + + +]> + + + +Kaffeine User's Manual + +Burkhard +Lück + +lueck@hube-lueck.de + +2016-06-07 +Kaffeine 2.0.3 + + + + +Kaffeine +1 + + + +kaffeine +A media player by KDE with digital TV support + + + + +kaffeine + + + + + + + + + + + + + + + +Description +Kaffeine is a media player. What makes it different from the others is +its excellent support of digital TV (DVB). Kaffeine has user-friendly interface, +so that even first time users can start immediately playing their movies: +from DVD (including DVD menus, titles, chapters, etc.), VCD, or a file. + +Kaffeine uses libVLC as video/audio play backend. + + + + +Options + + + + +The files/URLs opened by the application will be deleted after use + + + + + +Start in full screen mode + + + + + +Play Audio CD + + + + + +Play Video CD + + + + + +Play DVD + + + + + +Dump dvb data (debug option) + + + + + name / number +Play TV channel + + + + + channel +(deprecated option) + + + + + +Play last tuned TV channel + + + + + +Files or URLs to play + + + + + + + +Files + +Kaffeine uses the file scanfile.dvb with a list of known channels +per locality and per Satellite (for DVB-S). + +When either new channels are added on some City, or when new Satellite beams are added, +which are not available in Kaffeine, either use dvbv5-scan or w_scan to generate a new file +(in the latter case, converted to the proper format using dvb-format-convert), +and submit it to linux-media@vger.kernel.org, with the subject +[PATCH] dtv-scan-tables: some description. +The new patch will be added to scanfile.dvb and the updated +file will be available to be updated from the Internet in the Kaffeine application. + + + + +See Also + +More detailed user documentation is available from help:/kaffeine +(either enter this &URL; into &konqueror;, or run +khelpcenter +help:/kaffeine). +kf5options(7) +qt5options(7) +dvbv5-scan(1) +w-scan(1) +There is also further information available at the +Kaffeine Page + + + + +Authors +To list the authors of Kaffeine use kaffeine in a terminal. + + + Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/media-playback-pause.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/media-playback-pause.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/media-playback-start.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/media-playback-start.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/media-record.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/media-record.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/playlistwindow.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/playlistwindow.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/doc/startwindow.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/doc/startwindow.png differ diff -Nru kaffeine-1.3.1+git20151128/dtvdaemon/CMakeLists.txt kaffeine-2.0.4+git20160916/dtvdaemon/CMakeLists.txt --- kaffeine-1.3.1+git20151128/dtvdaemon/CMakeLists.txt 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/dtvdaemon/CMakeLists.txt 2016-09-17 17:18:56.000000000 +0000 @@ -1,9 +1,8 @@ set(dtvdaemon_SRCS connection.cpp dtvdaemon.cpp - log.cpp main.cpp) -kde4_add_executable(dtvdaemon ${dtvdaemon_SRCS}) -target_link_libraries(dtvdaemon ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY}) +add_executable(dtvdaemon ${dtvdaemon_SRCS}) +target_link_libraries(dtvdaemon Qt5::Core Qt5::Network) install(TARGETS dtvdaemon ${INSTALL_TARGETS_DEFAULT_ARGS}) diff -Nru kaffeine-1.3.1+git20151128/dtvdaemon/connection.cpp kaffeine-2.0.4+git20160916/dtvdaemon/connection.cpp --- kaffeine-1.3.1+git20151128/dtvdaemon/connection.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/dtvdaemon/connection.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,11 +18,17 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "connection.h" +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif #include #include -#include "log.h" + +#include "connection.h" + +#include Connection::Connection(QLocalSocket *socket_) : QObject(socket_), socket(socket_), packetCommand(0), packetLength(0) @@ -32,14 +38,14 @@ return; } - Log("Connection::Connection: opened connection") << quintptr(this); + qInfo() << "Connection::Connection: opened connection" << quintptr(this); connect(socket, SIGNAL(disconnected()), socket, SLOT(deleteLater())); connect(socket, SIGNAL(readyRead()), this, SLOT(readyRead())); } Connection::~Connection() { - Log("Connection::~Connection: closed connection") << quintptr(this); + qInfo() << "Connection::~Connection: closed connection" << quintptr(this); } void Connection::checkIdle(bool *idle) @@ -70,7 +76,7 @@ quint32 length = qFromLittleEndian(u.info.length); if ((command == 0) || (length > (1024 * 1024))) { - Log("Connection::readyRead: invalid packet"); + qInfo() << "Connection::readyRead: invalid packet"; socket->abort(); return; } @@ -95,7 +101,7 @@ switch (packetCommand) { case GetVersion: { - QString version = QLatin1String("1.2.2"); // FIXME + QString version = QLatin1String(KAFFEINE_VERSION); writeHeader(GetVersionReply, sizeForString(version)); writeString(version); ok = true; @@ -104,9 +110,9 @@ } if (!ok) { - Log("Connection::handlePacket: invalid packet") << packetCommand; + qInfo() << "Connection::handlePacket: invalid packet" << packetCommand; } else if (packetLength != 0) { - Log("Connection::handlePacket: packet has wrong size") << packetCommand; + qInfo() << "Connection::handlePacket: packet has wrong size" << packetCommand; } while (packetLength > 0) { @@ -115,7 +121,7 @@ int bytesRead = int(socket->read(buffer, size)); if (bytesRead <= 0) { - Log("Connection::handlePacket: cannot empty buffer"); + qInfo() << "Connection::handlePacket: cannot empty buffer"; break; } diff -Nru kaffeine-1.3.1+git20151128/dtvdaemon/connection.h kaffeine-2.0.4+git20160916/dtvdaemon/connection.h --- kaffeine-1.3.1+git20151128/dtvdaemon/connection.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/dtvdaemon/connection.h 2016-09-17 17:18:56.000000000 +0000 @@ -40,8 +40,9 @@ GetVersionReply = 0x58e70000 }; -private slots: void checkIdle(bool *idle); + +private slots: void readyRead(); private: diff -Nru kaffeine-1.3.1+git20151128/dtvdaemon/dtvdaemon.cpp kaffeine-2.0.4+git20160916/dtvdaemon/dtvdaemon.cpp --- kaffeine-1.3.1+git20151128/dtvdaemon/dtvdaemon.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/dtvdaemon/dtvdaemon.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,23 +18,27 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dtvdaemon.h" +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif #include #include + #include "connection.h" -#include "log.h" +#include "dtvdaemon.h" DtvDaemon::DtvDaemon(QFile *lockfile_) : lockfile(lockfile_) { - Log("DtvDaemon::DtvDaemon: started"); + qInfo() << "DtvDaemon::DtvDaemon: started"; startTimer(54000); QString path = QDir::homePath() + QLatin1String("/.local/share/dtvdaemon/socket"); QLocalServer::removeServer(path); if (!server.listen(path)) { - Log("DtvDaemon::DtvDaemon: cannot listen on") << path << server.errorString(); + qInfo() << "DtvDaemon::DtvDaemon: cannot listen on" << path << server.errorString(); } connect(&server, SIGNAL(newConnection()), this, SLOT(newConnection())); @@ -42,7 +46,7 @@ DtvDaemon::~DtvDaemon() { - Log("DtvDaemon::~DtvDaemon: stopped"); + qInfo() << "DtvDaemon::~DtvDaemon: stopped"; } void DtvDaemon::newConnection() diff -Nru kaffeine-1.3.1+git20151128/dtvdaemon/log.cpp kaffeine-2.0.4+git20160916/dtvdaemon/log.cpp --- kaffeine-1.3.1+git20151128/dtvdaemon/log.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/dtvdaemon/log.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -#include "../src/log.cpp" diff -Nru kaffeine-1.3.1+git20151128/dtvdaemon/main.cpp kaffeine-2.0.4+git20160916/dtvdaemon/main.cpp --- kaffeine-1.3.1+git20151128/dtvdaemon/main.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/dtvdaemon/main.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,11 +18,16 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif + #include #include #include + #include "dtvdaemon.h" -#include "log.h" int main(int argc, char *argv[]) { @@ -32,7 +37,7 @@ QFile file(QDir::homePath() + QLatin1String("/.local/share/dtvdaemon/lockfile")); if (!file.open(QIODevice::WriteOnly)) { - Log("main: cannot open") << file.fileName(); + qInfo() << "main: cannot open" << file.fileName(); return 1; } diff -Nru kaffeine-1.3.1+git20151128/.gitignore kaffeine-2.0.4+git20160916/.gitignore --- kaffeine-1.3.1+git20151128/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/.gitignore 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,19 @@ +*_automoc.cpp* +*.gmo +*.shell +*DependInfo.cmake +*CTestTestfile.cmake +*cmake_install.cmake +*cmake_uninstall.cmake +*ecm_uninstall.cmake +CMakeCache.txt +CMakeFiles/ +CMakeTmp/ +config-kaffeine.h +dtvdaemon/dtvdaemon +i18n/ +install/ +Makefile +moc*.cpp +po/ +src/kaffeine diff -Nru kaffeine-1.3.1+git20151128/icons/CMakeLists.txt kaffeine-2.0.4+git20160916/icons/CMakeLists.txt --- kaffeine-1.3.1+git20151128/icons/CMakeLists.txt 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/CMakeLists.txt 2016-09-17 17:18:56.000000000 +0000 @@ -1,5 +1,61 @@ -# All icons are copied & hacked from oxygen -# Copyright 2007 The Oxygen Team -# Creative Common Attribution-ShareAlike 3.0 or LGPL2+ (+ clarification) +# Auto-generated by ../tools/update_icons.sh +# +# Breeze Icons are developed by The KDE Visual Design Group. +# All icons are licensed under LGPL3+ -kde4_install_icons(${ICON_INSTALL_DIR}) +ecm_install_icons(ICONS + # This icon is a merge of Breeze audio-mp4.svg with lock.svg + sc-actions-audio-radio-encrypted.svg + # This icon is a merge of Breeze sc-devices-video-television.svg with lock.svg + sc-actions-video-television-encrypted.svg + + # Those icons are copied as-is from Breeze theme + + sc-actions-arrow-left.svg + sc-actions-arrow-right.svg + sc-actions-configure.svg + sc-actions-dialog-cancel.svg + sc-actions-dialog-ok-apply.svg + sc-actions-document-open-folder.svg + sc-actions-document-save.svg + sc-actions-edit-clear-list.svg + sc-actions-edit-delete.svg + sc-actions-edit-find.svg + sc-actions-edit-rename.svg + sc-actions-edit-undo.svg + sc-actions-format-justify-center.svg + sc-actions-go-jump.svg + sc-actions-list-add.svg + sc-actions-media-playback-pause.svg + sc-actions-media-playback-start.svg + sc-actions-media-playback-stop.svg + sc-actions-media-record.svg + sc-actions-media-skip-backward.svg + sc-actions-media-skip-forward.svg + sc-actions-page-zoom.svg + sc-actions-player-time.svg + sc-actions-text-speak.svg + sc-actions-view-fullscreen.svg + sc-actions-view-list-details.svg + sc-actions-view-media-playlist.svg + sc-actions-view-pim-calendar.svg + sc-actions-view-refresh.svg + sc-actions-view-restore.svg + sc-apps-kaffeine.svg + sc-devices-audio-card.svg + sc-devices-media-optical-audio.svg + sc-devices-media-optical.svg + sc-devices-media-optical-video.svg + sc-devices-video-television.svg + sc-mimetypes-application-x-subrip.svg + sc-mimetypes-text-html.svg + sc-mimetypes-video-x-generic.svg + sc-places-start-here-kde.svg + sc-status-audio-volume-high.svg + sc-status-audio-volume-low.svg + sc-status-audio-volume-medium.svg + sc-status-audio-volume-muted.svg + sc-status-dialog-error.svg + sc-status-dialog-information.svg + DESTINATION ${ICON_INSTALL_DIR} +) Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/hi128-apps-kaffeine.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/hi128-apps-kaffeine.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/hi16-apps-kaffeine.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/hi16-apps-kaffeine.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/hi22-apps-kaffeine.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/hi22-apps-kaffeine.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/hi32-apps-kaffeine.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/hi32-apps-kaffeine.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/hi48-apps-kaffeine.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/hi48-apps-kaffeine.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/hi64-apps-kaffeine.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/hi64-apps-kaffeine.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/hisc-apps-kaffeine.svgz and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/hisc-apps-kaffeine.svgz differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/ox16-actions-audio-radio-encrypted.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/ox16-actions-audio-radio-encrypted.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/ox16-actions-video-television-encrypted.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/ox16-actions-video-television-encrypted.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/ox22-actions-audio-radio-encrypted.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/ox22-actions-audio-radio-encrypted.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/ox22-actions-video-television-encrypted.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/ox22-actions-video-television-encrypted.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/ox32-actions-audio-radio-encrypted.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/ox32-actions-audio-radio-encrypted.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/ox32-actions-video-television-encrypted.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/ox32-actions-video-television-encrypted.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/ox48-actions-audio-radio-encrypted.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/ox48-actions-audio-radio-encrypted.png differ Binary files /tmp/tmpZji2O2/isdcAAeybh/kaffeine-1.3.1+git20151128/icons/ox48-actions-video-television-encrypted.png and /tmp/tmpZji2O2/HoWtYyPFnW/kaffeine-2.0.4+git20160916/icons/ox48-actions-video-television-encrypted.png differ diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-arrow-left.svg kaffeine-2.0.4+git20160916/icons/sc-actions-arrow-left.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-arrow-left.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-arrow-left.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-arrow-right.svg kaffeine-2.0.4+git20160916/icons/sc-actions-arrow-right.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-arrow-right.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-arrow-right.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-audio-radio-encrypted.svg kaffeine-2.0.4+git20160916/icons/sc-actions-audio-radio-encrypted.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-audio-radio-encrypted.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-audio-radio-encrypted.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-configure.svg kaffeine-2.0.4+git20160916/icons/sc-actions-configure.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-configure.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-configure.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-dialog-cancel.svg kaffeine-2.0.4+git20160916/icons/sc-actions-dialog-cancel.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-dialog-cancel.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-dialog-cancel.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-dialog-ok-apply.svg kaffeine-2.0.4+git20160916/icons/sc-actions-dialog-ok-apply.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-dialog-ok-apply.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-dialog-ok-apply.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-document-open-folder.svg kaffeine-2.0.4+git20160916/icons/sc-actions-document-open-folder.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-document-open-folder.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-document-open-folder.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-document-save.svg kaffeine-2.0.4+git20160916/icons/sc-actions-document-save.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-document-save.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-document-save.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-edit-clear-list.svg kaffeine-2.0.4+git20160916/icons/sc-actions-edit-clear-list.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-edit-clear-list.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-edit-clear-list.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-edit-delete.svg kaffeine-2.0.4+git20160916/icons/sc-actions-edit-delete.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-edit-delete.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-edit-delete.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,14 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-edit-find.svg kaffeine-2.0.4+git20160916/icons/sc-actions-edit-find.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-edit-find.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-edit-find.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-edit-rename.svg kaffeine-2.0.4+git20160916/icons/sc-actions-edit-rename.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-edit-rename.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-edit-rename.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-edit-undo.svg kaffeine-2.0.4+git20160916/icons/sc-actions-edit-undo.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-edit-undo.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-edit-undo.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-format-justify-center.svg kaffeine-2.0.4+git20160916/icons/sc-actions-format-justify-center.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-format-justify-center.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-format-justify-center.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-go-jump.svg kaffeine-2.0.4+git20160916/icons/sc-actions-go-jump.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-go-jump.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-go-jump.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-list-add.svg kaffeine-2.0.4+git20160916/icons/sc-actions-list-add.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-list-add.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-list-add.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-media-playback-pause.svg kaffeine-2.0.4+git20160916/icons/sc-actions-media-playback-pause.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-media-playback-pause.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-media-playback-pause.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-media-playback-start.svg kaffeine-2.0.4+git20160916/icons/sc-actions-media-playback-start.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-media-playback-start.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-media-playback-start.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-media-playback-stop.svg kaffeine-2.0.4+git20160916/icons/sc-actions-media-playback-stop.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-media-playback-stop.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-media-playback-stop.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-media-record.svg kaffeine-2.0.4+git20160916/icons/sc-actions-media-record.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-media-record.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-media-record.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,16 @@ + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-media-skip-backward.svg kaffeine-2.0.4+git20160916/icons/sc-actions-media-skip-backward.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-media-skip-backward.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-media-skip-backward.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-media-skip-forward.svg kaffeine-2.0.4+git20160916/icons/sc-actions-media-skip-forward.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-media-skip-forward.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-media-skip-forward.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-page-zoom.svg kaffeine-2.0.4+git20160916/icons/sc-actions-page-zoom.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-page-zoom.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-page-zoom.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-player-time.svg kaffeine-2.0.4+git20160916/icons/sc-actions-player-time.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-player-time.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-player-time.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-text-speak.svg kaffeine-2.0.4+git20160916/icons/sc-actions-text-speak.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-text-speak.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-text-speak.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-video-television-encrypted.svg kaffeine-2.0.4+git20160916/icons/sc-actions-video-television-encrypted.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-video-television-encrypted.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-video-television-encrypted.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-view-fullscreen.svg kaffeine-2.0.4+git20160916/icons/sc-actions-view-fullscreen.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-view-fullscreen.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-view-fullscreen.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-view-list-details.svg kaffeine-2.0.4+git20160916/icons/sc-actions-view-list-details.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-view-list-details.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-view-list-details.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-view-media-playlist.svg kaffeine-2.0.4+git20160916/icons/sc-actions-view-media-playlist.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-view-media-playlist.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-view-media-playlist.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-view-pim-calendar.svg kaffeine-2.0.4+git20160916/icons/sc-actions-view-pim-calendar.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-view-pim-calendar.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-view-pim-calendar.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-view-refresh.svg kaffeine-2.0.4+git20160916/icons/sc-actions-view-refresh.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-view-refresh.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-view-refresh.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-actions-view-restore.svg kaffeine-2.0.4+git20160916/icons/sc-actions-view-restore.svg --- kaffeine-1.3.1+git20151128/icons/sc-actions-view-restore.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-actions-view-restore.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-apps-kaffeine.svg kaffeine-2.0.4+git20160916/icons/sc-apps-kaffeine.svg --- kaffeine-1.3.1+git20151128/icons/sc-apps-kaffeine.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-apps-kaffeine.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-devices-audio-card.svg kaffeine-2.0.4+git20160916/icons/sc-devices-audio-card.svg --- kaffeine-1.3.1+git20151128/icons/sc-devices-audio-card.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-devices-audio-card.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-devices-media-optical-audio.svg kaffeine-2.0.4+git20160916/icons/sc-devices-media-optical-audio.svg --- kaffeine-1.3.1+git20151128/icons/sc-devices-media-optical-audio.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-devices-media-optical-audio.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,14 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-devices-media-optical.svg kaffeine-2.0.4+git20160916/icons/sc-devices-media-optical.svg --- kaffeine-1.3.1+git20151128/icons/sc-devices-media-optical.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-devices-media-optical.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,14 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-devices-media-optical-video.svg kaffeine-2.0.4+git20160916/icons/sc-devices-media-optical-video.svg --- kaffeine-1.3.1+git20151128/icons/sc-devices-media-optical-video.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-devices-media-optical-video.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-devices-video-television.svg kaffeine-2.0.4+git20160916/icons/sc-devices-video-television.svg --- kaffeine-1.3.1+git20151128/icons/sc-devices-video-television.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-devices-video-television.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-mimetypes-application-x-subrip.svg kaffeine-2.0.4+git20160916/icons/sc-mimetypes-application-x-subrip.svg --- kaffeine-1.3.1+git20151128/icons/sc-mimetypes-application-x-subrip.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-mimetypes-application-x-subrip.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,8 @@ + + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-mimetypes-text-html.svg kaffeine-2.0.4+git20160916/icons/sc-mimetypes-text-html.svg --- kaffeine-1.3.1+git20151128/icons/sc-mimetypes-text-html.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-mimetypes-text-html.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,11 @@ + + + + + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-mimetypes-video-x-generic.svg kaffeine-2.0.4+git20160916/icons/sc-mimetypes-video-x-generic.svg --- kaffeine-1.3.1+git20151128/icons/sc-mimetypes-video-x-generic.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-mimetypes-video-x-generic.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,8 @@ + + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-places-start-here-kde.svg kaffeine-2.0.4+git20160916/icons/sc-places-start-here-kde.svg --- kaffeine-1.3.1+git20151128/icons/sc-places-start-here-kde.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-places-start-here-kde.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,14 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-status-audio-volume-high.svg kaffeine-2.0.4+git20160916/icons/sc-status-audio-volume-high.svg --- kaffeine-1.3.1+git20151128/icons/sc-status-audio-volume-high.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-status-audio-volume-high.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,13 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-status-audio-volume-low.svg kaffeine-2.0.4+git20160916/icons/sc-status-audio-volume-low.svg --- kaffeine-1.3.1+git20151128/icons/sc-status-audio-volume-low.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-status-audio-volume-low.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,19 @@ + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-status-audio-volume-medium.svg kaffeine-2.0.4+git20160916/icons/sc-status-audio-volume-medium.svg --- kaffeine-1.3.1+git20151128/icons/sc-status-audio-volume-medium.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-status-audio-volume-medium.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,19 @@ + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-status-audio-volume-muted.svg kaffeine-2.0.4+git20160916/icons/sc-status-audio-volume-muted.svg --- kaffeine-1.3.1+git20151128/icons/sc-status-audio-volume-muted.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-status-audio-volume-muted.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,24 @@ + + + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-status-dialog-error.svg kaffeine-2.0.4+git20160916/icons/sc-status-dialog-error.svg --- kaffeine-1.3.1+git20151128/icons/sc-status-dialog-error.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-status-dialog-error.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru kaffeine-1.3.1+git20151128/icons/sc-status-dialog-information.svg kaffeine-2.0.4+git20160916/icons/sc-status-dialog-information.svg --- kaffeine-1.3.1+git20151128/icons/sc-status-dialog-information.svg 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/icons/sc-status-dialog-information.svg 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,14 @@ + + + + + + diff -Nru kaffeine-1.3.1+git20151128/include/dmx.h kaffeine-2.0.4+git20160916/include/dmx.h --- kaffeine-1.3.1+git20151128/include/dmx.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/include/dmx.h 2016-09-17 17:18:56.000000000 +0000 @@ -30,7 +30,7 @@ #define DMX_FILTER_SIZE 16 -typedef enum +enum dmx_output { DMX_OUT_DECODER, /* Streaming directly to decoder. */ DMX_OUT_TAP, /* Output going to a memory buffer */ @@ -39,17 +39,18 @@ /* (to be retrieved by reading from the */ /* logical DVR device). */ DMX_OUT_TSDEMUX_TAP /* Like TS_TAP but retrieved from the DMX device */ -} dmx_output_t; +}; +typedef enum dmx_output dmx_output_t; -typedef enum +typedef enum dmx_input { DMX_IN_FRONTEND, /* Input from a front-end device. */ DMX_IN_DVR /* Input from the logical DVR device. */ } dmx_input_t; -typedef enum +typedef enum dmx_ts_pes { DMX_PES_AUDIO0, DMX_PES_VIDEO0, @@ -120,7 +121,7 @@ int num_decoders; } dmx_caps_t; -typedef enum { +typedef enum dmx_source { DMX_SOURCE_FRONT0 = 0, DMX_SOURCE_FRONT1, DMX_SOURCE_FRONT2, @@ -137,7 +138,6 @@ __u64 stc; /* output: stc in 'base'*90 kHz units */ }; - #define DMX_START _IO('o', 41) #define DMX_STOP _IO('o', 42) #define DMX_SET_FILTER _IOW('o', 43, struct dmx_sct_filter_params) diff -Nru kaffeine-1.3.1+git20151128/include/frontend.h kaffeine-2.0.4+git20160916/include/frontend.h --- kaffeine-1.3.1+git20151128/include/frontend.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/include/frontend.h 2016-09-17 17:18:56.000000000 +0000 @@ -28,15 +28,14 @@ #include -typedef enum fe_type { +enum fe_type { FE_QPSK, FE_QAM, FE_OFDM, FE_ATSC -} fe_type_t; - +}; -typedef enum fe_caps { +enum fe_caps { FE_IS_STUPID = 0, FE_CAN_INVERSION_AUTO = 0x1, FE_CAN_FEC_1_2 = 0x2, @@ -68,12 +67,11 @@ FE_NEEDS_BENDING = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */ FE_CAN_RECOVER = 0x40000000, /* frontend can recover from a cable unplug automatically */ FE_CAN_MUTE_TS = 0x80000000 /* frontend can stop spurious TS data output */ -} fe_caps_t; - +}; struct dvb_frontend_info { char name[128]; - fe_type_t type; /* DEPRECATED. Use DTV_ENUM_DELSYS instead */ + enum fe_type type; /* DEPRECATED. Use DTV_ENUM_DELSYS instead */ __u32 frequency_min; __u32 frequency_max; __u32 frequency_stepsize; @@ -82,7 +80,7 @@ __u32 symbol_rate_max; __u32 symbol_rate_tolerance; /* ppm */ __u32 notifier_delay; /* DEPRECATED */ - fe_caps_t caps; + enum fe_caps caps; }; @@ -95,32 +93,27 @@ __u8 msg_len; /* valid values are 3...6 */ }; - struct dvb_diseqc_slave_reply { __u8 msg [4]; /* { framing, data [3] } */ __u8 msg_len; /* valid values are 0...4, 0 means no msg */ int timeout; /* return from ioctl after timeout ms with */ }; /* errorcode when no message was received */ - -typedef enum fe_sec_voltage { +enum fe_sec_voltage { SEC_VOLTAGE_13, SEC_VOLTAGE_18, SEC_VOLTAGE_OFF -} fe_sec_voltage_t; - +}; -typedef enum fe_sec_tone_mode { +enum fe_sec_tone_mode { SEC_TONE_ON, SEC_TONE_OFF -} fe_sec_tone_mode_t; - +}; -typedef enum fe_sec_mini_cmd { +enum fe_sec_mini_cmd { SEC_MINI_A, SEC_MINI_B -} fe_sec_mini_cmd_t; - +}; /** * enum fe_status - enumerates the possible frontend status @@ -133,8 +126,7 @@ * @FE_REINIT: frontend was reinitialized, application is recommended * to reset DiSEqC, tone and parameters */ - -typedef enum fe_status { +enum fe_status { FE_HAS_SIGNAL = 0x01, FE_HAS_CARRIER = 0x02, FE_HAS_VITERBI = 0x04, @@ -142,16 +134,15 @@ FE_HAS_LOCK = 0x10, FE_TIMEDOUT = 0x20, FE_REINIT = 0x40 -} fe_status_t; +}; -typedef enum fe_spectral_inversion { +enum fe_spectral_inversion { INVERSION_OFF, INVERSION_ON, INVERSION_AUTO -} fe_spectral_inversion_t; - +}; -typedef enum fe_code_rate { +enum fe_code_rate { FEC_NONE = 0, FEC_1_2, FEC_2_3, @@ -165,10 +156,9 @@ FEC_3_5, FEC_9_10, FEC_2_5 -} fe_code_rate_t; - +}; -typedef enum fe_modulation { +enum fe_modulation { QPSK, QAM_16, QAM_32, @@ -183,9 +173,9 @@ APSK_32, DQPSK, QAM_4_NR -} fe_modulation_t; +}; -typedef enum fe_transmit_mode { +enum fe_transmit_mode { TRANSMISSION_MODE_2K, TRANSMISSION_MODE_8K, TRANSMISSION_MODE_AUTO, @@ -195,19 +185,9 @@ TRANSMISSION_MODE_32K, TRANSMISSION_MODE_C1, TRANSMISSION_MODE_C3780 -} fe_transmit_mode_t; - -typedef enum fe_bandwidth { - BANDWIDTH_8_MHZ, - BANDWIDTH_7_MHZ, - BANDWIDTH_6_MHZ, - BANDWIDTH_AUTO, - BANDWIDTH_5_MHZ, - BANDWIDTH_10_MHZ, - BANDWIDTH_1_712_MHZ -} fe_bandwidth_t; +}; -typedef enum fe_guard_interval { +enum fe_guard_interval { GUARD_INTERVAL_1_32, GUARD_INTERVAL_1_16, GUARD_INTERVAL_1_8, @@ -219,16 +199,15 @@ GUARD_INTERVAL_PN420, GUARD_INTERVAL_PN595, GUARD_INTERVAL_PN945 -} fe_guard_interval_t; - +}; -typedef enum fe_hierarchy { +enum fe_hierarchy { HIERARCHY_NONE, HIERARCHY_1, HIERARCHY_2, HIERARCHY_4, HIERARCHY_AUTO -} fe_hierarchy_t; +}; enum fe_interleaving { INTERLEAVING_NONE, @@ -237,49 +216,6 @@ INTERLEAVING_720 }; -struct dvb_qpsk_parameters { - __u32 symbol_rate; /* symbol rate in Symbols per second */ - fe_code_rate_t fec_inner; /* forward error correction (see above) */ -}; - -struct dvb_qam_parameters { - __u32 symbol_rate; /* symbol rate in Symbols per second */ - fe_code_rate_t fec_inner; /* forward error correction (see above) */ - fe_modulation_t modulation; /* modulation type (see above) */ -}; - -struct dvb_vsb_parameters { - fe_modulation_t modulation; /* modulation type (see above) */ -}; - -struct dvb_ofdm_parameters { - fe_bandwidth_t bandwidth; - fe_code_rate_t code_rate_HP; /* high priority stream code rate */ - fe_code_rate_t code_rate_LP; /* low priority stream code rate */ - fe_modulation_t constellation; /* modulation type (see above) */ - fe_transmit_mode_t transmission_mode; - fe_guard_interval_t guard_interval; - fe_hierarchy_t hierarchy_information; -}; - - -struct dvb_frontend_parameters { - __u32 frequency; /* (absolute) frequency in Hz for QAM/OFDM/ATSC */ - /* intermediate frequency in kHz for QPSK */ - fe_spectral_inversion_t inversion; - union { - struct dvb_qpsk_parameters qpsk; - struct dvb_qam_parameters qam; - struct dvb_ofdm_parameters ofdm; - struct dvb_vsb_parameters vsb; - } u; -}; - -struct dvb_frontend_event { - fe_status_t status; - struct dvb_frontend_parameters parameters; -}; - /* S2API Commands */ #define DTV_UNDEFINED 0 #define DTV_TUNE 1 @@ -373,20 +309,20 @@ #define DTV_MAX_COMMAND DTV_STAT_TOTAL_BLOCK_COUNT -typedef enum fe_pilot { +enum fe_pilot { PILOT_ON, PILOT_OFF, PILOT_AUTO -} fe_pilot_t; +}; -typedef enum fe_rolloff { +enum fe_rolloff { ROLLOFF_35, /* Implied value in DVB-S, default for DVB-S2 */ ROLLOFF_20, ROLLOFF_25, ROLLOFF_AUTO -} fe_rolloff_t; +}; -typedef enum fe_delivery_system { +enum fe_delivery_system { SYS_UNDEFINED, SYS_DVBC_ANNEX_A, SYS_DVBC_ANNEX_B, @@ -406,7 +342,7 @@ SYS_DVBT2, SYS_TURBO, SYS_DVBC_ANNEX_C -} fe_delivery_system_t; +}; /* backward compatibility */ #define SYS_DVBC_ANNEX_AC SYS_DVBC_ANNEX_A @@ -463,7 +399,7 @@ * @FE_SCALE_NOT_AVAILABLE: That QoS measure is not available. That * could indicate a temporary or a permanent * condition. - * @FE_SCALE_DECIBEL: The scale is measured in 0.0001 dB steps, typically + * @FE_SCALE_DECIBEL: The scale is measured in 0.001 dB steps, typically * used on signal measures. * @FE_SCALE_RELATIVE: The scale is a relative percentual measure, * ranging from 0 (0%) to 0xffff (100%). @@ -499,20 +435,20 @@ * * In other words, for ISDB, those values should be filled like: * u.st.stat.svalue[0] = global statistics; - * u.st.stat.scale[0] = FE_SCALE_DECIBELS; + * u.st.stat.scale[0] = FE_SCALE_DECIBEL; * u.st.stat.value[1] = layer A statistics; * u.st.stat.scale[1] = FE_SCALE_NOT_AVAILABLE (if not available); * u.st.stat.svalue[2] = layer B statistics; - * u.st.stat.scale[2] = FE_SCALE_DECIBELS; + * u.st.stat.scale[2] = FE_SCALE_DECIBEL; * u.st.stat.svalue[3] = layer C statistics; - * u.st.stat.scale[3] = FE_SCALE_DECIBELS; + * u.st.stat.scale[3] = FE_SCALE_DECIBEL; * u.st.len = 4; */ struct dtv_stats { __u8 scale; /* enum fecap_scale_params type */ union { __u64 uvalue; /* for counters and relative scales */ - __s64 svalue; /* for 0.0001 dB measures */ + __s64 svalue; /* for 0.001 dB measures */ }; } __attribute__ ((packed)); @@ -548,10 +484,86 @@ struct dtv_property *props; }; + +/* + * DEPRECATED: The DVBv3 ioctls, structs and enums should not be used on + * newer programs, as it doesn't support the second generation of digital + * TV standards, nor supports newer delivery systems. + */ + +enum fe_bandwidth { + BANDWIDTH_8_MHZ, + BANDWIDTH_7_MHZ, + BANDWIDTH_6_MHZ, + BANDWIDTH_AUTO, + BANDWIDTH_5_MHZ, + BANDWIDTH_10_MHZ, + BANDWIDTH_1_712_MHZ +}; + +/* This is needed for legacy userspace support */ +typedef enum fe_sec_voltage fe_sec_voltage_t; +typedef enum fe_caps fe_caps_t; +typedef enum fe_type fe_type_t; +typedef enum fe_sec_tone_mode fe_sec_tone_mode_t; +typedef enum fe_sec_mini_cmd fe_sec_mini_cmd_t; +typedef enum fe_status fe_status_t; +typedef enum fe_spectral_inversion fe_spectral_inversion_t; +typedef enum fe_code_rate fe_code_rate_t; +typedef enum fe_modulation fe_modulation_t; +typedef enum fe_transmit_mode fe_transmit_mode_t; +typedef enum fe_bandwidth fe_bandwidth_t; +typedef enum fe_guard_interval fe_guard_interval_t; +typedef enum fe_hierarchy fe_hierarchy_t; +typedef enum fe_pilot fe_pilot_t; +typedef enum fe_rolloff fe_rolloff_t; +typedef enum fe_delivery_system fe_delivery_system_t; + +struct dvb_qpsk_parameters { + __u32 symbol_rate; /* symbol rate in Symbols per second */ + fe_code_rate_t fec_inner; /* forward error correction (see above) */ +}; + +struct dvb_qam_parameters { + __u32 symbol_rate; /* symbol rate in Symbols per second */ + fe_code_rate_t fec_inner; /* forward error correction (see above) */ + fe_modulation_t modulation; /* modulation type (see above) */ +}; + +struct dvb_vsb_parameters { + fe_modulation_t modulation; /* modulation type (see above) */ +}; + +struct dvb_ofdm_parameters { + fe_bandwidth_t bandwidth; + fe_code_rate_t code_rate_HP; /* high priority stream code rate */ + fe_code_rate_t code_rate_LP; /* low priority stream code rate */ + fe_modulation_t constellation; /* modulation type (see above) */ + fe_transmit_mode_t transmission_mode; + fe_guard_interval_t guard_interval; + fe_hierarchy_t hierarchy_information; +}; + +struct dvb_frontend_parameters { + __u32 frequency; /* (absolute) frequency in Hz for DVB-C/DVB-T/ATSC */ + /* intermediate frequency in kHz for DVB-S */ + fe_spectral_inversion_t inversion; + union { + struct dvb_qpsk_parameters qpsk; /* DVB-S */ + struct dvb_qam_parameters qam; /* DVB-C */ + struct dvb_ofdm_parameters ofdm; /* DVB-T */ + struct dvb_vsb_parameters vsb; /* ATSC */ + } u; +}; + +struct dvb_frontend_event { + fe_status_t status; + struct dvb_frontend_parameters parameters; +}; + #define FE_SET_PROPERTY _IOW('o', 82, struct dtv_properties) #define FE_GET_PROPERTY _IOR('o', 83, struct dtv_properties) - /** * When set, this flag will disable any zigzagging or other "normal" tuning * behaviour. Additionally, there will be no automatic monitoring of the lock @@ -561,7 +573,6 @@ */ #define FE_TUNE_MODE_ONESHOT 0x01 - #define FE_GET_INFO _IOR('o', 61, struct dvb_frontend_info) #define FE_DISEQC_RESET_OVERLOAD _IO('o', 62) diff -Nru kaffeine-1.3.1+git20151128/README kaffeine-2.0.4+git20160916/README --- kaffeine-1.3.1+git20151128/README 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -------------------- -Installing Kaffeine -------------------- - -The following development headers are needed (recommended versions): -* Qt >= 4.6 -* KDE >= 4.4 -* libX11 -* libXss - -If build fails for missing VLC directories, install libvlc-dev. - -For the translations you need: -* gettext - -Create an empty build directory and do the following steps: -# cmake -# make -# make install - -Useful options include: -* -DCMAKE_BUILD_TYPE= (Debug or Release) -* -DCMAKE_INSTALL_PREFIX= (installation prefix for Kaffeine, e.g. /usr) - -For further information look for generic KDE4 / cmake instructions. - --------- -Homepage --------- - -http://kaffeine.kde.org - -------- -Authors -------- - -Maintainer: - Lasse Lindqvist - -Former maintainers: - Christoph Pfister - Christophe Thommeret - Jürgen Kofler - -Thanks to various contributors, translators, testers ... diff -Nru kaffeine-1.3.1+git20151128/README.md kaffeine-2.0.4+git20160916/README.md --- kaffeine-1.3.1+git20151128/README.md 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/README.md 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,221 @@ +Installing Kaffeine +=================== + +Prerequisites +------------- + +The following tools are needed to build Kaffeine: + +* GNU c++ +* GNU make +* cmake >= 2.8 +* cmake ECM (extra-cmake-modules) + +The following development headers are needed (recommended versions): + +* Qt >= 5.4 +* KF5 >= 5.11 +* libX11 +* libXss +* libqt-sql-sqlite +* libvlc +* libdvbv5 + +If you also want language translations you also need: + +* gettext + +If you also want the Kaffeine Handbook, you also need: + +* KF5DocTools + +Debian and Ubuntu +----------------- + +The needed packages for Debian/Ubuntu should be installed with: + + apt-get install kdelibs5-dev libvlc-dev libxss-dev vlc \ + libkf5coreaddons-dev libkf5i18n-dev libqt5x11extras5-dev \ + libkf5solid-dev libkf5widgetsaddons-dev kio-dev \ + qt5-default libdvbv5-dev \ + cmake extra-cmake-modules make g++ gettext + +And, to build the optional Kaffeine Handbook documentation: + + apt-get install kdoctools-dev + +PS.: The above was tested with Debian SID and Ubuntu Xenial (16.04). + Other versions may have different requirements. + +Fedora +------ + +On Fedora, you need a repository that provides VLC. + +For stable fedora releases, you could use the rpmfusion repository. +See for instructions about how +to set it up. + +For Fedora rawhide and beta releases, you could use, instead the +Unitedrpms repository: . Please read +at +for instructions about how to set up. + +Once the repository with VLC is set, install the needed packages +with: + + dnf install kf5-kcoreaddons-devel extra-cmake-modules libXScrnSaver-devel \ + qt5-qtx11extras-devel \ + kf5-solid-devel kf5-kio-devel \ + kf5-kdbusaddons-devel kf5-ki18n-devel vlc-devel gettext-devel + +And, to build the Kaffeine Handbook documentation: + + dnf install kf5-kdoctools-devel + +PS.: The above was tested with Fedora 23 and Fedora 24. +Other versions may have different requirements. + +openSUSE +-------- + +If you run openSUSE Tumbleweed, you can find an up-to-date package with the +latest state of git in the KDE:Unstable:Extra repository. + + zypper ar obs://KDE:Unstable:Extra KDE_Unstable_Extra # add repository + zypper in -r KDE_Unstable_Extra kaffeine + +If you are using openSUSE Leap or openSUSE 13.2, you will need to compile from +sources instead. You need to be using at least OpenSUSE version 13.2, in order to have +KF5 and Qt 5.5 at their repositories. + +The first step is to install the needed dependencies: + + zypper install extra-cmake-modules vlc-devel make gcc gcc-g++ cmake \ + libqt5-qtbase-devel libqt5-qtx11extras-devel \ + kdbusaddons-devel solid-devel kio-devel ki18n-devel + +If you're running OpenSUSE version 13.2, you'll need to compile the +libdvbv5 by hand, as it is not provided there. OpenSUSE Leap +(version 42.1) seem to have it already packaged as libdvbv5-devel. + +Before compiling libdvbv5, some packages are needed: + + zypper install autoconf automake libjpeg-devel + +Compiling libdvbv5 (as normal user): + + wget https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.10.0.tar.bz2 + tar xvf v4l-utils-1.10.0.tar.bz2 + cd v4l-utils + ./bootstrap.sh && ./configure && make + +Installing the library (as root): + + make install + +And, to build the optional Kaffeine Handbook documentation: + + zypper install kdoctools-devel + +PS.: The above was tested with openSUSE 13.2. + Other versions may have different requirements. + +Gentoo +------ + +Kaffeine is already packaged on Gentoo. Installing it is as +simple as: + + emerge kaffeine + +Arch Linux +---------- + +Kaffeine is already packaged on Arch Linux. Installing it is as +simple as: + + pacman -S kaffeine + +Installing translations +----------------------- + +This step is optional, and should be done only if you want to +use Kaffeine on non-English setups. + +The Kaffeine tarballs should already have the translations on it, +but, if you're installing from the git tree, you'll need to run a +script to get them: + (cd .. && kaffeine/tools/update_l10n.sh) + +How to build Kaffeine +===================== + +Create an empty build directory and do the following steps: + + # cmake + # make + # make install + +Useful options include: + +* -DCMAKE_BUILD_TYPE= (Debug or Release) +* -DCMAKE_INSTALL_PREFIX= (installation prefix for Kaffeine, e.g. /usr) +* -DBUILD_TOOLS=1 (also compile some tools needed by developers) + +For further information look for generic KF5 / cmake instructions. + +Remote Access and Kaffeine +========================== + +Accessing Kaffeine remotely via X11/ssh/vnc can be a problem, as Qt5 will, +by default, use hardware acceleration and DRI3. + +There is a known bug, present on Fedora 23/24, and likely on other distros, +at mesa-libGL/dri-drivers that cause it to wait forever when it is started +from a X11 section. Such bug causes Kaffeine windows to not open: + +* + +A workaround is to start Kaffeine with: + + LIBGL_DRI3_DISABLE=1 kaffeine + +Another solution is to use a vnc server. + +Still, libVLC will try to use hardware acceleration on the machine with +Kaffeine, with obviously with won't work via the X11 protocol. For such +scenarios, you may try to change the arguments passed to libVLC via the +"Settings" --> "Configure Kaffeine" --> "libVLC", changing the libVLC +arguments to: + + --no-video-title-show -V xcb_glx +or: + + --no-video-title-show -V xcb_xv + +and re-start Kaffeine. + +Homepage +======== + + + +Authors +======= + +KF5 port maintainer: + +* Mauro Carvalho Chehab or + +Maintainer: + +* Lasse Lindqvist + +Former maintainers: + +* Christoph Pfister +* Christophe Thommeret +* Jürgen Kofler + +Thanks to various contributors, translators, testers ... diff -Nru kaffeine-1.3.1+git20151128/src/abstractmediawidget.cpp kaffeine-2.0.4+git20160916/src/abstractmediawidget.cpp --- kaffeine-1.3.1+git20151128/src/abstractmediawidget.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/abstractmediawidget.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,10 +18,10 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "abstractmediawidget.h" - #include +#include "abstractmediawidget.h" + AbstractMediaWidget::AbstractMediaWidget(QWidget *parent) : QWidget(parent), mediaWidget(NULL) { playbackStatus = MediaWidget::Idle; @@ -39,10 +39,6 @@ dvdMenu = false; } -AbstractMediaWidget::~AbstractMediaWidget() -{ -} - void AbstractMediaWidget::connectToMediaWidget(MediaWidget *mediaWidget_) { mediaWidget = mediaWidget_; @@ -86,8 +82,8 @@ mediaWidget->playbackFinished(); break; case PlaybackStatus: - updatePlaybackStatus(); - mediaWidget->playbackStatusChanged(); + if (updatePlaybackStatus()) + mediaWidget->playbackStatusChanged(); break; case CurrentTotalTime: updateCurrentTotalTime(); @@ -136,138 +132,3 @@ } } } - -DummyMediaWidget::DummyMediaWidget(QWidget *parent) : AbstractMediaWidget(parent) -{ -} - -DummyMediaWidget::~DummyMediaWidget() -{ -} - -void DummyMediaWidget::setMuted(bool muted) -{ - Q_UNUSED(muted) -} - -void DummyMediaWidget::setVolume(int volume) -{ - Q_UNUSED(volume) -} - -void DummyMediaWidget::setAspectRatio(MediaWidget::AspectRatio aspectRatio) -{ - Q_UNUSED(aspectRatio) -} - -void DummyMediaWidget::setDeinterlacing(bool deinterlacing) -{ - Q_UNUSED(deinterlacing) -} - -void DummyMediaWidget::play(const MediaSource &source) -{ - Q_UNUSED(source) -} - -void DummyMediaWidget::stop() -{ -} - -void DummyMediaWidget::setPaused(bool paused) -{ - Q_UNUSED(paused) -} - -void DummyMediaWidget::seek(int time) -{ - Q_UNUSED(time) -} - -void DummyMediaWidget::setCurrentAudioStream(int currentAudioStream) -{ - Q_UNUSED(currentAudioStream) -} - -void DummyMediaWidget::setCurrentSubtitle(int currentSubtitle) -{ - Q_UNUSED(currentSubtitle) -} - -void DummyMediaWidget::setExternalSubtitle(const KUrl &subtitleUrl) -{ - Q_UNUSED(subtitleUrl) -} - -void DummyMediaWidget::setCurrentTitle(int currentTitle) -{ - Q_UNUSED(currentTitle) -} - -void DummyMediaWidget::setCurrentChapter(int currentChapter) -{ - Q_UNUSED(currentChapter) -} - -void DummyMediaWidget::setCurrentAngle(int currentAngle) -{ - Q_UNUSED(currentAngle) -} - -bool DummyMediaWidget::jumpToPreviousChapter() -{ - return false; -} - -bool DummyMediaWidget::jumpToNextChapter() -{ - return false; -} - -void DummyMediaWidget::showDvdMenu() -{ -} - -void DummyMediaWidget::updatePlaybackStatus() -{ -} - -void DummyMediaWidget::updateCurrentTotalTime() -{ -} - -void DummyMediaWidget::updateSeekable() -{ -} - -void DummyMediaWidget::updateMetadata() -{ -} - -void DummyMediaWidget::updateAudioStreams() -{ -} - -void DummyMediaWidget::updateSubtitles() -{ -} - -void DummyMediaWidget::updateTitles() -{ -} - -void DummyMediaWidget::updateChapters() -{ -} - -void DummyMediaWidget::updateAngles() -{ -} - -void DummyMediaWidget::updateDvdMenu() -{ -} - -void DummyMediaWidget::updateVideoSize() -{ -} diff -Nru kaffeine-1.3.1+git20151128/src/abstractmediawidget.h kaffeine-2.0.4+git20160916/src/abstractmediawidget.h --- kaffeine-1.3.1+git20151128/src/abstractmediawidget.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/abstractmediawidget.h 2016-09-17 17:18:56.000000000 +0000 @@ -21,13 +21,14 @@ #ifndef ABSTRACTMEDIAWIDGET_H #define ABSTRACTMEDIAWIDGET_H +#include #include "mediawidget.h" class AbstractMediaWidget : public QWidget { public: explicit AbstractMediaWidget(QWidget *parent); - virtual ~AbstractMediaWidget(); + virtual ~AbstractMediaWidget() {}; void connectToMediaWidget(MediaWidget *mediaWidget_); @@ -51,6 +52,8 @@ bool hasDvdMenu() const { return dvdMenu; } QSize getVideoSize() const { return videoSize; } + virtual QStringList getAudioDevices() = 0; + virtual void setAudioDevice(QString device) = 0; virtual void setMuted(bool muted) = 0; virtual void setVolume(int volume) = 0; // [0 - 200] virtual void setAspectRatio(MediaWidget::AspectRatio aspectRatio) = 0; @@ -61,7 +64,7 @@ virtual void seek(int time) = 0; // milliseconds virtual void setCurrentAudioStream(int currentAudioStream) = 0; virtual void setCurrentSubtitle(int currentSubtitle) = 0; - virtual void setExternalSubtitle(const KUrl &subtitleUrl) = 0; + virtual void setExternalSubtitle(const QUrl &subtitleUrl) = 0; virtual void setCurrentTitle(int currentTitle) = 0; virtual void setCurrentChapter(int currentChapter) = 0; virtual void setCurrentAngle(int currentAngle) = 0; @@ -90,7 +93,7 @@ protected: void addPendingUpdates(PendingUpdates pendingUpdatesToBeAdded); // thread-safe - virtual void updatePlaybackStatus() = 0; + virtual int updatePlaybackStatus() = 0; virtual void updateCurrentTotalTime() = 0; virtual void updateSeekable() = 0; virtual void updateMetadata() = 0; @@ -132,38 +135,41 @@ class DummyMediaWidget : public AbstractMediaWidget { public: - explicit DummyMediaWidget(QWidget *parent); - ~DummyMediaWidget(); + explicit DummyMediaWidget(QWidget *parent): AbstractMediaWidget(parent) {}; + ~DummyMediaWidget() {}; - void setMuted(bool muted); - void setVolume(int volume); // [0 - 200] - void setAspectRatio(MediaWidget::AspectRatio aspectRatio); - void setDeinterlacing(bool deinterlacing); - void play(const MediaSource &source); - void stop(); - void setPaused(bool paused); - void seek(int time); // milliseconds - void setCurrentAudioStream(int currentAudioStream); - void setCurrentSubtitle(int currentSubtitle); - void setExternalSubtitle(const KUrl &subtitleUrl); - void setCurrentTitle(int currentTitle); - void setCurrentChapter(int currentChapter); - void setCurrentAngle(int currentAngle); - bool jumpToPreviousChapter(); - bool jumpToNextChapter(); - void showDvdMenu(); - - void updatePlaybackStatus(); - void updateCurrentTotalTime(); - void updateSeekable(); - void updateMetadata(); - void updateAudioStreams(); - void updateSubtitles(); - void updateTitles(); - void updateChapters(); - void updateAngles(); - void updateDvdMenu(); - void updateVideoSize(); + QStringList getAudioDevices() { QStringList empty; return empty; }; + void setAudioDevice(QString) {}; + void setMuted(bool) {}; + void setVolume(int) {}; // [0 - 200] + void setAspectRatio(MediaWidget::AspectRatio) {}; + void setDeinterlacing(bool) {}; + void play(const MediaSource &) {}; + void stop() {}; + void setPaused(bool) {}; + void seek(int) {}; // milliseconds + void setCurrentAudioStream(int) {}; + void setCurrentSubtitle(int) {}; + void setExternalSubtitle(const QUrl &) {}; + void setCurrentTitle(int) {}; + void setCurrentChapter(int) {}; + void setCurrentAngle(int) {}; + bool jumpToPreviousChapter() { return false; }; + bool jumpToNextChapter() { return false; } + void showDvdMenu() {}; + + int updatePlaybackStatus() { return true; }; + void updateCurrentTotalTime() {}; + void updateSeekable() {}; + void updateMetadata() {}; + void updateAudioDevices() {}; + void updateAudioStreams() {}; + void updateSubtitles() {}; + void updateTitles() {}; + void updateChapters() {}; + void updateAngles() {}; + void updateDvdMenu() {}; + void updateVideoSize() {}; }; #endif /* ABSTRACTMEDIAWIDGET_H */ diff -Nru kaffeine-1.3.1+git20151128/src/backend-mplayer/mplayermediawidget.cpp kaffeine-2.0.4+git20160916/src/backend-mplayer/mplayermediawidget.cpp --- kaffeine-1.3.1+git20151128/src/backend-mplayer/mplayermediawidget.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/backend-mplayer/mplayermediawidget.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,10 +18,10 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "mplayermediawidget.h" - #include #include + +#include "mplayermediawidget.h" #include "mplayervideowidget.h" MPlayerMediaWidget::MPlayerMediaWidget(QWidget *parent) : AbstractMediaWidget(parent), @@ -189,7 +189,7 @@ "\npausing_keep_force get_property sub\n"); } -void MPlayerMediaWidget::setExternalSubtitle(const KUrl &subtitleUrl) +void MPlayerMediaWidget::setExternalSubtitle(const QUrl &subtitleUrl) { // FIXME Q_UNUSED(subtitleUrl) diff -Nru kaffeine-1.3.1+git20151128/src/backend-mplayer/mplayermediawidget.h kaffeine-2.0.4+git20160916/src/backend-mplayer/mplayermediawidget.h --- kaffeine-1.3.1+git20151128/src/backend-mplayer/mplayermediawidget.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/backend-mplayer/mplayermediawidget.h 2016-09-17 17:18:56.000000000 +0000 @@ -47,7 +47,7 @@ void seek(int time); // milliseconds void setCurrentAudioStream(int currentAudioStream); void setCurrentSubtitle(int currentSubtitle); - void setExternalSubtitle(const KUrl &subtitleUrl); + void setExternalSubtitle(const QUrl &subtitleUrl); void setCurrentTitle(int currentTitle); void setCurrentChapter(int currentChapter); void setCurrentAngle(int currentAngle); diff -Nru kaffeine-1.3.1+git20151128/src/backend-mplayer/mplayervideowidget.cpp kaffeine-2.0.4+git20160916/src/backend-mplayer/mplayervideowidget.cpp --- kaffeine-1.3.1+git20151128/src/backend-mplayer/mplayervideowidget.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/backend-mplayer/mplayervideowidget.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,10 +18,10 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "mplayervideowidget.h" - #include + #include "mplayermediawidget.h" +#include "mplayervideowidget.h" MPlayerVideoWidget::MPlayerVideoWidget(MPlayerMediaWidget *mediaWidget_) : QWidget(mediaWidget_), mediaWidget(mediaWidget_) diff -Nru kaffeine-1.3.1+git20151128/src/backend-vlc/vlcmediawidget.cpp kaffeine-2.0.4+git20160916/src/backend-vlc/vlcmediawidget.cpp --- kaffeine-1.3.1+git20151128/src/backend-vlc/vlcmediawidget.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/backend-vlc/vlcmediawidget.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,11 +18,22 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "vlcmediawidget.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include +#include #include +#include +#include #include -#include "../log.h" +#include + +#include "../configuration.h" +#include "vlcmediawidget.h" VlcMediaWidget::VlcMediaWidget(QWidget *parent) : AbstractMediaWidget(parent), vlcInstance(NULL), vlcMediaPlayer(NULL), playingDvd(false) @@ -31,18 +42,47 @@ bool VlcMediaWidget::init() { - const char *arguments[] = { "--no-video-title-show" }; - vlcInstance = libvlc_new(sizeof(arguments) / sizeof(arguments[0]), arguments); + QString args = Configuration::instance()->getLibVlcArguments(); + QStringList argList; + int argc = 0, size; + + argList = args.split(' ', QString::SkipEmptyParts); + size = argList.size(); + + const char *argv[size]; + + QByteArray str[size]; + for (int i = 0; i < size; i++) { + str[i] = argList.at(i).toUtf8(); + argv[argc++] = str[i]; + } + + vlcInstance = libvlc_new(argc, argv); + if (!vlcInstance) { + qWarning("libVLC: failed to use extra args: %s", qPrintable(args)); + argc = 0; + vlcInstance = libvlc_new(0, NULL); + if (vlcInstance) + qInfo("Using libVLC without arguments"); + } if (vlcInstance == NULL) { - Log("VlcMediaWidget::init: cannot create vlc instance") << QLatin1String(libvlc_errmsg()); + qFatal("Cannot create vlc instance %s", qPrintable(libvlc_errmsg())); return false; } + if (argc) { + QString log = "Using libVLC with args:"; + for (int i = 0; i < argc; i++) + log += " " + QLatin1String(argv[i]); + + qDebug("%s", qPrintable(log)); + } + vlcMediaPlayer = libvlc_media_player_new(vlcInstance); if (vlcMediaPlayer == NULL) { - Log("VlcMediaWidget::init: cannot create vlc media player") << QLatin1String(libvlc_errmsg()); + qFatal("Cannot create vlc media player %s", qPrintable(libvlc_errmsg())); return false; } @@ -50,18 +90,27 @@ libvlc_event_e eventTypes[] = { libvlc_MediaPlayerEncounteredError, libvlc_MediaPlayerEndReached, libvlc_MediaPlayerLengthChanged, libvlc_MediaPlayerSeekableChanged, libvlc_MediaPlayerStopped, +#if LIBVLC_VERSION_MAJOR > 2 + libvlc_MediaPlayerESAdded, libvlc_MediaPlayerESDeleted, +#endif libvlc_MediaPlayerTimeChanged }; for (uint i = 0; i < (sizeof(eventTypes) / sizeof(eventTypes[0])); ++i) { if (libvlc_event_attach(eventManager, eventTypes[i], vlcEventHandler, this) != 0) { - Log("VlcMediaWidget::init: cannot attach event handler") << eventTypes[i]; + qCritical("Cannot attach event handler %s", qPrintable(eventTypes[i])); return false; } } + timer = new QTimer(); + connect(timer, SIGNAL(timeout()), this, SLOT(hideMouse())); + libvlc_media_player_set_xwindow(vlcMediaPlayer, quint32(winId())); setAttribute(Qt::WA_NativeWindow); - setAttribute(Qt::WA_PaintOnScreen); + // This is broken on qt5: the kernel/qwidget.cpp tries to repaint + // on a wrong place, causing this warning: + // QWidget::paintEngine: Should no longer be called +// setAttribute(Qt::WA_PaintOnScreen); return true; } @@ -87,6 +136,43 @@ return vlcMediaWidget.take(); } +QStringList VlcMediaWidget::getAudioDevices() +{ + libvlc_audio_output_device_t *vlcAudioOutput, *i; + QStringList audioDevices; + + // Get audio device list + vlcAudioOutput = libvlc_audio_output_device_enum(vlcMediaPlayer); + if (!vlcAudioOutput) + return audioDevices; + + for (i = vlcAudioOutput; i != NULL; i = i->p_next) { + QString device = QString::fromUtf8(i->psz_description); + audioDevices.append(device); + } + libvlc_audio_output_device_list_release(vlcAudioOutput); + + return audioDevices; +} + +void VlcMediaWidget::setAudioDevice(QString device) +{ + libvlc_audio_output_device_t *vlcAudioOutput, *i; + vlcAudioOutput = libvlc_audio_output_device_enum(vlcMediaPlayer); + + if (!vlcAudioOutput) + return; + + for (i = vlcAudioOutput; i != NULL; i = i->p_next) { + if (device.compare(QString::fromUtf8(i->psz_description))) + continue; + qDebug("Setting audio output to: %s", qPrintable(i->psz_device)); + + libvlc_audio_output_device_set(vlcMediaPlayer, NULL, i->psz_device); + } + libvlc_audio_output_device_list_release(vlcAudioOutput); +} + void VlcMediaWidget::setMuted(bool muted) { libvlc_audio_set_mute(vlcMediaPlayer, muted); @@ -96,7 +182,7 @@ { // 0 <= volume <= 200 if (libvlc_audio_set_volume(vlcMediaPlayer, volume) != 0) { - Log("VlcMediaWidget::setVolume: cannot set volume") << volume; + qWarning("cannot set volume %i", volume); } } @@ -184,7 +270,7 @@ if (vlcMedia == NULL) { libvlc_media_player_stop(vlcMediaPlayer); - Log("VlcMediaWidget::play: cannot create media") << source.getUrl().prettyUrl(); + qWarning("Cannot create media %s", qPrintable(source.getUrl().toDisplayString())); return; } @@ -193,31 +279,35 @@ for (uint i = 0; i < (sizeof(eventTypes) / sizeof(eventTypes[0])); ++i) { if (libvlc_event_attach(eventManager, eventTypes[i], vlcEventHandler, this) != 0) { - Log("VlcMediaWidget::play: cannot attach event handler") << eventTypes[i]; + qWarning("Cannot attach event handler %s", qPrintable(eventTypes[i])); } } libvlc_media_player_set_media(vlcMediaPlayer, vlcMedia); libvlc_media_release(vlcMedia); -// FIXME! - -// if (source.subtitleUrl.isValid()) { -// if (libvlc_video_set_subtitle_file(vlcMediaPlayer, -// source.subtitleUrl.toEncoded().constData()) == 0) { -// Log("VlcMediaWidget::play: cannot set subtitle file") << -// source.subtitleUrl.prettyUrl(); -// } -// } +// FIXME! subtitleUrl is only available for MediaSourceUrl private class +// if (source.subtitleUrl.isValid()) +// setExternalSubtitle(source.subtitleUrl); if (libvlc_media_player_play(vlcMediaPlayer) != 0) { - Log("VlcMediaWidget::play: cannot play media") << source.getUrl().prettyUrl(); + qWarning("Cannot play media %s", qPrintable(source.getUrl().toDisplayString())); } + + setCursor(Qt::BlankCursor); + setCursor(Qt::ArrowCursor); + timer->start(1000); + setMouseTracking(true); } void VlcMediaWidget::stop() { libvlc_media_player_stop(vlcMediaPlayer); + + timer->stop(); + setCursor(Qt::BlankCursor); + setCursor(Qt::ArrowCursor); + addPendingUpdates(PlaybackStatus); } void VlcMediaWidget::setPaused(bool paused) @@ -240,33 +330,43 @@ void VlcMediaWidget::setCurrentSubtitle(int currentSubtitle) { - int requestedSubtitle = currentSubtitle; - int availableSpuCount = libvlc_video_get_spu_count(vlcMediaPlayer); + int requestedSubtitle = -1; - if (requestedSubtitle >= availableSpuCount) { - Log("VlcMediaWidget::setCurrentSubtitle: subtitle is out of range") << - requestedSubtitle << availableSpuCount; - - // Disable subtitles. - requestedSubtitle = -1; - } else if (requestedSubtitle < 0) { - // Set all negative subtitle requests to -1 as this makes libvlc - // disable the subtitles. - requestedSubtitle = -1; - } else { - // We got a valid subtitle request - skip the 'deactivate' subtitle. - requestedSubtitle += 1; + QMap::const_iterator i = subtitleId.constBegin(); + while (i != subtitleId.constEnd()) { + qDebug("Subtitle #%d, key: %d", i.value(), i.key()); + if (i.value() == currentSubtitle) { + requestedSubtitle = i.key(); + break; + } + i++; } + qDebug("Try to set subtitle #%d, id %d", currentSubtitle, requestedSubtitle); libvlc_video_set_spu(vlcMediaPlayer, requestedSubtitle); + + /* Print what it was actually selected */ + libvlc_track_description_t *track = libvlc_video_get_spu_description(vlcMediaPlayer); + while (track != NULL) { + QString subtitle = QString::fromUtf8(track->psz_name); + + if (subtitle.isEmpty()) { + subtitle = i18n("Subtitle %1", track->i_id); + } + + if (track->i_id == requestedSubtitle) + qDebug("Subtitle set to id %d: %s", track->i_id, qPrintable(subtitle)); + track = track->p_next; + } + libvlc_track_description_list_release(track); + } -void VlcMediaWidget::setExternalSubtitle(const KUrl &subtitleUrl) +void VlcMediaWidget::setExternalSubtitle(const QUrl &subtitleUrl) { if (libvlc_video_set_subtitle_file(vlcMediaPlayer, subtitleUrl.toEncoded().constData()) == 0) { - Log("VlcMediaWidget::setExternalSubtitle: cannot set subtitle file") << - subtitleUrl.prettyUrl(); + qWarning("Cannot set subtitle file %s", qPrintable(subtitleUrl.toDisplayString())); } } @@ -321,19 +421,14 @@ } } -void VlcMediaWidget::updatePlaybackStatus() +int VlcMediaWidget::updatePlaybackStatus() { - playbackStatus = MediaWidget::Playing; + MediaWidget::PlaybackStatus oldPlaybackStatus = playbackStatus; switch (libvlc_media_player_get_state(vlcMediaPlayer)) { case libvlc_NothingSpecial: case libvlc_Stopped: - // FIXME vlc state is not updated synchronously in libvlc_media_player_play - - if (libvlc_media_player_get_media(vlcMediaPlayer) == NULL) { - playbackStatus = MediaWidget::Idle; - } - + playbackStatus = MediaWidget::Idle; break; case libvlc_Opening: case libvlc_Buffering: @@ -355,10 +450,16 @@ addPendingUpdates(DvdMenu); playingDvd = false; } + + // Report if the status has changed + return (oldPlaybackStatus != playbackStatus); } void VlcMediaWidget::updateCurrentTotalTime() { + if (playbackStatus == MediaWidget::Idle) + return; + currentTime = int(libvlc_media_player_get_time(vlcMediaPlayer)); totalTime = int(libvlc_media_player_get_length(vlcMediaPlayer)); @@ -370,7 +471,7 @@ totalTime = 0; } - if (currentTime > totalTime) { + if (totalTime && currentTime > totalTime) { currentTime = totalTime; } } @@ -436,7 +537,9 @@ { subtitles.clear(); libvlc_track_description_t *track = libvlc_video_get_spu_description(vlcMediaPlayer); + int i = 0; + subtitleId.clear(); if (track != NULL) { // skip the 'deactivate' subtitle track = track->p_next; @@ -444,27 +547,23 @@ while (track != NULL) { QString subtitle = QString::fromUtf8(track->psz_name); - int cutBegin = (subtitle.indexOf(QLatin1Char('[')) + 1); - - if (cutBegin > 0) { - int cutEnd = subtitle.lastIndexOf(QLatin1Char(']')); - - if (cutEnd >= 0) { - // remove unnecessary text - subtitle = subtitle.mid(cutBegin, cutEnd - cutBegin); - } - } if (subtitle.isEmpty()) { - subtitle = QString::number(subtitles.size() + 1); + subtitle = i18n("Subtitle %1", track->i_id); } + // 0 is reserved for "disabled" at mediawidget. So, we should + // Start counting from 1, to match the range expected for + // currentSubtitle + subtitleId[track->i_id] = ++i; subtitles.append(subtitle); + qDebug("Got subtitle id#%d: %s", track->i_id, qPrintable(subtitle)); track = track->p_next; } + libvlc_track_description_list_release(track); // skip the 'deactivate' subtitle - currentSubtitle = (libvlc_video_get_spu(vlcMediaPlayer) - 1); + currentSubtitle = subtitleId.value(libvlc_video_get_spu(vlcMediaPlayer), -1); } void VlcMediaWidget::updateTitles() @@ -503,13 +602,41 @@ AbstractMediaWidget::mousePressEvent(event); } +void VlcMediaWidget::hideMouse() +{ + timer->stop(); + + setCursor(Qt::ArrowCursor); + setCursor(Qt::BlankCursor); +} + +void VlcMediaWidget::mouseMoveEvent(QMouseEvent *event) +{ + mouseVisible = this->rect().contains(event->pos()); + + if (!timer->isActive()) { + setCursor(Qt::BlankCursor); + setCursor(Qt::ArrowCursor); + } + if (mouseVisible) + timer->start(1000); + else + timer->stop(); + + AbstractMediaWidget::mouseMoveEvent(event); +} + void VlcMediaWidget::vlcEvent(const libvlc_event_t *event) { PendingUpdates pendingUpdatesToBeAdded = 0; switch (event->type) { +#if LIBVLC_VERSION_MAJOR > 2 + case libvlc_MediaPlayerESAdded: + case libvlc_MediaPlayerESDeleted: +#endif case libvlc_MediaMetaChanged: - pendingUpdatesToBeAdded = Metadata; + pendingUpdatesToBeAdded = Metadata | Subtitles; break; case libvlc_MediaPlayerEncounteredError: pendingUpdatesToBeAdded = PlaybackStatus; @@ -521,10 +648,11 @@ pendingUpdatesToBeAdded = CurrentTotalTime; break; case libvlc_MediaPlayerSeekableChanged: - pendingUpdatesToBeAdded = Seekable; + pendingUpdatesToBeAdded = Seekable | Subtitles; break; case libvlc_MediaPlayerStopped: pendingUpdatesToBeAdded = PlaybackStatus; + setMouseTracking(false); break; case libvlc_MediaPlayerTimeChanged: pendingUpdatesToBeAdded = CurrentTotalTime; @@ -534,7 +662,7 @@ if (pendingUpdatesToBeAdded != 0) { addPendingUpdates(pendingUpdatesToBeAdded); } else { - Log("VlcMediaWidget::vlcEvent: unknown event type") << event->type; + qWarning("Unknown libVLC event type %d", event->type); } } diff -Nru kaffeine-1.3.1+git20151128/src/backend-vlc/vlcmediawidget.h kaffeine-2.0.4+git20160916/src/backend-vlc/vlcmediawidget.h --- kaffeine-1.3.1+git20151128/src/backend-vlc/vlcmediawidget.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/backend-vlc/vlcmediawidget.h 2016-09-17 17:18:56.000000000 +0000 @@ -26,12 +26,18 @@ class libvlc_event_t; class libvlc_instance_t; class libvlc_media_player_t; +class QTimer; class VlcMediaWidget : public AbstractMediaWidget { + Q_OBJECT private: explicit VlcMediaWidget(QWidget *parent); bool init(); + QTimer *timer; + +private slots: + void hideMouse(); public: ~VlcMediaWidget(); @@ -40,6 +46,8 @@ // zero-based numbering is used everywhere (e.g. first audio channel = 0) + QStringList getAudioDevices(); + void setAudioDevice(QString device); void setMuted(bool muted); void setVolume(int volume); // [0 - 200] void setAspectRatio(MediaWidget::AspectRatio aspectRatio); @@ -50,7 +58,7 @@ void seek(int time); // milliseconds void setCurrentAudioStream(int currentAudioStream); void setCurrentSubtitle(int currentSubtitle); - void setExternalSubtitle(const KUrl &subtitleUrl); + void setExternalSubtitle(const QUrl &subtitleUrl); void setCurrentTitle(int currentTitle); void setCurrentChapter(int currentChapter); void setCurrentAngle(int currentAngle); @@ -58,7 +66,7 @@ bool jumpToNextChapter(); void showDvdMenu(); - void updatePlaybackStatus(); + int updatePlaybackStatus(); void updateCurrentTotalTime(); void updateSeekable(); void updateMetadata(); @@ -72,6 +80,8 @@ private: void mousePressEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); + void vlcEvent(const libvlc_event_t *event); static void vlcEventHandler(const libvlc_event_t *event, void *instance); @@ -79,6 +89,8 @@ libvlc_instance_t *vlcInstance; libvlc_media_player_t *vlcMediaPlayer; bool playingDvd; + bool mouseVisible; + QMap subtitleId; }; #endif /* VLCMEDIAWIDGET_H */ diff -Nru kaffeine-1.3.1+git20151128/src/CMakeLists.txt kaffeine-2.0.4+git20160916/src/CMakeLists.txt --- kaffeine-1.3.1+git20151128/src/CMakeLists.txt 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/CMakeLists.txt 2016-09-17 17:18:56.000000000 +0000 @@ -1,4 +1,11 @@ +if(Libdvbv5_FOUND) + include_directories(${Libdvbv5_INCLUDE_DIRS}) +endif(Libdvbv5_FOUND) + +qt5_add_resources(RESOURCE_ADDED kaffeine.qrc) + set(kaffeine_SRCS + kaffeine.qrc backend-vlc/vlcmediawidget.cpp playlist/playlistmodel.cpp playlist/playlisttab.cpp @@ -8,7 +15,6 @@ datetimeedit.cpp dbusobjects.cpp ensurenopendingoperation.cpp - log.cpp main.cpp mainwindow.cpp mediawidget.cpp @@ -39,10 +45,16 @@ configure_file(config-kaffeine.h.cmake ${CMAKE_BINARY_DIR}/config-kaffeine.h) -kde4_add_executable(kaffeine ${kaffeinedvb_SRCS} ${kaffeine_SRCS}) -target_link_libraries(kaffeine ${QT_QTSQL_LIBRARY} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} - ${KDE4_SOLID_LIBS} ${X11_Xscreensaver_LIB} ${VLC_LIBRARY}) +add_executable(kaffeine ${kaffeinedvb_SRCS} ${kaffeine_SRCS}) +target_link_libraries(kaffeine Qt5::Sql Qt5::X11Extras KF5::XmlGui KF5::I18n KF5::Solid + KF5::KIOCore KF5::KIOFileWidgets + KF5::DBusAddons ${X11_Xscreensaver_LIB} ${VLC_LIBRARY}) + +if(HAVE_DVB) + target_link_libraries(kaffeine ${Libdvbv5_LIBRARIES}) +endif(HAVE_DVB) + install(TARGETS kaffeine ${INSTALL_TARGETS_DEFAULT_ARGS}) install(FILES scanfile.dvb DESTINATION ${DATA_INSTALL_DIR}/kaffeine) -install(PROGRAMS kaffeine.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) -install(FILES kaffeine.appdata.xml DESTINATION ${SHARE_INSTALL_PREFIX}/appdata/) +install(PROGRAMS org.kde.kaffeine.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) +install(FILES org.kde.kaffeine.appdata.xml DESTINATION ${SHARE_INSTALL_PREFIX}/appdata/) diff -Nru kaffeine-1.3.1+git20151128/src/config-kaffeine.h.cmake kaffeine-2.0.4+git20160916/src/config-kaffeine.h.cmake --- kaffeine-1.3.1+git20151128/src/config-kaffeine.h.cmake 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/config-kaffeine.h.cmake 2016-09-17 17:18:56.000000000 +0000 @@ -3,9 +3,10 @@ #ifndef CONFIG_KAFFEINE_H #define CONFIG_KAFFEINE_H -#define KAFFEINE_BIN_INSTALL_DIR "${BIN_INSTALL_DIR}" -#define KAFFEINE_DATA_INSTALL_DIR "${DATA_INSTALL_DIR}" -#define KAFFEINE_LIB_INSTALL_DIR "${LIB_INSTALL_DIR}" +#define KAFFEINE_VERSION "${KAFFEINE_VERSION}" +#define KAFFEINE_DATA_INSTALL_DIR "${KDE_INSTALL_FULL_DATADIR}" +#define KAFFEINE_LIB_INSTALL_DIR "${KDE_INSTALL_FULL_LIBDIR}" #define HAVE_DVB @HAVE_DVB@ +#define HAVE_LIBDVBV5 @HAVE_LIBDVBV5@ #endif /* CONFIG_KAFFEINE_H */ diff -Nru kaffeine-1.3.1+git20151128/src/configuration.cpp kaffeine-2.0.4+git20160916/src/configuration.cpp --- kaffeine-1.3.1+git20151128/src/configuration.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/configuration.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,29 +18,37 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "configuration.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif #include #include -#include -#include "log.h" +#include + +#include "configuration.h" Configuration::Configuration() { startupDisplayMode = StartupNormalMode; - int value = KGlobal::config()->group("MainWindow").readEntry("StartupDisplayMode", + int value = KSharedConfig::openConfig()->group("MainWindow").readEntry("StartupDisplayMode", static_cast(startupDisplayMode)); if ((value >= 0) && (value <= StartupLastValue)) { startupDisplayMode = static_cast(value); } else { - Log("Configuration::Configuration: unknown startup display mode") << value; + qWarning("Unknown startup display mode %d", value); } shortSkipDuration = - KGlobal::config()->group("MediaObject").readEntry("ShortSkipDuration", 15); + KSharedConfig::openConfig()->group("MediaObject").readEntry("ShortSkipDuration", 15); longSkipDuration = - KGlobal::config()->group("MediaObject").readEntry("LongSkipDuration", 60); + KSharedConfig::openConfig()->group("MediaObject").readEntry("LongSkipDuration", 60); + + libVlcArguments = + KSharedConfig::openConfig()->group("libVlc").readEntry("Arguments", "--no-video-title-show"); } Configuration::~Configuration() @@ -60,26 +68,32 @@ { if ((newStartupDisplayMode >= 0) && (newStartupDisplayMode <= StartupLastValue)) { startupDisplayMode = static_cast(newStartupDisplayMode); - KGlobal::config()->group("MainWindow").writeEntry("StartupDisplayMode", + KSharedConfig::openConfig()->group("MainWindow").writeEntry("StartupDisplayMode", static_cast(startupDisplayMode)); } else { - Log("Configuration::setStartupDisplayMode: unknown startup display mode") << - newStartupDisplayMode; + qWarning("Unknown startup display mode %d", newStartupDisplayMode); } } void Configuration::setShortSkipDuration(int newShortSkipDuration) { shortSkipDuration = newShortSkipDuration; - KGlobal::config()->group("MediaObject").writeEntry("ShortSkipDuration", shortSkipDuration); + KSharedConfig::openConfig()->group("MediaObject").writeEntry("ShortSkipDuration", shortSkipDuration); emit shortSkipDurationChanged(shortSkipDuration); } void Configuration::setLongSkipDuration(int newLongSkipDuration) { longSkipDuration = newLongSkipDuration; - KGlobal::config()->group("MediaObject").writeEntry("LongSkipDuration", longSkipDuration); + KSharedConfig::openConfig()->group("MediaObject").writeEntry("LongSkipDuration", longSkipDuration); emit longSkipDurationChanged(longSkipDuration); } +void Configuration::setLibVlcArguments(QString newArguments) +{ + libVlcArguments = newArguments; + KSharedConfig::openConfig()->group("libVlc").writeEntry("Arguments", libVlcArguments); + // FIXME: allow changing it on runtime - maybe restarting kaffeine +} + Configuration *Configuration::globalInstance = NULL; diff -Nru kaffeine-1.3.1+git20151128/src/configurationdialog.cpp kaffeine-2.0.4+git20160916/src/configurationdialog.cpp --- kaffeine-1.3.1+git20151128/src/configurationdialog.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/configurationdialog.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,28 +18,33 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "configurationdialog.h" -#include "configurationdialog_p.h" - +#include +#include +#include +#include #include #include +#include #include #include #include #include -#include -#include +#include + #include "configuration.h" -#include "log.h" +#include "configurationdialog.h" +#include "configurationdialog_p.h" + +QString Log::log; ConfigurationDialog::ConfigurationDialog(QWidget *parent) : KPageDialog(parent) { - setCaption(i18nc("@title:window", "Configure Kaffeine")); + setWindowTitle(i18nc("@title:window", "Configure Kaffeine")); QWidget *widget = new QWidget(this); QGridLayout *gridLayout = new QGridLayout(widget); - startupDisplayModeBox = new KComboBox(widget); + startupDisplayModeBox = new QComboBox(widget); startupDisplayModeBox->addItem(i18nc("@item:inlistbox 'Startup display mode:'", "Normal Mode")); startupDisplayModeBox->addItem(i18nc("@item:inlistbox 'Startup display mode:'", @@ -75,7 +80,7 @@ gridLayout->setRowStretch(3, 1); KPageWidgetItem *page = new KPageWidgetItem(widget, i18nc("@title:group", "General")); - page->setIcon(KIcon(QLatin1String("configure"))); + page->setIcon(QIcon::fromTheme(QLatin1String("configure"), QIcon(":configure"))); addPage(page); widget = new QWidget(this); @@ -89,15 +94,40 @@ connect(pushButton, SIGNAL(clicked()), this, SLOT(showDmesg())); gridLayout->addWidget(pushButton, 0, 1); + // TODO: add later a way to show the Kaffeine logs here + Log newLog; QPlainTextEdit *textEdit = new QPlainTextEdit(widget); - textEdit->setPlainText(Log::getLog()); + textEdit->setPlainText(newLog.getLog()); textEdit->setReadOnly(true); + gridLayout->addWidget(textEdit); gridLayout->addWidget(textEdit, 1, 0, 1, 2); - gridLayout->setRowStretch(2, 1); + gridLayout->setRowStretch(2, 0); page = new KPageWidgetItem(widget, i18nc("@title:group", "Diagnostics")); - page->setIcon(KIcon(QLatin1String("page-zoom"))); + page->setIcon(QIcon::fromTheme(QLatin1String("page-zoom"), QIcon(":page-zoom"))); + addPage(page); + + // libVLC arguments config + widget = new QWidget(this); + gridLayout = new QGridLayout(widget); + + label = new QLabel(i18nc("@label:textbox", "LibVLC arguments:"), widget); + gridLayout->addWidget(label, 0, 0); + + libVlcArguments = new QLineEdit(widget); + libVlcArguments->setText(Configuration::instance()->getLibVlcArguments()); + gridLayout->addWidget(libVlcArguments, 1, 0); + + label = new QLabel(i18nc("@label:textbox", "NOTE: Kaffeine should be restarted for the new arguments to take effect"), widget); + gridLayout->addWidget(label, 2, 0); + + gridLayout->setRowStretch(3, 1); + + page = new KPageWidgetItem(widget, i18nc("@title:group", "libVLC")); + page->setIcon(QIcon::fromTheme(QLatin1String("video-television"), QIcon(":video-television"))); addPage(page); + + resize(100 * fontMetrics().averageCharWidth(), 28 * fontMetrics().height()); } ConfigurationDialog::~ConfigurationDialog() @@ -110,21 +140,27 @@ configuration->setStartupDisplayMode(startupDisplayModeBox->currentIndex()); configuration->setShortSkipDuration(shortSkipBox->value()); configuration->setLongSkipDuration(longSkipBox->value()); + configuration->setLibVlcArguments(libVlcArguments->text()); KPageDialog::accept(); } void ConfigurationDialog::showDmesg() { - KDialog *dialog = new DmesgDialog(this); + QDialog *dialog = new DmesgDialog(this); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setModal(true); dialog->show(); } -DmesgDialog::DmesgDialog(QWidget *parent) : KDialog(parent) +DmesgDialog::DmesgDialog(QWidget *parent) : QDialog(parent) { - setButtons(KDialog::Close); - setCaption(i18nc("@title:window", "dmesg")); + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Close); + QWidget *mainWidget = new QWidget(this); + QVBoxLayout *mainLayout = new QVBoxLayout; + setLayout(mainLayout); + connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); + setWindowTitle(i18nc("@title:window", "dmesg")); dmesgProcess = new QProcess(this); dmesgProcess->setProcessChannelMode(QProcess::MergedChannels); @@ -134,7 +170,10 @@ dmesgTextEdit = new QPlainTextEdit(this); dmesgTextEdit->setLineWrapMode(QPlainTextEdit::NoWrap); dmesgTextEdit->setReadOnly(true); - setMainWidget(dmesgTextEdit); + + mainLayout->addWidget(dmesgTextEdit); + mainLayout->addWidget(mainWidget); + mainLayout->addWidget(buttonBox); resize(100 * fontMetrics().averageCharWidth(), 28 * fontMetrics().height()); } diff -Nru kaffeine-1.3.1+git20151128/src/configurationdialog.h kaffeine-2.0.4+git20160916/src/configurationdialog.h --- kaffeine-1.3.1+git20151128/src/configurationdialog.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/configurationdialog.h 2016-09-17 17:18:56.000000000 +0000 @@ -24,7 +24,27 @@ #include class QSpinBox; -class KComboBox; +class QString; +class QComboBox; +class QLineEdit; + +class Log +{ +public: + Log() {}; + void storeLog(QString &newlog) + { + log.append(newlog); + } + QString getLog() + { + return log; + } +private: + static QString log; +}; + + class ConfigurationDialog : public KPageDialog { @@ -39,9 +59,10 @@ void showDmesg(); private: - KComboBox *startupDisplayModeBox; + QComboBox *startupDisplayModeBox; QSpinBox *shortSkipBox; QSpinBox *longSkipBox; + QLineEdit *libVlcArguments; }; #endif /* CONFIGURATIONDIALOG_H */ diff -Nru kaffeine-1.3.1+git20151128/src/configurationdialog_p.h kaffeine-2.0.4+git20160916/src/configurationdialog_p.h --- kaffeine-1.3.1+git20151128/src/configurationdialog_p.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/configurationdialog_p.h 2016-09-17 17:18:56.000000000 +0000 @@ -21,12 +21,12 @@ #ifndef CONFIGURATIONDIALOG_P_H #define CONFIGURATIONDIALOG_P_H -#include +#include class QPlainTextEdit; class QProcess; -class DmesgDialog : public KDialog +class DmesgDialog : public QDialog { Q_OBJECT public: diff -Nru kaffeine-1.3.1+git20151128/src/configuration.h kaffeine-2.0.4+git20160916/src/configuration.h --- kaffeine-1.3.1+git20151128/src/configuration.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/configuration.h 2016-09-17 17:18:56.000000000 +0000 @@ -60,6 +60,14 @@ return longSkipDuration; } + void setLibVlcArguments(QString newArguments); + + + QString getLibVlcArguments() const + { + return libVlcArguments; + } + void setLongSkipDuration(int newLongSkipDuration); signals: @@ -72,6 +80,7 @@ StartupDisplayMode startupDisplayMode; int shortSkipDuration; int longSkipDuration; + QString libVlcArguments; }; #endif /* CONFIGURATION_H */ diff -Nru kaffeine-1.3.1+git20151128/src/datetimeedit.cpp kaffeine-2.0.4+git20160916/src/datetimeedit.cpp --- kaffeine-1.3.1+git20151128/src/datetimeedit.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/datetimeedit.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,14 +18,13 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "datetimeedit.h" +#include -#include -#include +#include "datetimeedit.h" static QString localQtDateFormat() { - QString dateFormat = KGlobal::locale()->dateFormatShort(); + QString dateFormat = QLocale().dateFormat(QLocale::ShortFormat); for (int i = 0; (i + 1) < dateFormat.size(); ++i) { if (dateFormat.at(i) != QLatin1Char('%')) { @@ -71,7 +70,7 @@ static QString localQtTimeFormat(bool showSeconds, bool duration) { - QString timeFormat = KGlobal::locale()->timeFormat(); + QString timeFormat = QLocale().timeFormat(QLocale::ShortFormat); for (int i = 0; (i + 1) < timeFormat.size(); ++i) { if (timeFormat.at(i) != QLatin1Char('%')) { @@ -165,7 +164,7 @@ DurationEdit::DurationEdit(QWidget *parent) : QTimeEdit(parent) { - setDisplayFormat(localQtTimeFormat(false, true)); + setDisplayFormat("HH:mm"); } DurationEdit::~DurationEdit() diff -Nru kaffeine-1.3.1+git20151128/src/dbusobjects.cpp kaffeine-2.0.4+git20160916/src/dbusobjects.cpp --- kaffeine-1.3.1+git20151128/src/dbusobjects.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dbusobjects.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,11 +18,11 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dbusobjects.h" - -#include #include -#include +#include +#include + +#include "dbusobjects.h" #include "dvb/dvbmanager.h" #include "dvb/dvbtab.h" #include "playlist/playlisttab.h" @@ -61,6 +61,7 @@ return argument; } +#if HAVE_DVB == 1 static QDBusArgument &operator<<(QDBusArgument &argument, const TelevisionScheduleEntryStruct &entry) { argument.beginStructure(); @@ -79,6 +80,7 @@ argument.endStructure(); return argument; } +#endif MprisRootObject::MprisRootObject(QObject *parent) : QObject(parent) { @@ -91,13 +93,13 @@ QString MprisRootObject::Identity() { - const KAboutData *aboutData = KGlobal::mainComponent().aboutData(); - return aboutData->programName() + QLatin1Char(' ' )+ aboutData->version(); + KAboutData aboutData = KAboutData::applicationData(); + return aboutData.internalProgramName() + QLatin1Char(' ' )+ aboutData.internalVersion(); } void MprisRootObject::Quit() { - kapp->quit(); + QApplication::quit(); } MprisVersionStruct MprisRootObject::MprisVersion() @@ -296,7 +298,7 @@ int MprisTrackListObject::AddTrack(const QString &url, bool playImmediately) { - playlistTab->appendToCurrentPlaylist(QList() << url, playImmediately); + playlistTab->appendToCurrentPlaylist(QList() << url, playImmediately); return 0; } @@ -384,6 +386,7 @@ recording.begin = QDateTime::fromString(begin, Qt::ISODate).toUTC(); recording.duration = QTime::fromString(duration, Qt::ISODate); recording.repeat = (repeat & ((1 << 7) - 1)); + recording.disabled = false; DvbSharedRecording newRecording = dvbTab->getManager()->getRecordingModel()->addRecording(recording); diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbbackenddevice.h kaffeine-2.0.4+git20160916/src/dvb/dvbbackenddevice.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbbackenddevice.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbbackenddevice.h 2016-09-17 17:18:56.000000000 +0000 @@ -29,11 +29,13 @@ { public: enum TransmissionType { - DvbC = (1 << 0), - DvbS = (1 << 1), - DvbS2 = (1 << 4), - DvbT = (1 << 2), - Atsc = (1 << 3) + DvbC = (1 << 0), + DvbS = (1 << 1), + DvbS2 = (1 << 2), + DvbT = (1 << 3), + DvbT2 = (1 << 4), + Atsc = (1 << 5), + IsdbT = (1 << 6), }; Q_DECLARE_FLAGS(TransmissionTypes, TransmissionType) @@ -116,9 +118,29 @@ virtual ~DvbFrontendDevice() { } }; +// Those definitions are pretty much identical to what's there +// at libdvbv5 dvb-sat.h header. However, due to the abstract +// model, we should re-define it here. + +struct lnbFreqRange { + unsigned int low, high; +}; + +struct lnbSat { + QString name, alias; + unsigned int lowFreq, highFreq, rangeSwitch; + struct lnbFreqRange freqRange[2]; +}; + class DvbBackendDevice : public DvbDeviceBase { public: + enum Scale { + NotSupported = 0, + Percentage = 1, + Decibel = 2, + dBuV = 3, + }; virtual QString getDeviceId() = 0; virtual QString getFrontendName() = 0; virtual TransmissionTypes getTransmissionTypes() = 0; @@ -130,19 +152,27 @@ virtual bool setVoltage(SecVoltage voltage) = 0; virtual bool sendMessage(const char *message, int length) = 0; virtual bool sendBurst(SecBurst burst) = 0; + virtual bool satSetup(QString lnbModel, int satNumber, int bpf) = 0; virtual bool tune(const DvbTransponder &transponder) = 0; // discards obsolete data + virtual bool getProps(DvbTransponder &transponder) = 0; virtual bool isTuned() = 0; - virtual int getSignal() = 0; // 0 - 100 [%] or -1 = not supported - virtual int getSnr() = 0; // 0 - 100 [%] or -1 = not supported + virtual float getSignal(Scale &scale) = 0; + virtual float getSnr(Scale &scale) = 0; + virtual float getFrqMHz() = 0; virtual bool addPidFilter(int pid) = 0; virtual void removePidFilter(int pid) = 0; virtual void startDescrambling(const QByteArray &pmtSectionData) = 0; virtual void stopDescrambling(int serviceId) = 0; virtual void release() = 0; + virtual void enableDvbDump() = 0; + QList getLnbSatModels() const { return lnbSatModels; }; + protected: DvbBackendDevice() { } virtual ~DvbBackendDevice() { } + + QList lnbSatModels; }; /* diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbcam_linux.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbcam_linux.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbcam_linux.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbcam_linux.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,17 +18,22 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbcam_linux.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif -#include -#include -#include #include #include #include +#include +#include +#include #include #include -#include "../log.h" + +#include "dvbcam_linux.h" #include "dvbsi.h" // krazy:excludeall=syscalls @@ -50,9 +55,9 @@ QByteArray pmtSectionData; }; -DvbLinuxCam::DvbLinuxCam() : caFd(-1), socketNotifier(NULL), ready(false), eventPosted(false) +DvbLinuxCam::DvbLinuxCam(QObject *parent) : QObject(parent), caFd(-1), socketNotifier(NULL), ready(false), eventPosted(false) { - connect(&pollTimer, SIGNAL(timeout()), this, SLOT(pollModule())); + connect(&pollTimer, &QTimer::timeout, this, &DvbLinuxCam::pollModule); } DvbLinuxCam::~DvbLinuxCam() @@ -65,7 +70,7 @@ caFd = open(QFile::encodeName(path).constData(), O_RDWR | O_NONBLOCK); if (caFd < 0) { - Log("DvbLinuxCam::startCa: cannot open") << path; + qWarning("Cannot open CA device node %s", qPrintable(path)); return; } @@ -83,7 +88,7 @@ DvbPmtSection pmtSection(pmtSectionData); if (!pmtSection.isValid()) { - Log("DvbLinuxCam::startDescrambling: pmt section is invalid"); + qWarning("PMT section is invalid while descrambling"); return; } @@ -111,7 +116,7 @@ QMap::iterator it = services.find(serviceId); if (it == services.end()) { - Log("DvbLinuxCam::stopDescrambling: cannot find service id") << serviceId; + qWarning("Cannot find service id %d while stopping CAM", serviceId); return; } @@ -124,7 +129,7 @@ services.erase(it); return; case DvbLinuxCamService::Remove: - Log("DvbLinuxCam::stopDescrambling: service is already being removed"); + qWarning("CAM Service was already removed"); services.erase(it); return; } @@ -159,7 +164,7 @@ } else { if ((pendingCommands & ExpectingReply) != 0) { pendingCommands &= ~ExpectingReply; - Log("DvbLinuxCam::pollModule: request timed out"); + qDebug("CAM: request timed out"); } if (pendingCommands == 0) { @@ -203,7 +208,7 @@ handleTransportLayer(data + 2, size - 2); handlePendingCommands(); } else { - Log("DvbLinuxCam::readyRead: unknown recipient"); + qWarning("CAM: unknown recipient"); } } @@ -214,7 +219,7 @@ memset(&caInfo, 0, sizeof(caInfo)); if (ioctl(caFd, CA_GET_CAP, &caInfo) != 0) { - Log("DvbLinuxCam::detectSlot: cannot perform ioctl CA_GET_CAP"); + qWarning("Cannot perform ioctl CA_GET_CAP"); return false; } @@ -224,13 +229,12 @@ slotInfo.num = i; if (ioctl(caFd, CA_GET_SLOT_INFO, &slotInfo) != 0) { - Log("DvbLinuxCam::detectSlot: " - "cannot perform ioctl CA_GET_SLOT_INFO for slot") << slot; + qWarning("Cannot perform ioctl CA_GET_SLOT_INFO for slot %d", slot); continue; } if ((slotInfo.type & CA_CI_LINK) == 0) { - Log("DvbLinuxCam::detectSlot: unknown type") << slotInfo.type; + qWarning("Unknown CAM CI link type %d", slotInfo.type); continue; } @@ -246,7 +250,7 @@ if (socketNotifier == NULL) { socketNotifier = new QSocketNotifier(caFd, QSocketNotifier::Read, this); - connect(socketNotifier, SIGNAL(activated(int)), this, SLOT(readyRead())); + connect(socketNotifier, &QSocketNotifier::activated, this, &DvbLinuxCam::readyRead); } if (pendingCommands == 0) { @@ -311,8 +315,7 @@ case StatusByte: if ((length < 2) || (data[0] != ConnectionId)) { size = 0; - Log("DvbLinuxCam::handleTransportLayer: " - "invalid StatusByte object"); + qWarning("CAM: invalid StatusByte object"); break; } @@ -324,8 +327,7 @@ case CreateTransportConnectionReply: if ((length < 1) || (data[0] != ConnectionId)) { size = 0; - Log("DvbLinuxCam::handleTransportLayer: " - "invalid CreateTransportConnectionReply object"); + qWarning("CAM: invalid CreateTransportConnectionReply object"); break; } @@ -334,14 +336,14 @@ case DataLast: if ((length < 1) || (data[0] != ConnectionId)) { size = 0; - Log("DvbLinuxCam::handleTransportLayer: invalid DataLast object"); + qWarning("CAM: invalid DataLast object"); break; } handleSessionLayer(data + 1, length - 1); break; default: - Log("DvbLinuxCam::handleTransportLayer: unknown tag") << tag; + qWarning("CAM: unknown tag %d", tag); break; } @@ -361,8 +363,7 @@ switch (tag) { case OpenSessionRequest: { if (length < 4) { - Log("DvbLinuxCam::handleSessionLayer: " - "invalid OpenSessionRequest object"); + qWarning("CAM: invalid OpenSessionRequest object"); break; } @@ -400,15 +401,14 @@ } case SessionNumber: if (length < 2) { - Log("DvbLinuxCam::handleSessionLayer: " - "invalid SessionNumber object"); + qWarning("CAM: invalid SessionNumber object"); break; } handleApplicationLayer(data + length, size - length); break; default: - Log("DvbLinuxCam::handleSessionLayer: unknown tag") << tag; + qWarning("CAM: unknown tag %d", tag); break; } } @@ -449,7 +449,7 @@ QCoreApplication::postEvent(this, new QEvent(QEvent::User)); break; default: - Log("DvbLinuxCam::handleApplicationLayer: unknown tag") << tag; + qWarning("CAM: unknown tag %d", tag); break; } @@ -469,11 +469,10 @@ break; case ResetCa: if (ioctl(caFd, CA_RESET, 0xff) != 0) { - Log("DvbLinuxCam::handlePendingCommands: " - "cannot perform ioctl CA_RESET"); + qWarning("Cannot perform ioctl CA_RESET"); } - Log("DvbLinuxCam::handlePendingCommands: --> reset"); + qDebug("--> CAM reset"); slot = -1; pollTimer.start(100); pendingCommands = 0; @@ -506,8 +505,7 @@ sendApplicationLayerMessage(CaInfoEnquiry, messageData, messageData); break; default: - Log("DvbLinuxCam::handlePendingCommands: unknown pending command") << - pendingCommand; + qWarning("CAM: unknown pending command %d", pendingCommand); break; } } @@ -556,7 +554,7 @@ break; } case DvbLinuxCamService::Remove: - Log("DvbLinuxCam::customEvent: impossible"); + qWarning("CAM: impossible to remove custom event"); break; } @@ -650,8 +648,7 @@ length = uint(end - data); if (write(caFd, data, length) != length) { - Log("DvbLinuxCam::sendTransportLayerMessage: cannot send message of length") << - length; + qWarning("CAM: cannot send message of length %d", length); } pendingCommands |= ExpectingReply; diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbcam_linux.h kaffeine-2.0.4+git20160916/src/dvb/dvbcam_linux.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbcam_linux.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbcam_linux.h 2016-09-17 17:18:56.000000000 +0000 @@ -28,11 +28,11 @@ class DvbLinuxCamService; class DvbPmtSection; -class DvbLinuxCam : QObject +class DvbLinuxCam : public QObject { Q_OBJECT public: - DvbLinuxCam(); + DvbLinuxCam(QObject *parent); ~DvbLinuxCam(); void startCa(const QString &path); diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbchannel.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbchannel.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbchannel.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbchannel.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,13 +18,19 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbchannel.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include #include +#include #include -#include + #include "../ensurenopendingoperation.h" -#include "../log.h" +#include "dvbchannel.h" #include "dvbsi.h" bool DvbChannel::validate() @@ -67,6 +73,8 @@ case DvbTransponderBase::DvbS: case DvbTransponderBase::DvbS2: case DvbTransponderBase::DvbT: + case DvbTransponderBase::DvbT2: + case DvbTransponderBase::IsdbT: return ((channel->transportStreamId == other.channel->transportStreamId) && (channel->serviceId == other.channel->serviceId)); case DvbTransponderBase::Atsc: @@ -89,6 +97,8 @@ case DvbTransponderBase::DvbS: case DvbTransponderBase::DvbS2: case DvbTransponderBase::DvbT: + case DvbTransponderBase::DvbT2: + case DvbTransponderBase::IsdbT: hash ^= (qHash(channel.channel->transportStreamId) << 8); hash ^= (qHash(channel.channel->serviceId) << 16); break; @@ -107,7 +117,7 @@ DvbChannelModel::~DvbChannelModel() { if (hasPendingOperation) { - Log("DvbChannelModel::~DvbChannelModel: illegal recursive call"); + qWarning("Illegal recursive call"); } if (isSqlModel) { @@ -115,6 +125,12 @@ } } +void DvbChannelModel::channelFlush() +{ + if (isSqlModel) + sqlFlush(); +} + DvbChannelModel *DvbChannelModel::createSqlModel(QObject *parent) { DvbChannelModel *channelModel = new DvbChannelModel(parent); @@ -127,14 +143,14 @@ // compatibility code - QFile file(KStandardDirs::locateLocal("appdata", QLatin1String("channels.dtv"))); + QFile file(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/channels.dtv")); if (!file.exists()) { return channelModel; } if (!file.open(QIODevice::ReadOnly)) { - Log("DvbChannelModel::createSqlModel: cannot open") << file.fileName(); + qWarning("Cannot open %s", qPrintable(file.fileName())); return channelModel; } @@ -166,10 +182,18 @@ channel.transponder = DvbTransponder(DvbTransponderBase::DvbT); channel.transponder.as()->readTransponder(stream); break; + case DvbTransponderBase::DvbT2: + channel.transponder = DvbTransponder(DvbTransponderBase::DvbT2); + channel.transponder.as()->readTransponder(stream); + break; case DvbTransponderBase::Atsc: channel.transponder = DvbTransponder(DvbTransponderBase::Atsc); channel.transponder.as()->readTransponder(stream); break; + case DvbTransponderBase::IsdbT: + channel.transponder = DvbTransponder(DvbTransponderBase::IsdbT); + channel.transponder.as()->readTransponder(stream); + break; default: stream.setStatus(QDataStream::ReadCorruptData); break; @@ -192,16 +216,18 @@ channel.isScrambled = (flags & 0x1) != 0; if (stream.status() != QDataStream::Ok) { - Log("DvbChannelModel::createSqlModel: invalid channels in file") << - file.fileName(); + qWarning("Invalid channels in file %s", qPrintable(file.fileName())); break; } channelModel->addChannel(channel); } + // As we'll remove the old channel file, flush the DB content + channelModel->channelFlush(); + if (!file.remove()) { - Log("DvbChannelModel::createSqlModel: cannot remove") << file.fileName(); + qWarning("Cannot remove '%s' from DB", qPrintable(file.fileName())); } return channelModel; @@ -231,7 +257,7 @@ { if (!isSqlModel && other->isSqlModel && channelNumbers.isEmpty()) { if (hasPendingOperation) { - Log("DvbChannelModel::cloneFrom: illegal recursive call"); + qWarning("Illegal recursive call"); return; } @@ -271,7 +297,7 @@ addChannel(newChannel); } } else { - Log("DvbChannelModel::cloneFrom: illegal type of clone"); + qWarning("Iillegal type of clone"); } } @@ -287,7 +313,7 @@ } if (!channel.validate()) { - Log("DvbChannelModel::addChannel: invalid channel"); + qWarning("Invalid channel"); return; } @@ -337,7 +363,7 @@ } if (hasPendingOperation) { - Log("DvbChannelModel::addChannel: illegal recursive call"); + qWarning("Illegal recursive call"); return; } @@ -366,7 +392,7 @@ { if (!channel.isValid() || (channelNumbers.value(channel->number) != channel) || !modifiedChannel.validate()) { - Log("DvbChannelModel::updateChannel: invalid channel"); + qWarning("Invalid channel"); return; } @@ -391,7 +417,7 @@ } if (hasPendingOperation) { - Log("DvbChannelModel::updateChannel: illegal recursive call"); + qWarning("Illegal recursive call"); return; } @@ -446,12 +472,12 @@ void DvbChannelModel::removeChannel(DvbSharedChannel channel) { if (!channel.isValid() || (channelNumbers.value(channel->number) != channel)) { - Log("DvbChannelModel::removeChannel: invalid channel"); + qWarning("Invalid channel"); return; } if (hasPendingOperation) { - Log("DvbChannelModel::removeChannel: illegal recursive call"); + qWarning("Illegal recursive call"); return; } @@ -472,7 +498,7 @@ int insertBeforeNumber) { if (hasPendingOperation) { - Log("DvbChannelModel::dndMoveChannels: illegal recursive call"); + qWarning("Illegal recursive call"); return; } @@ -541,7 +567,7 @@ DvbSharedChannel channel = channels.value(sqlKey); if (!channel.isValid()) { - Log("DvbChannelModel::bindToSqlQuery: invalid channel"); + qWarning("Invalid channel"); return; } diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbchanneldialog.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbchanneldialog.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbchanneldialog.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbchanneldialog.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,23 +18,28 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbchanneldialog.h" -#include "dvbchanneldialog_p.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include +#include +#include #include #include +#include #include #include #include #include +#include #include #include -#include -#include -#include -#include -#include -#include "../log.h" + +#include "dvbchanneldialog.h" +#include "dvbchanneldialog_p.h" #include "dvbsi.h" bool DvbChannelLessThan::operator()(const DvbSharedChannel &x, const DvbSharedChannel &y) const @@ -82,7 +87,7 @@ void DvbChannelTableModel::setChannelModel(DvbChannelModel *channelModel_) { if (channelModel != NULL) { - Log("DvbChannelTableModel::setChannelModel: channel model already set"); + qWarning("Channel model already set"); return; } @@ -122,15 +127,15 @@ if (index.column() == 0) { if (channel->hasVideo) { if (!channel->isScrambled) { - return KIcon(QLatin1String("video-television")); + return QIcon::fromTheme(QLatin1String("video-television"), QIcon(":video-television")); } else { - return KIcon(QLatin1String("video-television-encrypted")); + return QIcon::fromTheme(QLatin1String("video-television-encrypted"), QIcon(":video-television-encrypted")); } } else { if (!channel->isScrambled) { - return KIcon(QLatin1String("text-speak")); + return QIcon::fromTheme(QLatin1String("text-speak"), QIcon(":text-speak")); } else { - return KIcon(QLatin1String("audio-radio-encrypted")); + return QIcon::fromTheme(QLatin1String("audio-radio-encrypted"), QIcon(":audio-radio-encrypted")); } } } @@ -285,17 +290,17 @@ { } -KAction *DvbChannelView::addEditAction() +QAction *DvbChannelView::addEditAction() { - KAction *action = new KAction(KIcon(QLatin1String("configure")), i18nc("@action", "Edit"), this); + QAction *action = new QAction(QIcon::fromTheme(QLatin1String("configure"), QIcon(":configure")), i18nc("@action", "Edit"), this); connect(action, SIGNAL(triggered()), this, SLOT(editChannel())); addAction(action); return action; } -KAction *DvbChannelView::addRemoveAction() +QAction *DvbChannelView::addRemoveAction() { - KAction *action = new KAction(KIcon(QLatin1String("edit-delete")), i18nc("@action", "Remove"), this); + QAction *action = new QAction(QIcon::fromTheme(QLatin1String("edit-delete"), QIcon(":edit-delete")), i18nc("@action", "Remove"), this); connect(action, SIGNAL(triggered()), this, SLOT(removeChannel())); addAction(action); return action; @@ -326,7 +331,7 @@ QModelIndex index = currentIndex(); if (index.isValid()) { - KDialog *dialog = new DvbChannelEditor(tableModel, tableModel->value(index), this); + QDialog *dialog = new DvbChannelEditor(tableModel, tableModel->value(index), this); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setModal(true); dialog->show(); @@ -407,6 +412,7 @@ case DvbSTransponder::Vertical: return i18n("Vertical"); case DvbSTransponder::CircularLeft: return i18n("Circular left"); case DvbSTransponder::CircularRight: return i18n("Circular right"); + case DvbSTransponder::Off: return i18n("Off"); } return QString(); @@ -446,6 +452,7 @@ const char *text = ""; switch (bandwidth) { + case DvbTTransponder::Bandwidth5MHz: text = "5MHz"; break; case DvbTTransponder::Bandwidth6MHz: text = "6MHz"; break; case DvbTTransponder::Bandwidth7MHz: text = "7MHz"; break; case DvbTTransponder::Bandwidth8MHz: text = "8MHz"; break; @@ -455,6 +462,22 @@ return QLatin1String(text); } +static QLatin1String enumToString(DvbT2Transponder::Bandwidth bandwidth) +{ + const char *text = ""; + + switch (bandwidth) { + case DvbT2Transponder::Bandwidth1_7MHz: text = "1.7MHz"; break; + case DvbT2Transponder::Bandwidth5MHz: text = "5MHz"; break; + case DvbT2Transponder::Bandwidth6MHz: text = "6MHz"; break; + case DvbT2Transponder::Bandwidth7MHz: text = "7MHz"; break; + case DvbT2Transponder::Bandwidth8MHz: text = "8MHz"; break; + case DvbT2Transponder::Bandwidth10MHz: text = "10MHz"; break; + case DvbT2Transponder::BandwidthAuto: text = "AUTO"; break; + } + + return QLatin1String(text); +} static QLatin1String enumToString(DvbTTransponder::Modulation modulation) { const char *text = ""; @@ -469,6 +492,21 @@ return QLatin1String(text); } +static QLatin1String enumToString(DvbT2Transponder::Modulation modulation) +{ + const char *text = ""; + + switch (modulation) { + case DvbT2Transponder::Qpsk: text = "QPSK"; break; + case DvbT2Transponder::Qam16: text = "16-QAM"; break; + case DvbT2Transponder::Qam64: text = "64-QAM"; break; + case DvbT2Transponder::Qam256: text = "256-QAM"; break; + case DvbT2Transponder::ModulationAuto: text = "AUTO"; break; + } + + return QLatin1String(text); +} + static QLatin1String enumToString(DvbTTransponder::TransmissionMode transmissionMode) { const char *text = ""; @@ -483,6 +521,37 @@ return QLatin1String(text); } +static QLatin1String enumToString(DvbT2Transponder::TransmissionMode transmissionMode) +{ + const char *text = ""; + + switch (transmissionMode) { + case DvbT2Transponder::TransmissionMode1k: text = "1k"; break; + case DvbT2Transponder::TransmissionMode2k: text = "2k"; break; + case DvbT2Transponder::TransmissionMode4k: text = "4k"; break; + case DvbT2Transponder::TransmissionMode8k: text = "8k"; break; + case DvbT2Transponder::TransmissionMode16k: text = "16k"; break; + case DvbT2Transponder::TransmissionMode32k: text = "32k"; break; + case DvbT2Transponder::TransmissionModeAuto: text = "AUTO"; break; + } + + return QLatin1String(text); +} + +static QLatin1String enumToString(IsdbTTransponder::TransmissionMode transmissionMode) +{ + const char *text = ""; + + switch (transmissionMode) { + case IsdbTTransponder::TransmissionMode2k: text = "2k"; break; + case IsdbTTransponder::TransmissionMode4k: text = "4k"; break; + case IsdbTTransponder::TransmissionMode8k: text = "8k"; break; + case IsdbTTransponder::TransmissionModeAuto: text = "AUTO"; break; + } + + return QLatin1String(text); +} + static QLatin1String enumToString(DvbTTransponder::GuardInterval guardInterval) { const char *text = ""; @@ -498,6 +567,24 @@ return QLatin1String(text); } +static QLatin1String enumToString(DvbT2Transponder::GuardInterval guardInterval) +{ + const char *text = ""; + + switch (guardInterval) { + case DvbT2Transponder::GuardInterval1_4: text = "1/4"; break; + case DvbT2Transponder::GuardInterval19_128: text = "19/128"; break; + case DvbT2Transponder::GuardInterval1_8: text = "1/8"; break; + case DvbT2Transponder::GuardInterval19_256: text = "19/256"; break; + case DvbT2Transponder::GuardInterval1_16: text = "1/16"; break; + case DvbT2Transponder::GuardInterval1_32: text = "1/32"; break; + case DvbT2Transponder::GuardInterval1_128: text = "1/128"; break; + case DvbT2Transponder::GuardIntervalAuto: text = "AUTO"; break; + } + + return QLatin1String(text); +} + static QLatin1String enumToString(DvbTTransponder::Hierarchy hierarchy) { const char *text = ""; @@ -513,6 +600,21 @@ return QLatin1String(text); } +static QLatin1String enumToString(DvbT2Transponder::Hierarchy hierarchy) +{ + const char *text = ""; + + switch (hierarchy) { + case DvbT2Transponder::HierarchyNone: text = "NONE"; break; + case DvbT2Transponder::Hierarchy1: text = "1"; break; + case DvbT2Transponder::Hierarchy2: text = "2"; break; + case DvbT2Transponder::Hierarchy4: text = "4"; break; + case DvbT2Transponder::HierarchyAuto: text = "AUTO"; break; + } + + return QLatin1String(text); +} + static QLatin1String enumToString(AtscTransponder::Modulation modulation) { const char *text = ""; @@ -528,16 +630,85 @@ return QLatin1String(text); } +static QLatin1String enumToString(IsdbTTransponder::Bandwidth bandwidth) +{ + const char *text = ""; + + switch (bandwidth) { + case IsdbTTransponder::Bandwidth6MHz: text = "6MHz"; break; + case IsdbTTransponder::Bandwidth7MHz: text = "7MHz"; break; + case IsdbTTransponder::Bandwidth8MHz: text = "8MHz"; break; + } + + return QLatin1String(text); +} + +static QLatin1String enumToString(IsdbTTransponder::Modulation modulation) +{ + const char *text = ""; + + switch (modulation) { + case IsdbTTransponder::Dqpsk: text = "DQPSK"; break; + case IsdbTTransponder::Qpsk: text = "QPSK"; break; + case IsdbTTransponder::Qam16: text = "16-QAM"; break; + case IsdbTTransponder::Qam64: text = "64-QAM"; break; + case IsdbTTransponder::ModulationAuto: text = "AUTO"; break; + } + + return QLatin1String(text); +} + +static QLatin1String enumToString(IsdbTTransponder::GuardInterval guardInterval) +{ + const char *text = ""; + + switch (guardInterval) { + case IsdbTTransponder::GuardInterval1_4: text = "1/4"; break; + case IsdbTTransponder::GuardInterval1_8: text = "1/8"; break; + case IsdbTTransponder::GuardInterval1_16: text = "1/16"; break; + case IsdbTTransponder::GuardInterval1_32: text = "1/32"; break; + case IsdbTTransponder::GuardIntervalAuto: text = "AUTO"; break; + } + + return QLatin1String(text); +} + +static QLatin1String enumToString(IsdbTTransponder::PartialReception partialReception) +{ + const char *text = ""; + + switch (partialReception) { + case IsdbTTransponder::PR_disabled: text = "No"; break; + case IsdbTTransponder::PR_enabled: text = "Yes"; break; + case IsdbTTransponder::PR_AUTO: text = "AUTO"; break; + } + + return QLatin1String(text); +} + +static QLatin1String enumToString(IsdbTTransponder::SoundBroadcasting soundBroadcasting) +{ + const char *text = ""; + + switch (soundBroadcasting) { + case IsdbTTransponder::SB_disabled: text = "No"; break; + case IsdbTTransponder::SB_enabled: text = "Yes"; break; + case IsdbTTransponder::SB_AUTO: text = "AUTO"; break; + } + + return QLatin1String(text); +} + DvbChannelEditor::DvbChannelEditor(DvbChannelTableModel *model_, const DvbSharedChannel &channel_, - QWidget *parent) : KDialog(parent), model(model_), channel(channel_) + QWidget *parent) : QDialog(parent), model(model_), channel(channel_) { - setCaption(i18nc("@title:window", "Edit Channel")); + setWindowTitle(i18nc("@title:window", "Edit Channel")); QWidget *widget = new QWidget(this); QBoxLayout *mainLayout = new QVBoxLayout(widget); QGridLayout *gridLayout = new QGridLayout(); - nameEdit = new KLineEdit(widget); + nameEdit = new QLineEdit(widget); nameEdit->setText(channel->name); gridLayout->addWidget(nameEdit, 0, 1); @@ -562,6 +733,8 @@ gridLayout->addWidget(new QLabel(i18nc("@label tv channel", "Source:")), 0, 0); gridLayout->addWidget(new QLabel(channel->source), 0, 1); + int row = 11; + switch (channel->transponder.getTransmissionType()) { case DvbTransponderBase::Invalid: break; @@ -626,6 +799,90 @@ gridLayout->addWidget(new QLabel(enumToString(tp->hierarchy)), 8, 1); break; } + case DvbTransponderBase::DvbT2: { + const DvbT2Transponder *tp = channel->transponder.as(); + gridLayout->addWidget(new QLabel(i18n("Frequency (MHz):")), 1, 0); + gridLayout->addWidget( + new QLabel(QString::number(tp->frequency / 1000000.0)), 1, 1); + gridLayout->addWidget(new QLabel(i18n("Bandwidth:")), 2, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->bandwidth)), 2, 1); + gridLayout->addWidget(new QLabel(i18n("Modulation:")), 3, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->modulation)), 3, 1); + gridLayout->addWidget(new QLabel(i18n("FEC rate:")), 4, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->fecRateHigh)), 4, 1); + gridLayout->addWidget(new QLabel(i18n("FEC rate LP:")), 5, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->fecRateLow)), 5, 1); + gridLayout->addWidget(new QLabel(i18n("Transmission mode:")), 6, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->transmissionMode)), 6, 1); + gridLayout->addWidget(new QLabel(i18n("Guard interval:")), 7, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->guardInterval)), 7, 1); + gridLayout->addWidget(new QLabel(i18n("Hierarchy:")), 8, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->hierarchy)), 8, 1); + gridLayout->addWidget(new QLabel(i18n("PLP (stream ID):")), 9, 0); + gridLayout->addWidget( + new QLabel(QString::number(tp->streamId)), 9, 1); + break; + } + case DvbTransponderBase::IsdbT: { + const IsdbTTransponder *tp = channel->transponder.as(); + row= 1; + gridLayout->addWidget(new QLabel(i18n("Frequency (MHz):")), row, 0); + gridLayout->addWidget( + new QLabel(QString::number(tp->frequency / 1000000.0)), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Bandwidth:")), row, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->bandwidth)), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Transmission mode:")), row, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->transmissionMode)), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Guard interval:")), row, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->guardInterval)), row++, 1); + + gridLayout->addWidget(new QLabel(i18n("Partial reception:")), row, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->partialReception)), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Sound broadcasting:")), row, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->soundBroadcasting)), row++, 1); + + if (tp->soundBroadcasting == 1) { + gridLayout->addWidget(new QLabel(i18n("SB channel ID:")), row, 0); + gridLayout->addWidget(new QLabel(QString::number(tp->subChannelId)), row++, 1); + gridLayout->addWidget(new QLabel(i18n("SB index:")), row, 0); + gridLayout->addWidget(new QLabel(QString::number(tp->subChannelId)), row++, 1); + gridLayout->addWidget(new QLabel(i18n("SB count:")), row, 0); + gridLayout->addWidget(new QLabel(QString::number(tp->sbSegmentCount)), row++, 1); + } + + if (tp->layerEnabled[0]) { + gridLayout->addWidget(new QLabel(i18n("Layer A Modulation:")), row, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->modulation[0])), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Layer A FEC rate:")), row, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->fecRate[0])), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Layer A segments:")), row, 0); + gridLayout->addWidget(new QLabel(QString::number(tp->segmentCount[0])), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Layer A interleaving:")), row, 0); + gridLayout->addWidget(new QLabel(QString::number(tp->interleaving[0])), row++, 1); + } + if (tp->layerEnabled[1]) { + gridLayout->addWidget(new QLabel(i18n("Layer B Modulation:")), row, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->modulation[1])), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Layer B FEC rate:")), row, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->fecRate[1])), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Layer B segments:")), row, 0); + gridLayout->addWidget(new QLabel(QString::number(tp->segmentCount[1])), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Layer B interleaving:")), row, 0); + gridLayout->addWidget(new QLabel(QString::number(tp->interleaving[1])), row++, 1); + } + if (tp->layerEnabled[2]) { + gridLayout->addWidget(new QLabel(i18n("Layer C Modulation:")), row, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->modulation[2])), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Layer C FEC rate:")), row, 0); + gridLayout->addWidget(new QLabel(enumToString(tp->fecRate[2])), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Layer C segments:")), row, 0); + gridLayout->addWidget(new QLabel(QString::number(tp->segmentCount[2])), row++, 1); + gridLayout->addWidget(new QLabel(i18n("Layer C interleaving:")), row, 0); + gridLayout->addWidget(new QLabel(QString::number(tp->interleaving[2])), row++, 1); + } + + break; + } case DvbTransponderBase::Atsc: { const AtscTransponder *tp = channel->transponder.as(); gridLayout->addWidget(new QLabel(i18n("Frequency (MHz):")), 1, 0); @@ -639,34 +896,6 @@ gridLayout->addWidget(new QLabel(), 10, 0, 1, 2); - gridLayout->addWidget(new QLabel(i18n("PMT PID:")), 11, 0); - gridLayout->addWidget(new QLabel(QString::number(channel->pmtPid)), 11, 1); - - DvbPmtSection pmtSection(channel->pmtSectionData); - DvbPmtParser pmtParser(pmtSection); - int row = 12; - - if (pmtParser.videoPid >= 0) { - gridLayout->addWidget(new QLabel(i18n("Video PID:")), row, 0); - gridLayout->addWidget(new QLabel(QString::number(pmtParser.videoPid)), row++, 1); - } - - if (!pmtParser.subtitlePids.isEmpty()) { - gridLayout->addWidget(new QLabel(i18n("Subtitle PID:")), row, 0); - } - - for (int i = 0; i < pmtParser.subtitlePids.size(); ++i) { - const QPair &it = pmtParser.subtitlePids.at(i); - gridLayout->addWidget(new QLabel(QString(QLatin1String("%1 (%2)")).arg(it.first).arg(it.second)), - row++, 1); - } - - if (pmtParser.teletextPid != -1) { - gridLayout->addWidget(new QLabel(i18n("Teletext PID:")), row, 0); - gridLayout->addWidget( - new QLabel(QString::number(pmtParser.teletextPid)), row++, 1); - } - gridLayout->addItem(new QSpacerItem(0, 0), row, 0, 1, 2); gridLayout->setRowStretch(row, 1); boxLayout->addWidget(groupBox); @@ -675,28 +904,47 @@ gridLayout = new QGridLayout(groupBox); gridLayout->addWidget(new QLabel(i18n("Network ID:")), 0, 0); + row = 1; + networkIdBox = new QSpinBox(groupBox); networkIdBox->setRange(-1, (1 << 16) - 1); networkIdBox->setValue(channel->networkId); gridLayout->addWidget(networkIdBox, 0, 1); - gridLayout->addWidget(new QLabel(i18n("Transport stream ID:")), 1, 0); + gridLayout->addWidget(new QLabel(i18n("Transport stream ID:")), row, 0); transportStreamIdBox = new QSpinBox(groupBox); transportStreamIdBox->setRange(0, (1 << 16) - 1); transportStreamIdBox->setValue(channel->transportStreamId); - gridLayout->addWidget(transportStreamIdBox, 1, 1); + gridLayout->addWidget(transportStreamIdBox, row++, 1); - gridLayout->addWidget(new QLabel(i18n("Service ID:")), 2, 0); + gridLayout->addWidget(new QLabel(i18n("Service ID:")), row, 0); serviceIdBox = new QSpinBox(groupBox); serviceIdBox->setRange(0, (1 << 16) - 1); serviceIdBox->setValue(channel->serviceId); - gridLayout->addWidget(serviceIdBox, 2, 1); + gridLayout->addWidget(serviceIdBox, row++, 1); + + gridLayout->addWidget(new QLabel(i18n("Audio channel:")), row, 0); + audioStreamBox = new QComboBox(groupBox); + audioStreamBox->setCurrentIndex(audioPids.indexOf(channel->audioPid)); + if (audioPids.size() <= 1) { + audioStreamBox->setEnabled(false); + } + gridLayout->addWidget(audioStreamBox, row++, 1); - gridLayout->addWidget(new QLabel(i18n("Audio channel:")), 3, 0); + gridLayout->addWidget(new QLabel(i18n("Scrambled:")), row, 0); + scrambledBox = new QCheckBox(groupBox); + scrambledBox->setChecked(channel->isScrambled); + gridLayout->addWidget(scrambledBox, row++, 1); + + row++; - audioStreamBox = new KComboBox(groupBox); + gridLayout->addWidget(new QLabel(i18n("PMT PID:")), row, 0); + gridLayout->addWidget(new QLabel(QString::number(channel->pmtPid)), row++, 1); + + DvbPmtSection pmtSection(channel->pmtSectionData); + DvbPmtParser pmtParser(pmtSection); for (int i = 0; i < pmtParser.audioPids.size(); ++i) { const QPair &it = pmtParser.audioPids.at(i); @@ -710,26 +958,41 @@ audioPids.append(it.first); } - audioStreamBox->setCurrentIndex(audioPids.indexOf(channel->audioPid)); - - if (audioPids.size() <= 1) { - audioStreamBox->setEnabled(false); + if (pmtParser.videoPid >= 0) { + gridLayout->addWidget(new QLabel(i18n("Video PID:")), row, 0); + gridLayout->addWidget(new QLabel(QString::number(pmtParser.videoPid)), row++, 1); } - gridLayout->addWidget(audioStreamBox, 3, 1); + if (!pmtParser.subtitlePids.isEmpty()) { + gridLayout->addWidget(new QLabel(i18n("Subtitle PID:")), row, 0); + } - gridLayout->addWidget(new QLabel(i18n("Scrambled:")), 4, 0); + for (int i = 0; i < pmtParser.subtitlePids.size(); ++i) { + const QPair &it = pmtParser.subtitlePids.at(i); + gridLayout->addWidget(new QLabel(QString(QLatin1String("%1 (%2)")).arg(it.first).arg(it.second)), + row++, 1); + } - scrambledBox = new QCheckBox(groupBox); - scrambledBox->setChecked(channel->isScrambled); - gridLayout->addWidget(scrambledBox, 4, 1); + if (pmtParser.teletextPid != -1) { + gridLayout->addWidget(new QLabel(i18n("Teletext PID:")), row, 0); + gridLayout->addWidget( + new QLabel(QString::number(pmtParser.teletextPid)), row++, 1); + } gridLayout->addItem(new QSpacerItem(0, 0), 5, 0, 1, 2); gridLayout->setRowStretch(5, 1); boxLayout->addWidget(groupBox); mainLayout->addLayout(boxLayout); - setMainWidget(widget); + mainLayout = new QVBoxLayout; + setLayout(mainLayout); + mainLayout->addWidget(widget); + + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); + mainLayout->addWidget(buttonBox); + } DvbChannelEditor::~DvbChannelEditor() @@ -751,5 +1014,5 @@ updatedChannel.isScrambled = scrambledBox->isChecked(); model->getChannelModel()->updateChannel(channel, updatedChannel); - KDialog::accept(); + QDialog::accept(); } diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbchanneldialog.h kaffeine-2.0.4+git20160916/src/dvb/dvbchanneldialog.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbchanneldialog.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbchanneldialog.h 2016-09-17 17:18:56.000000000 +0000 @@ -25,7 +25,7 @@ #include "../tablemodel.h" #include "dvbchannel.h" -class KAction; +class QAction; class DvbChannelLessThan { @@ -137,8 +137,8 @@ explicit DvbChannelView(QWidget *parent); ~DvbChannelView(); - KAction *addEditAction(); - KAction *addRemoveAction(); + QAction *addEditAction(); + QAction *addRemoveAction(); void setModel(DvbChannelTableModel *tableModel_); public slots: diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbchanneldialog_p.h kaffeine-2.0.4+git20160916/src/dvb/dvbchanneldialog_p.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbchanneldialog_p.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbchanneldialog_p.h 2016-09-17 17:18:56.000000000 +0000 @@ -21,18 +21,18 @@ #ifndef DVBCHANNELDIALOG_P_H #define DVBCHANNELDIALOG_P_H -#include +#include #include "dvbchannel.h" class QCheckBox; class QSpinBox; -class KComboBox; -class KLineEdit; +class QComboBox; +class QLineEdit; class DvbChannelTableModel; Q_DECLARE_METATYPE(QList) -class DvbChannelEditor : public KDialog +class DvbChannelEditor : public QDialog { public: DvbChannelEditor(DvbChannelTableModel *model_, const DvbSharedChannel &channel_, @@ -44,12 +44,12 @@ DvbChannelTableModel *model; DvbSharedChannel channel; - KLineEdit *nameEdit; + QLineEdit *nameEdit; QSpinBox *numberBox; QSpinBox *networkIdBox; QSpinBox *transportStreamIdBox; QSpinBox *serviceIdBox; - KComboBox *audioStreamBox; + QComboBox *audioStreamBox; QList audioPids; QCheckBox *scrambledBox; }; diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbchannel.h kaffeine-2.0.4+git20160916/src/dvb/dvbchannel.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbchannel.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbchannel.h 2016-09-17 17:18:56.000000000 +0000 @@ -21,6 +21,7 @@ #ifndef DVBCHANNEL_H #define DVBCHANNEL_H +#include #include #include "../shareddata.h" #include "../sqlinterface.h" @@ -105,6 +106,7 @@ bool areInTheSameBunch(DvbSharedChannel channel1, DvbSharedChannel channel2); void dndMoveChannels(const QList &selectedChannels, int insertBeforeNumber); + void channelFlush(); signals: void channelAdded(const DvbSharedChannel &channel); diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbconfigdialog.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbconfigdialog.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbconfigdialog.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbconfigdialog.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,66 +18,82 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbconfigdialog.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include +#include #include #include #include +#include #include +#include +#include #include +#include +#include #include #include #include +#include +#include #include +#include +#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include + #include "dvbconfig.h" +#include "dvbconfigdialog.h" #include "dvbdevice.h" #include "dvbmanager.h" #include "dvbrecording.h" -#include "../log.h" -DvbConfigDialog::DvbConfigDialog(DvbManager *manager_, QWidget *parent) : KDialog(parent), +DvbConfigDialog::DvbConfigDialog(DvbManager *manager_, QWidget *parent) : QDialog(parent), manager(manager_) { + setWindowTitle(i18nc("@title:window", "Configure Television")); - setCaption(i18nc("@title:window", "Configure Television")); - - tabWidget = new KTabWidget(this); - setMainWidget(tabWidget); + tabWidget = new QTabWidget(this); + QVBoxLayout *mainLayout = new QVBoxLayout; + setLayout(mainLayout); + mainLayout->addWidget(tabWidget); + + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); QWidget *widget = new QWidget(tabWidget); + mainLayout->addWidget(widget); QBoxLayout *boxLayout = new QVBoxLayout(widget); QGridLayout *gridLayout = new QGridLayout(); gridLayout->addWidget(new QLabel(i18n("Recording folder:")), 0, 0); - recordingFolderEdit = new KLineEdit(widget); + recordingFolderEdit = new QLineEdit(widget); recordingFolderEdit->setText(manager->getRecordingFolder()); gridLayout->addWidget(recordingFolderEdit, 0, 1); QToolButton *toolButton = new QToolButton(widget); - toolButton->setIcon(KIcon(QLatin1String("document-open-folder"))); + toolButton->setIcon(QIcon::fromTheme(QLatin1String("document-open-folder"), QIcon(":document-open-folder"))); toolButton->setToolTip(i18n("Select Folder")); connect(toolButton, SIGNAL(clicked()), this, SLOT(changeRecordingFolder())); gridLayout->addWidget(toolButton, 0, 2); gridLayout->addWidget(new QLabel(i18n("Time shift folder:")), 1, 0); - timeShiftFolderEdit = new KLineEdit(widget); + timeShiftFolderEdit = new QLineEdit(widget); timeShiftFolderEdit->setText(manager->getTimeShiftFolder()); gridLayout->addWidget(timeShiftFolderEdit, 1, 1); toolButton = new QToolButton(widget); - toolButton->setIcon(KIcon(QLatin1String("document-open-folder"))); + toolButton->setIcon(QIcon::fromTheme(QLatin1String("document-open-folder"), QIcon(":document-open-folder"))); toolButton->setToolTip(i18n("Select Folder")); connect(toolButton, SIGNAL(clicked()), this, SLOT(changeTimeShiftFolder())); gridLayout->addWidget(toolButton, 1, 2); @@ -97,29 +113,26 @@ endMarginBox->setRange(0, 99); endMarginBox->setValue(manager->getEndMargin() / 60); gridLayout->addWidget(endMarginBox, 3, 1); - boxLayout->addLayout(gridLayout); gridLayout->addWidget(new QLabel(i18n("Naming style for recordings:")), 4, 0); - namingFormat = new KLineEdit(widget); + namingFormat = new QLineEdit(widget); namingFormat->setText(manager->getNamingFormat()); namingFormat->setToolTip(i18n("The following substitutions work: \"%year\" for year (YYYY) and the following: %month, %day, %hour, %min, %sec, %channel and %title")); connect(namingFormat, SIGNAL(textChanged(QString)), this, SLOT(namingFormatChanged(QString))); gridLayout->addWidget(namingFormat, 4, 1); - boxLayout->addLayout(gridLayout); - validPixmap = KIcon(QLatin1String("dialog-ok-apply")).pixmap(KIconLoader::SizeSmallMedium); - invalidPixmap = KIcon(QLatin1String("dialog-cancel")).pixmap(KIconLoader::SizeSmallMedium); + validPixmap = QIcon::fromTheme(QLatin1String("dialog-ok-apply"), QIcon(":dialog-ok-apply")).pixmap(22); + invalidPixmap = QIcon::fromTheme(QLatin1String("dialog-cancel"), QIcon(":dialog-cancel")).pixmap(22); namingFormatValidLabel = new QLabel(widget); namingFormatValidLabel->setPixmap(validPixmap); gridLayout->addWidget(namingFormatValidLabel, 4,2); - gridLayout->addWidget(new QLabel(i18n("Action after recording finishes.")), 5, 0); - actionAfterRecordingLineEdit = new KLineEdit(widget); + actionAfterRecordingLineEdit = new QLineEdit(widget); actionAfterRecordingLineEdit->setText(manager->getActionAfterRecording()); actionAfterRecordingLineEdit->setToolTip(i18n("Leave empty for no command.")); gridLayout->addWidget(actionAfterRecordingLineEdit, 5, 1); @@ -134,32 +147,34 @@ override6937CharsetBox->setChecked(manager->override6937Charset()); gridLayout->addWidget(override6937CharsetBox, 1, 1); - gridLayout->addWidget(new QLabel(i18n("Create info files to accompany EPG recordings.")), + gridLayout->addWidget(new QLabel(i18n("Create info files to accompany EPG recordings:")), 2, 0); createInfoFileBox = new QCheckBox(widget); createInfoFileBox->setChecked(manager->createInfoFile()); gridLayout->addWidget(createInfoFileBox, 2, 1); - gridLayout->addWidget(new QLabel(i18n("Scan channels when idle to fetch fresh EPG data.")), +#if 0 + // FIXME: this functionality is not working. Comment it out + + gridLayout->addWidget(new QLabel(i18n("Scan channels when idle to fetch fresh EPG data:")), 3, 0); scanWhenIdleBox = new QCheckBox(widget); scanWhenIdleBox->setChecked(manager->isScanWhenIdle()); gridLayout->addWidget(scanWhenIdleBox, 3, 1); - - boxLayout->addLayout(gridLayout); +#endif QFrame *frame = new QFrame(widget); frame->setFrameShape(QFrame::HLine); boxLayout->addWidget(frame); boxLayout->addWidget(new QLabel(i18n("Scan data last updated on %1", - KGlobal::locale()->formatDate(manager->getScanDataDate(), KLocale::ShortDate)))); + QLocale().toString(manager->getScanDataDate(), QLocale::ShortFormat)))); - QPushButton *pushButton = new QPushButton(i18n("Update scan data over Internet"), widget); + QPushButton *pushButton = new QPushButton(i18n("Update Scan Data over Internet"), widget); connect(pushButton, SIGNAL(clicked()), this, SLOT(updateScanFile())); boxLayout->addWidget(pushButton); - QPushButton *openScanFileButton = new QPushButton(i18n("Edit scanfile"), widget); + QPushButton *openScanFileButton = new QPushButton(i18n("Edit Scanfile"), widget); connect(openScanFileButton, SIGNAL(clicked()), this, SLOT(openScanFile())); boxLayout->addWidget(openScanFileButton); openScanFileButton->setToolTip(i18n("You can add channels manually to this file before scanning for them.")); @@ -168,41 +183,18 @@ frame->setFrameShape(QFrame::HLine); boxLayout->addWidget(frame); - boxLayout->addWidget(new QLabel(i18n("Your position (only needed for USALS rotor)"))); - - gridLayout = new QGridLayout(); - gridLayout->addWidget(new QLabel(i18n("Latitude:")), 0, 0); - gridLayout->addWidget(new QLabel(i18n("[S -90 ... 90 N]")), 0, 1); - - latitudeEdit = new KLineEdit(widget); - latitudeEdit->setText(QString::number(manager->getLatitude(), 'g', 10)); - connect(latitudeEdit, SIGNAL(textChanged(QString)), this, SLOT(latitudeChanged(QString))); - gridLayout->addWidget(latitudeEdit, 0, 2); + boxLayout->addLayout(gridLayout); - validPixmap = KIcon(QLatin1String("dialog-ok-apply")).pixmap(KIconLoader::SizeSmallMedium); - invalidPixmap = KIcon(QLatin1String("dialog-cancel")).pixmap(KIconLoader::SizeSmallMedium); + QStyleOptionTab option; + option.initFrom(tabWidget); + int metric = style()->pixelMetric(QStyle::PM_SmallIconSize, &option, tabWidget); - latitudeValidLabel = new QLabel(widget); - latitudeValidLabel->setPixmap(validPixmap); - gridLayout->addWidget(latitudeValidLabel, 0, 3); - - gridLayout->addWidget(new QLabel(i18n("Longitude:")), 1, 0); - gridLayout->addWidget(new QLabel(i18n("[W -180 ... 180 E]")), 1, 1); - - longitudeEdit = new KLineEdit(widget); - longitudeEdit->setText(QString::number(manager->getLongitude(), 'g', 10)); - connect(longitudeEdit, SIGNAL(textChanged(QString)), - this, SLOT(longitudeChanged(QString))); - gridLayout->addWidget(longitudeEdit, 1, 2); - - longitudeValidLabel = new QLabel(widget); - longitudeValidLabel->setPixmap(validPixmap); - gridLayout->addWidget(longitudeValidLabel, 1, 3); - boxLayout->addLayout(gridLayout); + validPixmap = QIcon::fromTheme(QLatin1String("dialog-ok-apply"), QIcon(":dialog-ok-apply")).pixmap(metric); + invalidPixmap = QIcon::fromTheme(QLatin1String("dialog-cancel"), QIcon(":dialog-cancel")).pixmap(metric); boxLayout->addStretch(); - tabWidget->addTab(widget, KIcon(QLatin1String("configure")), i18n("General Options")); + tabWidget->addTab(widget, QIcon::fromTheme(QLatin1String("configure"), QIcon(":configure")), i18n("General Options")); QWidget *widgetAutomaticRecording = new QWidget(tabWidget); QBoxLayout *boxLayoutAutomaticRecording = new QVBoxLayout(widgetAutomaticRecording); @@ -215,7 +207,7 @@ int j = 0; foreach (const QString regex, manager->getRecordingRegexList()) { RegexInputLine *inputLine = new RegexInputLine(); - inputLine->lineEdit = new KLineEdit(widget); + inputLine->lineEdit = new QLineEdit(widget); inputLine->lineEdit->setText(regex); regexGrid->addWidget(inputLine->lineEdit, j, 0); inputLine->checkBox = new QCheckBox(widget); @@ -232,12 +224,10 @@ j = j + 1; } - - boxLayoutAutomaticRecording->addLayout(buttonGrid); boxLayoutAutomaticRecording->addLayout(regexGrid); - tabWidget->insertTab(1, widgetAutomaticRecording, KIcon(QLatin1String("configure")), + tabWidget->addTab(widgetAutomaticRecording, QIcon::fromTheme(QLatin1String("configure"), QIcon(":configure")), i18n("Automatic Recording")); // @@ -251,15 +241,20 @@ this, SLOT(moveRight(DvbConfigPage*))); connect(configPage, SIGNAL(remove(DvbConfigPage*)), this, SLOT(remove(DvbConfigPage*))); - tabWidget->addTab(configPage, KIcon(QLatin1String("video-television")), i18n("Device %1", i)); + tabWidget->addTab(configPage, QIcon::fromTheme(QLatin1String("video-television"), QIcon(":video-television")), i18n("Device %1", i)); configPages.append(configPage); ++i; } + // Use a size that would allow show multiple devices + resize(100 * fontMetrics().averageCharWidth(), 28 * fontMetrics().height()); + if (!configPages.isEmpty()) { configPages.at(0)->setMoveLeftEnabled(false); configPages.at(configPages.size() - 1)->setMoveRightEnabled(false); } + + mainLayout->addWidget(buttonBox); } DvbConfigDialog::~DvbConfigDialog() @@ -268,7 +263,7 @@ void DvbConfigDialog::changeRecordingFolder() { - QString path = KFileDialog::getExistingDirectory(recordingFolderEdit->text(), this); + QString path = QFileDialog::getExistingDirectory(this, QString(), recordingFolderEdit->text()); if (path.isEmpty()) { return; @@ -279,7 +274,7 @@ void DvbConfigDialog::changeTimeShiftFolder() { - QString path = KFileDialog::getExistingDirectory(timeShiftFolderEdit->text(), this); + QString path = QFileDialog::getExistingDirectory(this, QString(), timeShiftFolderEdit->text()); if (path.isEmpty()) { return; @@ -290,7 +285,7 @@ void DvbConfigDialog::updateScanFile() { - KDialog *dialog = new DvbScanFileDownloadDialog(manager, this); + QDialog *dialog = new DvbScanFileDownloadDialog(manager, this); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setModal(true); dialog->show(); @@ -300,7 +295,7 @@ { RegexInputLine *inputLine = new RegexInputLine(); - inputLine->lineEdit = new KLineEdit(tabWidget); + inputLine->lineEdit = new QLineEdit(tabWidget); inputLine->lineEdit->setText(""); regexGrid->addWidget(inputLine->lineEdit, regexInputList.size(), 0); @@ -323,10 +318,10 @@ */ void deleteChildWidgets(QLayoutItem *item) { if (item->layout()) { - // Process all child items recursively. - for (int i = 0; i < item->layout()->count(); i++) { - deleteChildWidgets(item->layout()->itemAt(i)); - } + // Process all child items recursively. + for (int i = 0; i < item->layout()->count(); i++) { + deleteChildWidgets(item->layout()->itemAt(i)); + } } delete item->widget(); } @@ -341,22 +336,25 @@ void DvbConfigDialog::removeWidgets(QGridLayout *layout, int row, int column, bool deleteWidgets) { // We avoid usage of QGridLayout::itemAtPosition() here to improve performance. for (int i = layout->count() - 1; i >= 0; i--) { - int r, c, rs, cs; - layout->getItemPosition(i, &r, &c, &rs, &cs); - if ((r <= row && r + rs - 1 >= row) || (c <= column && c + cs - 1 >= column)) { - // This layout item is subject to deletion. - QLayoutItem *item = layout->takeAt(i); - if (deleteWidgets) { - deleteChildWidgets(item); - } - delete item; - } + int r, c, rs, cs; + layout->getItemPosition(i, &r, &c, &rs, &cs); + if ((r <= row && r + rs - 1 >= row) || (c <= column && c + cs - 1 >= column)) { + // This layout item is subject to deletion. + QLayoutItem *item = layout->takeAt(i); + if (deleteWidgets) { + deleteChildWidgets(item); + } + delete item; + } } } void DvbConfigDialog::initRegexButtons(QGridLayout *buttonGrid) { - KAction *action = new KAction(KIcon(QLatin1String("list-add")), i18nc("@action", "Add new Regex"), tabWidget); + QWidgetAction *action = new QWidgetAction(tabWidget); + action->setIcon(QIcon::fromTheme(QLatin1String("list-add"), QIcon(":list-add"))); + action->setText(i18nc("@action", "Add new Regex")); + connect(action, SIGNAL(triggered()), this, SLOT(newRegex())); tabWidget->addAction(action); QPushButton *pushButtonAdd = new QPushButton(action->icon(), action->text(), tabWidget); @@ -364,7 +362,9 @@ buttonGrid->addWidget(pushButtonAdd, 0, 0); pushButtonAdd->setToolTip(i18n("Add another regular expression.")); - action = new KAction(KIcon(QLatin1String("edit-delete")), i18nc("@action", "Remove Regex"), tabWidget); + action = new QWidgetAction(tabWidget); + action->setIcon(QIcon::fromTheme(QLatin1String("edit-delete"), QIcon(":edit-delete"))); + action->setText(i18nc("@action", "Remove Regex")); connect(action, SIGNAL(triggered()), this, SLOT(removeRegex())); tabWidget->addAction(action); QPushButton *pushButtonRemove = new QPushButton(action->icon(), action->text(), tabWidget); @@ -376,7 +376,7 @@ void DvbConfigDialog::removeRegex() { //regexGrid = new QGridLayout(tabWidget); - //regexBoxMap = QMap(); + //regexBoxMap = QMap(); QList copyList = QList(); foreach(RegexInputLine *inputLine, regexInputList) { @@ -384,11 +384,11 @@ } foreach(RegexInputLine *inputLine, copyList) { - Log("DvbConfigDialog::removeRegex: list:"); + qDebug("list:"); if (inputLine->checkBox->isChecked()){ - Log("DvbConfigDialog::removeRegex: checked:"); + qDebug("checked:"); if (regexInputList.removeOne(inputLine)) { - Log("DvbConfigDialog::removeRegex: removed:"); + qDebug("removed:"); } } } @@ -404,7 +404,7 @@ int j = 0; foreach (RegexInputLine *oldLine, regexInputList) { RegexInputLine *inputLine = new RegexInputLine(); - inputLine->lineEdit = new KLineEdit(); + inputLine->lineEdit = new QLineEdit(); inputLine->lineEdit->setText(oldLine->lineEdit->text()); regexGrid->addWidget(inputLine->lineEdit, j, 0); inputLine->checkBox = new QCheckBox(); @@ -422,41 +422,17 @@ boxLayoutAutomaticRecording->addLayout(buttonGrid); boxLayoutAutomaticRecording->addLayout(regexGrid); tabWidget->removeTab(1); - tabWidget->addTab(widgetAutomaticRecording, KIcon(QLatin1String("configure")), i18n("Automatic Recording")); - tabWidget->moveTab(tabWidget->count()-1, 1); + tabWidget->addTab(widgetAutomaticRecording, QIcon::fromTheme(QLatin1String("configure"), QIcon(":configure")), i18n("Automatic Recording")); + tabWidget->move(tabWidget->count()-1, 1); tabWidget->setCurrentIndex(1); } void DvbConfigDialog::openScanFile() { - QString file(KStandardDirs::locateLocal("appdata", QLatin1String("scanfile.dvb"))); + QString file(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/scanfile.dvb")); QDesktopServices::openUrl(QUrl(file)); } -void DvbConfigDialog::latitudeChanged(const QString &text) -{ - bool ok; - toLatitude(text, &ok); - - if (ok) { - latitudeValidLabel->setPixmap(validPixmap); - } else { - latitudeValidLabel->setPixmap(invalidPixmap); - } -} - -void DvbConfigDialog::longitudeChanged(const QString &text) -{ - bool ok; - toLongitude(text, &ok); - - if (ok) { - longitudeValidLabel->setPixmap(validPixmap); - } else { - longitudeValidLabel->setPixmap(invalidPixmap); - } -} - void DvbConfigDialog::namingFormatChanged(QString text) { QString temp = text.replace("%year", " "); @@ -495,11 +471,11 @@ configPages.at(index - 1)->setMoveRightEnabled(true); } - // configPages and tabWidget indexes differ by one - tabWidget->insertTab(index, configPages.at(index - 1), KIcon(QLatin1String("video-television")), + // configPages and tabWidget indexes differ by two + tabWidget->insertTab(index + 1, configPages.at(index - 1), QIcon::fromTheme(QLatin1String("video-television"), QIcon(":video-television")), i18n("Device %1", index)); - tabWidget->setTabText(index + 1, i18n("Device %1", index + 1)); - tabWidget->setCurrentIndex(index); + tabWidget->setTabText(index + 2, i18n("Device %1", index + 1)); + tabWidget->setCurrentIndex(index + 1); } void DvbConfigDialog::moveRight(DvbConfigPage *configPage) @@ -522,11 +498,11 @@ configPages.at(index - 1)->setMoveRightEnabled(true); } - // configPages and tabWidget indexes differ by one - tabWidget->insertTab(index, configPages.at(index - 1), KIcon(QLatin1String("video-television")), + // configPages and tabWidget indexes differ by two + tabWidget->insertTab(index + 1, configPages.at(index - 1), QIcon::fromTheme(QLatin1String("video-television"), QIcon(":video-television")), i18n("Device %1", index)); - tabWidget->setTabText(index + 1, i18n("Device %1", index + 1)); - tabWidget->setCurrentIndex(index + 1); + tabWidget->setTabText(index + 2, i18n("Device %1", index + 1)); + tabWidget->setCurrentIndex(index + 2); } void DvbConfigDialog::remove(DvbConfigPage *configPage) @@ -548,43 +524,11 @@ } for (; index < configPages.size(); ++index) { - // configPages and tabWidget indexes differ by one - tabWidget->setTabText(index + 1, i18n("Device %1", index + 1)); + // configPages and tabWidget indexes differ by two + tabWidget->setTabText(index + 2, i18n("Device %1", index + 1)); } } -double DvbConfigDialog::toLatitude(const QString &text, bool *ok) -{ - if (text.isEmpty()) { - *ok = true; - return 0; - } - - double value = text.toDouble(ok); - - if (qAbs(value) > 90) { - *ok = false; - } - - return value; -} - -double DvbConfigDialog::toLongitude(const QString &text, bool *ok) -{ - if (text.isEmpty()) { - *ok = true; - return 0; - } - - double value = text.toDouble(ok); - - if (qAbs(value) > 180) { - *ok = false; - } - - return value; -} - void DvbConfigDialog::accept() { manager->setRecordingFolder(recordingFolderEdit->text()); @@ -595,28 +539,18 @@ manager->setEndMargin(endMarginBox->value() * 60); manager->setOverride6937Charset(override6937CharsetBox->isChecked()); manager->setCreateInfoFile(createInfoFileBox->isChecked()); +#if 0 manager->setScanWhenIdle(scanWhenIdleBox->isChecked()); +#endif manager->setRecordingRegexList(QStringList()); manager->setRecordingRegexPriorityList(QList()); foreach (RegexInputLine *regexInputLine, regexInputList) { manager->addRecordingRegex(regexInputLine->lineEdit->text()); - Log("DvbConfigDialog::accept: saved regex:") << - regexInputLine->lineEdit->text(); + qDebug("saved regex: %s", qPrintable(regexInputLine->lineEdit->text())); manager->addRecordingRegexPriority(regexInputLine->spinBox->value()); - Log("DvbConfigDialog::accept: saved priority:") << - regexInputLine->spinBox->value(); - } - - bool latitudeOk; - bool longitudeOk; - double latitude = toLatitude(latitudeEdit->text(), &latitudeOk); - double longitude = toLongitude(longitudeEdit->text(), &longitudeOk); - - if (latitudeOk && longitudeOk) { - manager->setLatitude(latitude); - manager->setLongitude(longitude); + qDebug("saved priority: %i", regexInputLine->spinBox->value()); } QList configUpdates; @@ -632,29 +566,41 @@ manager->getRecordingModel()->removeDuplicates(); manager->getRecordingModel()->disableConflicts(); //manager->getRecordingModel()->scanChannels(); + manager->writeDeviceConfigs(); - KDialog::accept(); + QDialog::accept(); } DvbScanFileDownloadDialog::DvbScanFileDownloadDialog(DvbManager *manager_, QWidget *parent) : - KDialog(parent), manager(manager_) + QDialog(parent), manager(manager_) { - setButtons(KDialog::Cancel); - setCaption(i18n("Update Scan Data")); + setWindowTitle(i18n("Update Scan Data")); + + QWidget *mainWidget = new QWidget(this); + mainLayout = new QVBoxLayout; + setLayout(mainLayout); + mainLayout->addWidget(mainWidget); + + buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); + connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); QWidget *widget = new QWidget(this); - setMainWidget(widget); + mainLayout->addWidget(widget); - QBoxLayout *layout = new QVBoxLayout(widget); + mainLayout->addWidget(widget); label = new QLabel(i18n("Downloading scan data"), widget); - layout->addWidget(label); + mainLayout->addWidget(label); progressBar = new QProgressBar(widget); + mainLayout->addWidget(progressBar); progressBar->setRange(0, 100); - layout->addWidget(progressBar); - job = KIO::get(KUrl("http://kaffeine.kde.org/scanfile.dvb.qz"), KIO::NoReload, + mainLayout->addWidget(buttonBox); + + job = KIO::get(QUrl("https://autoconfig.kde.org/kaffeine/scantable.dvb.qz"), KIO::NoReload, KIO::HideProgressInfo); // FIXME NoReload or Reload? job->setAutoDelete(false); connect(job, SIGNAL(percent(KJob*,ulong)), @@ -686,7 +632,6 @@ void DvbScanFileDownloadDialog::jobFinished() { progressBar->setValue(100); - setButtons(KDialog::Close); if (job->error() != 0) { if (job->error() == KJob::KilledJobError) { @@ -699,6 +644,7 @@ } if (manager->updateScanData(scanData)) { + buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); label->setText(i18n("Scan data successfully updated. Changes take\n" "effect after you have closed the configuration dialog.")); } else { @@ -714,22 +660,22 @@ boxLayout->addWidget(new QLabel(i18n("Name: %1", deviceConfig->frontendName))); QBoxLayout *horizontalLayout = new QHBoxLayout(); - moveLeftButton = new QPushButton(KIcon(QLatin1String("arrow-left")), i18n("Move Left"), this); + moveLeftButton = new QPushButton(QIcon::fromTheme(QLatin1String("arrow-left"), QIcon(":arrow-left")), i18n("Move Left"), this); connect(moveLeftButton, SIGNAL(clicked()), this, SLOT(moveLeft())); horizontalLayout->addWidget(moveLeftButton); if (deviceConfig->device != NULL) { - QPushButton *pushButton = new QPushButton(KIcon(QLatin1String("edit-undo")), i18n("Reset"), this); + QPushButton *pushButton = new QPushButton(QIcon::fromTheme(QLatin1String("edit-undo"), QIcon(":edit-undo")), i18n("Reset"), this); connect(pushButton, SIGNAL(clicked()), this, SIGNAL(resetConfig())); horizontalLayout->addWidget(pushButton); } else { QPushButton *pushButton = - new QPushButton(KIcon(QLatin1String("edit-delete")), i18nc("@action", "Remove"), this); + new QPushButton(QIcon::fromTheme(QLatin1String("edit-delete"), QIcon(":edit-delete")), i18nc("@action", "Remove"), this); connect(pushButton, SIGNAL(clicked()), this, SLOT(removeConfig())); horizontalLayout->addWidget(pushButton); } - moveRightButton = new QPushButton(KIcon(QLatin1String("arrow-right")), i18n("Move Right"), this); + moveRightButton = new QPushButton(QIcon::fromTheme(QLatin1String("arrow-right"), QIcon(":arrow-right")), i18n("Move Right"), this); connect(moveRightButton, SIGNAL(clicked()), this, SLOT(moveRight())); horizontalLayout->addWidget(moveRightButton); boxLayout->addLayout(horizontalLayout); @@ -748,6 +694,7 @@ QList dvbSConfigs; DvbConfig dvbTConfig; DvbConfig atscConfig; + DvbConfig isdbTConfig; foreach (const DvbConfig &config, deviceConfig->configs) { switch (config->getTransmissionType()) { @@ -763,6 +710,9 @@ case DvbConfigBase::Atsc: atscConfig = config; break; + case DvbConfigBase::IsdbT: + isdbTConfig = config; + break; } } @@ -775,7 +725,7 @@ dvbCConfig = DvbConfig(config); } - new DvbConfigObject(this, boxLayout, manager, dvbCConfig.data()); + new DvbConfigObject(this, boxLayout, manager, dvbCConfig.data(), false); configs.append(dvbCConfig); } @@ -788,11 +738,17 @@ addHSeparator(i18n("DVB-S")); } - dvbSObject = new DvbSConfigObject(this, boxLayout, manager, dvbSConfigs, dvbS2); + dvbSObject = new DvbSConfigObject(this, boxLayout, manager, dvbSConfigs, deviceConfig->device, dvbS2); } if ((transmissionTypes & DvbDevice::DvbT) != 0) { - addHSeparator(i18n("DVB-T")); + bool dvbT2 = ((transmissionTypes & DvbDevice::DvbT2) != 0); + + if (dvbT2) { + addHSeparator(i18n("DVB-T2")); + } else { + addHSeparator(i18n("DVB-T")); + } if (dvbTConfig.constData() == NULL) { DvbConfigBase *config = new DvbConfigBase(DvbConfigBase::DvbT); @@ -800,7 +756,7 @@ dvbTConfig = DvbConfig(config); } - new DvbConfigObject(this, boxLayout, manager, dvbTConfig.data()); + new DvbConfigObject(this, boxLayout, manager, dvbTConfig.data(), dvbT2); configs.append(dvbTConfig); } @@ -813,10 +769,23 @@ atscConfig = DvbConfig(config); } - new DvbConfigObject(this, boxLayout, manager, atscConfig.data()); + new DvbConfigObject(this, boxLayout, manager, atscConfig.data(), false); configs.append(atscConfig); } + if ((transmissionTypes & DvbDevice::IsdbT) != 0) { + addHSeparator(i18n("ISDB-T")); + + if (isdbTConfig.constData() == NULL) { + DvbConfigBase *config = new DvbConfigBase(DvbConfigBase::IsdbT); + config->timeout = 1500; + isdbTConfig = DvbConfig(config); + } + + new DvbConfigObject(this, boxLayout, manager, isdbTConfig.data(), false); + configs.append(isdbTConfig); + } + boxLayout->addStretch(); } @@ -881,7 +850,7 @@ } DvbConfigObject::DvbConfigObject(QWidget *parent, QBoxLayout *layout, DvbManager *manager, - DvbConfigBase *config_) : QObject(parent), config(config_) + DvbConfigBase *config_, bool isGen2) : QObject(parent), config(config_) { QStringList sources; int sourceIndex = -1; @@ -896,13 +865,18 @@ // handled separately break; case DvbConfigBase::DvbT: - defaultName = i18n("Terrestrial"); sources.append(QLatin1String("AUTO-Normal")); sources.append(QLatin1String("AUTO-Offsets")); sources.append(QLatin1String("AUTO-Australia")); sources.append(QLatin1String("AUTO-Italy")); sources.append(QLatin1String("AUTO-Taiwan")); - sources += manager->getScanSources(DvbManager::DvbT); + if (isGen2) { + defaultName = i18n("Terrestrial (T2)"); + sources += manager->getScanSources(DvbManager::DvbT2); + } else { + defaultName = i18n("Terrestrial"); + sources += manager->getScanSources(DvbManager::DvbT); + } sourceIndex = sources.indexOf(config->scanSource); sources.replace(0, i18n("Autoscan")); sources.replace(1, i18n("Autoscan with 167 kHz Offsets")); @@ -915,6 +889,13 @@ sources = manager->getScanSources(DvbManager::Atsc); sourceIndex = sources.indexOf(config->scanSource); break; + case DvbConfigBase::IsdbT: + defaultName = i18n("ISDB-T"); + sources.append(QLatin1String("AUTO-UHF-6MHz")); + sources.replace(0, i18n("Autoscan")); + sources += manager->getScanSources(DvbManager::IsdbT); + sourceIndex = sources.indexOf(config->scanSource); + break; } QGridLayout *gridLayout = new QGridLayout(); @@ -931,7 +912,7 @@ gridLayout->addWidget(new QLabel(i18n("Source:")), 1, 0); - sourceBox = new KComboBox(parent); + sourceBox = new QComboBox(parent); sourceBox->addItem(i18n("No Source")); sourceBox->addItems(sources); sourceBox->setCurrentIndex(sourceIndex + 1); @@ -940,7 +921,7 @@ gridLayout->addWidget(new QLabel(i18n("Name:")), 2, 0); - nameEdit = new KLineEdit(parent); + nameEdit = new QLineEdit(parent); nameEdit->setText(config->name); connect(nameEdit, SIGNAL(editingFinished()), this, SLOT(nameChanged())); gridLayout->addWidget(nameEdit, 2, 1); @@ -1012,7 +993,7 @@ } DvbSConfigObject::DvbSConfigObject(QWidget *parent_, QBoxLayout *boxLayout, DvbManager *manager, - const QList &configs, bool dvbS2) : QObject(parent_), parent(parent_) + const QList &configs, DvbDevice *device_, bool dvbS2) : QObject(parent_), parent(parent_), device(device_) { if (!configs.isEmpty()) { lnbConfig = new DvbConfigBase(*configs.at(0)); @@ -1039,7 +1020,7 @@ layout->addWidget(new QLabel(i18n("Configuration:")), 1, 0); - configBox = new KComboBox(parent); + configBox = new QComboBox(parent); configBox->addItem(i18n("DiSEqC Switch")); configBox->addItem(i18n("USALS Rotor")); configBox->addItem(i18n("Positions Rotor")); @@ -1064,7 +1045,7 @@ connect(this, SIGNAL(setDiseqcVisible(bool)), pushButton, SLOT(setVisible(bool))); layout->addWidget(pushButton, lnbNumber + 2, 0); - KComboBox *comboBox = new KComboBox(parent); + QComboBox *comboBox = new QComboBox(parent); comboBox->addItem(i18n("No Source")); comboBox->addItems(sources); comboBox->setCurrentIndex(sources.indexOf(config->scanSource) + 1); @@ -1073,7 +1054,7 @@ diseqcConfigs.append(DvbConfig(config)); lnbConfigs.append(new DvbSLnbConfigObject(timeoutBox, comboBox, pushButton, - config)); + config, device)); } // USALS rotor / Positions rotor @@ -1082,9 +1063,9 @@ connect(this, SIGNAL(setRotorVisible(bool)), pushButton, SLOT(setVisible(bool))); layout->addWidget(pushButton, 6, 0); - lnbConfigs.append(new DvbSLnbConfigObject(timeoutBox, NULL, pushButton, lnbConfig)); + lnbConfigs.append(new DvbSLnbConfigObject(timeoutBox, NULL, pushButton, lnbConfig, device)); - sourceBox = new KComboBox(parent); + sourceBox = new QComboBox(parent); sourceBox->addItems(sources); connect(this, SIGNAL(setRotorVisible(bool)), sourceBox, SLOT(setVisible(bool))); layout->addWidget(sourceBox, 6, 1); @@ -1135,6 +1116,57 @@ connect(pushButton, SIGNAL(clicked()), this, SLOT(removeSatellite())); layout->addWidget(pushButton, 10, 0, 1, 2); + // Latitude/Longitude for USALS rotor + + layout = new QGridLayout(); + + validPixmap = QIcon::fromTheme(QLatin1String("dialog-ok-apply")).pixmap(22); + invalidPixmap = QIcon::fromTheme(QLatin1String("dialog-cancel")).pixmap(22); + + QLabel *label = new QLabel(i18n("Your position:")); + layout->addWidget(label); + connect(this, SIGNAL(setUsalsVisible(bool)), label, SLOT(setVisible(bool))); + + label = new QLabel(i18n("Latitude:")); + layout->addWidget(label, 1, 0); + connect(this, SIGNAL(setUsalsVisible(bool)), label, SLOT(setVisible(bool))); + + label = new QLabel(i18n("[S -90 ... 90 N]")); + layout->addWidget(label, 1, 1); + connect(this, SIGNAL(setUsalsVisible(bool)), label, SLOT(setVisible(bool))); + + latitudeEdit = new QLineEdit(parent); + latitudeEdit->setText(QString::number(lnbConfig->latitude, 'g', 10)); + connect(latitudeEdit, SIGNAL(textChanged(QString)), this, SLOT(latitudeChanged(QString))); + layout->addWidget(latitudeEdit, 1, 2); + connect(this, SIGNAL(setUsalsVisible(bool)), latitudeEdit, SLOT(setVisible(bool))); + + latitudeValidLabel = new QLabel(parent); + latitudeValidLabel->setPixmap(validPixmap); + layout->addWidget(latitudeValidLabel, 1, 3); + connect(this, SIGNAL(setUsalsVisible(bool)), latitudeValidLabel, SLOT(setVisible(bool))); + + label = new QLabel(i18n("Longitude:")); + layout->addWidget(label, 2, 0); + connect(this, SIGNAL(setUsalsVisible(bool)), label, SLOT(setVisible(bool))); + + label = new QLabel(i18n("[W -180 ... 180 E]")); + layout->addWidget(label, 2, 1); + connect(this, SIGNAL(setUsalsVisible(bool)), label, SLOT(setVisible(bool))); + + longitudeEdit = new QLineEdit(parent); + longitudeEdit->setText(QString::number(lnbConfig->longitude, 'g', 10)); + connect(this, SIGNAL(setUsalsVisible(bool)), longitudeEdit, SLOT(setVisible(bool))); + connect(longitudeEdit, SIGNAL(textChanged(QString)), + this, SLOT(longitudeChanged(QString))); + layout->addWidget(longitudeEdit, 2, 2); + + longitudeValidLabel = new QLabel(parent); + longitudeValidLabel->setPixmap(validPixmap); + layout->addWidget(longitudeValidLabel, 2, 3); + boxLayout->addLayout(layout); + connect(this, SIGNAL(setUsalsVisible(bool)), longitudeValidLabel, SLOT(setVisible(bool))); + configChanged(configBox->currentIndex()); connect(parent, SIGNAL(resetConfig()), this, SLOT(resetConfig())); } @@ -1144,6 +1176,64 @@ delete lnbConfig; } + +void DvbSConfigObject::latitudeChanged(const QString &text) +{ + bool ok; + toLatitude(text, &ok); + + if (ok) { + latitudeValidLabel->setPixmap(validPixmap); + } else { + latitudeValidLabel->setPixmap(invalidPixmap); + } +} + +void DvbSConfigObject::longitudeChanged(const QString &text) +{ + bool ok; + toLongitude(text, &ok); + + if (ok) { + longitudeValidLabel->setPixmap(validPixmap); + } else { + longitudeValidLabel->setPixmap(invalidPixmap); + } +} + + +double DvbSConfigObject::toLatitude(const QString &text, bool *ok) +{ + if (text.isEmpty()) { + *ok = true; + return 0; + } + + double value = text.toDouble(ok); + + if (qAbs(value) > 90) { + *ok = false; + } + + return value; +} + +double DvbSConfigObject::toLongitude(const QString &text, bool *ok) +{ + if (text.isEmpty()) { + *ok = true; + return 0; + } + + double value = text.toDouble(ok); + + if (qAbs(value) > 180) { + *ok = false; + } + + return value; +} + void DvbSConfigObject::appendConfigs(QList &list) { int index = configBox->currentIndex(); @@ -1171,6 +1261,17 @@ if (index == 1) { // USALS rotor config->configuration = DvbConfigBase::UsalsRotor; + + bool latitudeOk; + bool longitudeOk; + + double latitude = toLatitude(latitudeEdit->text(), &latitudeOk); + double longitude = toLongitude(longitudeEdit->text(), &longitudeOk); + + if (latitudeOk && longitudeOk) { + config->latitude = latitude; + config->longitude = longitude; + } } else { // Positions rotor config->configuration = DvbConfigBase::PositionsRotor; @@ -1265,15 +1366,14 @@ config->timeout = 1500; config->configuration = DvbConfigBase::DiseqcSwitch; config->lnbNumber = lnbNumber; - config->lowBandFrequency = 9750000; - config->switchFrequency = 11700000; - config->highBandFrequency = 10600000; + config->currentLnb = device->getLnbSatModels().at(0); + config->bpf = 0; return config; } -DvbSLnbConfigObject::DvbSLnbConfigObject(QSpinBox *timeoutSpinBox, KComboBox *sourceBox_, - QPushButton *configureButton_, DvbConfigBase *config_) : QObject(timeoutSpinBox), - sourceBox(sourceBox_), configureButton(configureButton_), config(config_) +DvbSLnbConfigObject::DvbSLnbConfigObject(QSpinBox *timeoutSpinBox, QComboBox *sourceBox_, + QPushButton *configureButton_, DvbConfigBase *config_, DvbDevice *device_) : QObject(timeoutSpinBox), + sourceBox(sourceBox_), configureButton(configureButton_), config(config_), device(device_) { connect(timeoutSpinBox, SIGNAL(valueChanged(int)), this, SLOT(timeoutChanged(int))); connect(configureButton, SIGNAL(clicked()), this, SLOT(configure())); @@ -1293,9 +1393,8 @@ void DvbSLnbConfigObject::resetConfig() { - config->lowBandFrequency = 9750000; - config->switchFrequency = 11700000; - config->highBandFrequency = 10600000; + config->currentLnb = device->getLnbSatModels().at(0); + config->bpf = 0; if (sourceBox != NULL) { sourceBox->setCurrentIndex(0); @@ -1323,161 +1422,138 @@ void DvbSLnbConfigObject::configure() { - KDialog *dialog = new KDialog(configureButton); + QVBoxLayout *mainLayout = new QVBoxLayout(); + + dialog = new QDialog(configureButton); dialog->setAttribute(Qt::WA_DeleteOnClose); - dialog->setCaption(i18n("LNB Settings")); + dialog->setWindowTitle(i18n("LNB Settings")); + dialog->setLayout(mainLayout); + + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + connect(buttonBox, &QDialogButtonBox::accepted, this, &DvbSLnbConfigObject::dialogAccepted); + connect(buttonBox, &QDialogButtonBox::rejected, dialog, &QDialog::reject); QWidget *mainWidget = new QWidget(dialog); QGridLayout *gridLayout = new QGridLayout(mainWidget); - dialog->setMainWidget(mainWidget); + mainLayout->addWidget(mainWidget); lnbSelectionGroup = new QButtonGroup(mainWidget); + lnbSelectionGroup->setExclusive(true); connect(lnbSelectionGroup, SIGNAL(buttonClicked(int)), this, SLOT(selectType(int))); - QRadioButton *radioButton = new QRadioButton(i18n("Universal LNB"), mainWidget); - lnbSelectionGroup->addButton(radioButton, 1); - gridLayout->addWidget(radioButton, 0, 0, 1, 2); - - radioButton = new QRadioButton(i18n("C-band LNB"), mainWidget); - lnbSelectionGroup->addButton(radioButton, 2); - gridLayout->addWidget(radioButton, 1, 0, 1, 2); - - radioButton = new QRadioButton(i18n("C-band Multipoint LNB"), mainWidget); - lnbSelectionGroup->addButton(radioButton, 3); - gridLayout->addWidget(radioButton, 2, 0, 1, 2); - - radioButton = new QRadioButton(i18n("Custom LNB"), mainWidget); - lnbSelectionGroup->addButton(radioButton, 4); - gridLayout->addWidget(radioButton, 3, 0, 1, 2); + int i, size = device->getLnbSatModels().size(); - QFrame *frame = new QFrame(mainWidget); - frame->setFrameShape(QFrame::HLine); - gridLayout->addWidget(frame, 4, 0, 1, 2); + currentType = -1; + + for (i = 0; i < size; i++) { + struct lnbSat lnb = device->getLnbSatModels().at(i); + QRadioButton *radioButton = new QRadioButton(lnb.name, mainWidget); + mainLayout->addWidget(radioButton); + lnbSelectionGroup->addButton(radioButton, i + 1); + gridLayout->addWidget(radioButton, i % ((size + 1) / 2), i / ((size + 1) / 2)); + + if (config->currentLnb.alias.isEmpty() || config->currentLnb.alias == lnb.alias) { + radioButton->setChecked(true); + config->currentLnb = lnb; + currentType = i + 1; + } + } - lowBandLabel = new QLabel(mainWidget); - gridLayout->addWidget(lowBandLabel, 5, 0); + // shouldn't happen, except if the config file has an invalid LNBf + if (currentType < 0) { + config->currentLnb = device->getLnbSatModels().at(0); + currentType = 1; + } - switchLabel = new QLabel(i18n("Switch frequency (MHz)"), mainWidget); - gridLayout->addWidget(switchLabel, 6, 0); + QFrame *frame = new QFrame(mainWidget); + frame->setFrameShape(QFrame::VLine); + gridLayout->addWidget(frame, 0, 3, 6, 1); - highBandLabel = new QLabel(mainWidget); - gridLayout->addWidget(highBandLabel, 7, 0); + // FIXME: Those are actually the IF frequencies + lowBandLabel = new QLabel(i18n("Low frequency (KHz)"), mainWidget); + gridLayout->addWidget(lowBandLabel, 0, 4); lowBandSpinBox = new QSpinBox(mainWidget); - lowBandSpinBox->setRange(0, 13000); - lowBandSpinBox->setValue(config->lowBandFrequency / 1000); - gridLayout->addWidget(lowBandSpinBox, 5, 1); + gridLayout->addWidget(lowBandSpinBox, 0, 5); + lowBandSpinBox->setRange(0, 15000); + lowBandSpinBox->setValue(config->currentLnb.lowFreq); + lowBandSpinBox->setEnabled(false); + + highBandLabel = new QLabel(i18n("High frequency (MHz)"), mainWidget); + gridLayout->addWidget(highBandLabel, 1, 4); + highBandSpinBox = new QSpinBox(mainWidget); + gridLayout->addWidget(highBandSpinBox, 1, 5); + highBandSpinBox->setRange(0, 15000); + highBandSpinBox->setValue(config->currentLnb.highFreq); + highBandSpinBox->setEnabled(false); + switchLabel = new QLabel(i18n("Switch frequency (MHz)"), mainWidget); + gridLayout->addWidget(switchLabel, 2, 4); switchSpinBox = new QSpinBox(mainWidget); - switchSpinBox->setRange(0, 13000); - switchSpinBox->setValue(config->switchFrequency / 1000); - gridLayout->addWidget(switchSpinBox, 6, 1); + gridLayout->addWidget(switchSpinBox, 2, 5); + switchSpinBox->setRange(0, 15000); + switchSpinBox->setValue(config->currentLnb.rangeSwitch); + switchSpinBox->setEnabled(false); - highBandSpinBox = new QSpinBox(mainWidget); - highBandSpinBox->setRange(0, 13000); - highBandSpinBox->setValue(config->highBandFrequency / 1000); - gridLayout->addWidget(highBandSpinBox, 7, 1); - - gridLayout->addItem(new QSpacerItem(0, 0), 8, 0, 1, 2); - gridLayout->setRowStretch(8, 1); - - int lnbType; - - if ((config->lowBandFrequency == 9750000) && (config->switchFrequency == 11700000) && - (config->highBandFrequency == 10600000)) { - lnbType = 1; - } else if ((config->lowBandFrequency == 5150000) && (config->switchFrequency == 0) && - (config->highBandFrequency == 0)) { - lnbType = 2; - } else if ((config->lowBandFrequency == 5750000) && (config->switchFrequency == 0) && - (config->highBandFrequency == 5150000)) { - lnbType = 3; - } else { - lnbType = 4; - } + lowRangeLabel = new QLabel(i18n("Low range: %1 MHz to %2 MHz", config->currentLnb.freqRange[0].low, config->currentLnb.freqRange[0].high), mainWidget); + gridLayout->addWidget(lowRangeLabel, 3, 4, 1, 2); + + highRangeLabel = new QLabel(mainWidget); + gridLayout->addWidget(highRangeLabel, 4, 5, 1, 2); - currentType = 4; - lnbSelectionGroup->button(lnbType)->setChecked(true); - selectType(lnbType); + selectType(currentType); - connect(dialog, SIGNAL(accepted()), this, SLOT(dialogAccepted())); + mainLayout->addWidget(buttonBox); dialog->setModal(true); dialog->show(); + } void DvbSLnbConfigObject::selectType(int type) { - switch (type) { - case 1: - lowBandSpinBox->setValue(9750); - switchSpinBox->setValue(11700); - highBandSpinBox->setValue(10600); - break; + struct lnbSat lnb = device->getLnbSatModels().at(type - 1); - case 2: - lowBandSpinBox->setValue(5150); - switchSpinBox->setValue(0); - highBandSpinBox->setValue(0); - break; - case 3: - lowBandSpinBox->setValue(5750); - switchSpinBox->setValue(0); - highBandSpinBox->setValue(5150); - break; + lowBandSpinBox->setValue(lnb.lowFreq); + if (!lnb.lowFreq) { + lowBandLabel->hide(); + lowBandSpinBox->hide(); + } else { + lowBandLabel->show(); + lowBandSpinBox->show(); } - if (switchSpinBox->value() != 0) { - if (currentType != 1) { - lowBandLabel->setText(i18n("Low band LOF (MHz)")); - - switchLabel->show(); - switchSpinBox->show(); - - highBandLabel->setText(i18n("High band LOF (MHz)")); - highBandLabel->show(); - highBandSpinBox->show(); - } - } else if (highBandSpinBox->value() != 0) { - if (currentType != 3) { - lowBandLabel->setText(i18n("Horizontal LOF (MHz)")); - - switchLabel->hide(); - switchSpinBox->hide(); - - highBandLabel->setText(i18n("Vertical LOF (MHz)")); - highBandLabel->show(); - highBandSpinBox->show(); - } + highBandSpinBox->setValue(lnb.highFreq); + if (!lnb.highFreq) { + highBandLabel->hide(); + highBandSpinBox->hide(); } else { - if (currentType != 2) { - lowBandLabel->setText(i18n("LOF (MHz)")); - - switchLabel->hide(); - switchSpinBox->hide(); + highBandLabel->show(); + highBandSpinBox->show(); + } - highBandLabel->hide(); - highBandSpinBox->hide(); - } + switchSpinBox->setValue(lnb.rangeSwitch); + if (!lnb.rangeSwitch) { + switchLabel->hide(); + switchSpinBox->hide(); + } else { + switchLabel->show(); + switchSpinBox->show(); } - if ((currentType == 4) != (type == 4)) { - if (type == 4) { - lowBandLabel->setEnabled(true); - switchLabel->setEnabled(true); - highBandLabel->setEnabled(true); - lowBandSpinBox->setEnabled(true); - switchSpinBox->setEnabled(true); - highBandSpinBox->setEnabled(true); + lowRangeLabel->setText(i18n("Low range: %1 MHz to %2 MHz", lnb.freqRange[0].low, lnb.freqRange[0].high)); + + if (!lnb.freqRange[1].high) { + if (!lnb.highFreq) { + highRangeLabel->hide(); } else { - lowBandLabel->setEnabled(false); - switchLabel->setEnabled(false); - highBandLabel->setEnabled(false); - lowBandSpinBox->setEnabled(false); - switchSpinBox->setEnabled(false); - highBandSpinBox->setEnabled(false); + highRangeLabel->setText(i18n("Bandstacked")); + highRangeLabel->show(); } + } else { + highRangeLabel->setText(i18n("High range: %1 MHz to %2 MHz", lnb.freqRange[1].low, lnb.freqRange[1].high)); + highRangeLabel->show(); } currentType = type; @@ -1485,7 +1561,8 @@ void DvbSLnbConfigObject::dialogAccepted() { - config->lowBandFrequency = lowBandSpinBox->value() * 1000; - config->switchFrequency = switchSpinBox->value() * 1000; - config->highBandFrequency = highBandSpinBox->value() * 1000; + config->currentLnb = device->getLnbSatModels().at(currentType - 1); + qDebug() << "Selected LNBf:" << config->currentLnb.alias; + + dialog->accept(); } diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbconfigdialog.h kaffeine-2.0.4+git20160916/src/dvb/dvbconfigdialog.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbconfigdialog.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbconfigdialog.h 2016-09-17 17:18:56.000000000 +0000 @@ -21,7 +21,8 @@ #ifndef DVBCONFIGDIALOG_H #define DVBCONFIGDIALOG_H -#include +#include +#include #include #include @@ -33,11 +34,13 @@ class QProgressBar; class QSpinBox; class QTreeWidget; -class KComboBox; +class QComboBox; class QComboBox; class KJob; -class KLineEdit; -class KTabWidget; +class QLineEdit; +class QTabWidget; +class QDialogButtonBox; + namespace KIO { class Job; @@ -48,6 +51,7 @@ class DvbConfigPage; class DvbDeviceConfig; class DvbManager; +class DvbDevice; class DvbSConfigObject; class DvbSLnbConfigObject; @@ -57,13 +61,13 @@ public: int index; - KLineEdit *lineEdit; + QLineEdit *lineEdit; QSpinBox *spinBox; QCheckBox *checkBox; }; -class DvbConfigDialog : public KDialog +class DvbConfigDialog : public QDialog { Q_OBJECT public: @@ -80,16 +84,12 @@ void openScanFile(); void newRegex(); void removeRegex(); - void latitudeChanged(const QString &text); - void longitudeChanged(const QString &text); void namingFormatChanged(QString text); void moveLeft(DvbConfigPage *configPage); void moveRight(DvbConfigPage *configPage); void remove(DvbConfigPage *configPage); private: - static double toLatitude(const QString &text, bool *ok); - static double toLongitude(const QString &text, bool *ok); void removeWidgets(QGridLayout *layout, int row, int column, bool deleteWidgets); void initRegexButtons(QGridLayout *buttonGrid); //void deleteChildWidgets(QLayoutItem *item); @@ -97,29 +97,25 @@ void accept(); DvbManager *manager; - KTabWidget *tabWidget; - KLineEdit *recordingFolderEdit; - KLineEdit *timeShiftFolderEdit; + QTabWidget *tabWidget; + QLineEdit *recordingFolderEdit; + QLineEdit *timeShiftFolderEdit; QSpinBox *beginMarginBox; QSpinBox *endMarginBox; - KLineEdit *namingFormat; + QLineEdit *namingFormat; QCheckBox *override6937CharsetBox; QCheckBox *createInfoFileBox; QCheckBox *scanWhenIdleBox; - KLineEdit *latitudeEdit; - KLineEdit *longitudeEdit; QPixmap validPixmap; QPixmap invalidPixmap; - QLabel *latitudeValidLabel; - QLabel *longitudeValidLabel; QLabel *namingFormatValidLabel; QList configPages; - KLineEdit *actionAfterRecordingLineEdit; + QLineEdit *actionAfterRecordingLineEdit; QGridLayout *regexGrid; QList regexInputList; }; -class DvbScanFileDownloadDialog : public KDialog +class DvbScanFileDownloadDialog : public QDialog { Q_OBJECT public: @@ -137,6 +133,8 @@ QLabel *label; KIO::TransferJob *job; QByteArray scanData; + QVBoxLayout *mainLayout; + QDialogButtonBox *buttonBox; }; class DvbConfigPage : public QWidget @@ -179,7 +177,7 @@ Q_OBJECT public: DvbConfigObject(QWidget *parent, QBoxLayout *layout, DvbManager *manager, - DvbConfigBase *config_); + DvbConfigBase *config_, bool isGen2); ~DvbConfigObject(); private slots: @@ -192,8 +190,8 @@ DvbConfigBase *config; QString defaultName; QSpinBox *timeoutBox; - KComboBox *sourceBox; - KLineEdit *nameEdit; + QComboBox *sourceBox; + QLineEdit *nameEdit; }; class DvbSConfigObject : public QObject @@ -201,7 +199,7 @@ Q_OBJECT public: DvbSConfigObject(QWidget *parent_, QBoxLayout *boxLayout, DvbManager *manager, - const QList &configs, bool dvbS2); + const QList &configs, DvbDevice *device, bool dvbS2); ~DvbSConfigObject(); void appendConfigs(QList &list); @@ -213,6 +211,8 @@ void setPositionsVisible(bool visible); // positions-specific parts of ui private slots: + void latitudeChanged(const QString &text); + void longitudeChanged(const QString &text); void configChanged(int index); void addSatellite(); void removeSatellite(); @@ -220,26 +220,36 @@ private: DvbConfigBase *createConfig(int lnbNumber); + static double toLatitude(const QString &text, bool *ok); + static double toLongitude(const QString &text, bool *ok); QWidget *parent; + DvbDevice *device; DvbConfigBase *lnbConfig; QList diseqcConfigs; QList lnbConfigs; QStringList sources; QGridLayout *layout; QSpinBox *timeoutBox; - KComboBox *configBox; - KComboBox *sourceBox; + QComboBox *configBox; + QComboBox *sourceBox; QSpinBox *rotorSpinBox; QTreeWidget *satelliteView; + QPixmap validPixmap; + QPixmap invalidPixmap; + QLabel *latitudeValidLabel; + QLabel *longitudeValidLabel; + QLineEdit *latitudeEdit; + QLineEdit *longitudeEdit; }; class DvbSLnbConfigObject : public QObject { Q_OBJECT public: - DvbSLnbConfigObject(QSpinBox *timeoutSpinBox, KComboBox *sourceBox_, - QPushButton *configureButton_, DvbConfigBase *config_); + DvbSLnbConfigObject(QSpinBox *timeoutSpinBox, QComboBox *sourceBox_, + QPushButton *configureButton_, DvbConfigBase *config_, + DvbDevice *device_); ~DvbSLnbConfigObject(); void resetConfig(); @@ -252,14 +262,18 @@ void dialogAccepted(); private: - KComboBox *sourceBox; + QComboBox *sourceBox; QPushButton *configureButton; DvbConfigBase *config; + DvbDevice *device; + QDialog *dialog; QButtonGroup *lnbSelectionGroup; QLabel *lowBandLabel; QLabel *switchLabel; QLabel *highBandLabel; + QLabel *lowRangeLabel; + QLabel *highRangeLabel; QSpinBox *lowBandSpinBox; QSpinBox *switchSpinBox; QSpinBox *highBandSpinBox; diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbconfig.h kaffeine-2.0.4+git20160916/src/dvb/dvbconfig.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbconfig.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbconfig.h 2016-09-17 17:18:56.000000000 +0000 @@ -24,6 +24,8 @@ #include #include +#include "dvbbackenddevice.h" + class DvbConfigBase : public QSharedData { public: @@ -33,7 +35,8 @@ DvbS = 1, DvbT = 2, Atsc = 3, - TransmissionTypeMax = Atsc + IsdbT = 4, + TransmissionTypeMax = IsdbT }; DvbConfigBase(TransmissionType transmissionType_) : transmissionType(transmissionType_) { } @@ -49,7 +52,7 @@ int timeout; // tuning timeout (ms) int numberOfTuners; - // only used for DVB-S + // only used for Satellite enum Configuration { @@ -60,11 +63,13 @@ }; Configuration configuration; + + struct lnbSat currentLnb; int lnbNumber; // corresponds to diseqc switch position (0 = first sat etc) // or to rotor position (0 = first position etc) - int lowBandFrequency; // kHz (C-band multipoint: horizontal) - int switchFrequency; // kHz (0 == only low band or C-band multipoint) - int highBandFrequency; // kHz (C-band multipoint: vertical) + int bpf; // Bandpass Frequency for SCR/Unicable + + int latitude, longitude; // degrees - needed for Usals rotor private: TransmissionType transmissionType; diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbdevice.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbdevice.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbdevice.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbdevice.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,15 +18,21 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbdevice.h" -#include "dvbdevice_p.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif #include #include -#include #include -#include "../log.h" + +#include + #include "dvbconfig.h" +#include "dvbdevice.h" +#include "dvbdevice_p.h" #include "dvbmanager.h" #include "dvbsi.h" @@ -71,7 +77,7 @@ { if ((data[3] & 0x10) == 0) { // no payload - Log("DvbSectionFilterInternal::processData: no payload"); + qDebug("MPEG-TS session doesn't have a payload"); return; } @@ -79,12 +85,12 @@ if (bufferValid) { if (continuity == continuityCounter) { - Log("DvbSectionFilterInternal::processData: duplicate packets"); + qDebug("Section duplication: received %d, expecting %d", continuity, continuityCounter + 1); return; } if (continuity != ((continuityCounter + 1) & 0x0f)) { - Log("DvbSectionFilterInternal::processData: discontinuity"); + qDebug("Section discontinuity: received %d, expecting %d", continuity, continuityCounter + 1); bufferValid = false; } } @@ -104,7 +110,7 @@ unsigned char length = data[4]; if (length > 182) { - Log("DvbSectionFilterInternal::processData: no payload or corrupt"); + qDebug("Received a section without payload or corrupted"); return; } @@ -118,7 +124,7 @@ int pointer = quint8(payload[0]); if (pointer >= payloadLength) { - Log("DvbSectionFilterInternal::processData: invalid pointer"); + qDebug("Section with invalid payload pointer"); pointer = (payloadLength - 1); } @@ -151,7 +157,7 @@ if ((end - it) < 3) { if (force) { - Log("DvbSectionFilterInternal::processSections: stray data"); + qDebug("Section with stray data"); it = end; } @@ -162,7 +168,7 @@ static_cast(it[2])) + 3); if (force && (sectionEnd > end)) { - Log("DvbSectionFilterInternal::processSections: short section"); + qDebug("Short section"); sectionEnd = end; } @@ -224,7 +230,7 @@ QLatin1String(".bin")); if (!open(QIODevice::WriteOnly | QIODevice::Truncate)) { - Log("DvbDataDumper::DvbDataDumper: cannot open") << fileName(); + qWarning("Can't open %s", qPrintable(fileName())); } } @@ -283,6 +289,8 @@ { DvbTransponderBase::TransmissionType transmissionType = transponder.getTransmissionType(); + autoTransponder.setTransmissionType(transmissionType); + if ((transmissionType != DvbTransponderBase::DvbS) && (transmissionType != DvbTransponderBase::DvbS2)) { if (backend->tune(transponder)) { @@ -293,75 +301,32 @@ } else { setDeviceState(DeviceTuning); setDeviceState(DeviceIdle); + autoTransponder.setTransmissionType(DvbTransponderBase::Invalid); } return; } - DvbTransponder intermediate = transponder; - DvbSTransponder *dvbSTransponder = NULL; - DvbS2Transponder *dvbS2Transponder = NULL; bool moveRotor = false; + DvbTransponder intermediate = transponder; - if (transmissionType == DvbTransponderBase::DvbS) { - dvbSTransponder = intermediate.as(); - } else { - // DVB-S2 - dvbS2Transponder = intermediate.as(); - dvbSTransponder = dvbS2Transponder; - } - - // parameters - - bool horPolar = (dvbSTransponder->polarization == DvbSTransponder::Horizontal) || - (dvbSTransponder->polarization == DvbSTransponder::CircularLeft); - - int frequency = dvbSTransponder->frequency; - bool highBand = false; - - if (config->switchFrequency != 0) { - // dual LO (low / high) - if (frequency < config->switchFrequency) { - frequency = qAbs(frequency - config->lowBandFrequency); - } else { - frequency = qAbs(frequency - config->highBandFrequency); - highBand = true; - } - } else if (config->highBandFrequency != 0) { - // single LO (horizontal / vertical) - if (horPolar) { - frequency = qAbs(frequency - config->lowBandFrequency); - } else { - frequency = qAbs(frequency - config->highBandFrequency); - } - } else { - // single LO - frequency = qAbs(frequency - config->lowBandFrequency); - } - - // tone off - - backend->setTone(ToneOff); + // DVB LNBf IF and DiSeqC switch settings - // horizontal / circular left --> 18V ; vertical / circular right --> 13V + int satNumber = 0; // No DiseqC Switch - backend->setVoltage(horPolar ? Voltage18V : Voltage13V); + if (config->configuration == DvbConfigBase::DiseqcSwitch) + satNumber = config->lnbNumber + 1; - // diseqc / rotor + // FIXME: add support for SCR/Unicable + if (!backend->satSetup(config->currentLnb.alias, satNumber, 0)) + return; - usleep(15000); + // rotor switch (config->configuration) { - case DvbConfigBase::DiseqcSwitch: { - char cmd[] = { char(0xe0), 0x10, 0x38, 0x00 }; - cmd[3] = 0xf0 | char(config->lnbNumber << 2) | (horPolar ? 2 : 0) | (highBand ? 1 : 0); - backend->sendMessage(cmd, sizeof(cmd)); - usleep(15000); - - backend->sendBurst(((config->lnbNumber & 0x1) == 0) ? BurstMiniA : BurstMiniB); - usleep(15000); + case DvbConfigBase::DiseqcSwitch: + // Everything was already prepared via satSetup(). break; - } case DvbConfigBase::UsalsRotor: { QString source = config->scanSource; @@ -378,15 +343,13 @@ orbitalPosition = (-source.toDouble(&ok)); } - if (!ok) { - Log("DvbDevice::tune: cannot extract orbital position from") << - config->scanSource; - } + if (!ok) + qWarning("Can't extract orbital position from %s", qPrintable(config->scanSource)); double radius = 6378; double semiMajorAxis = 42164; - double temp = (radius * cos(DvbManager::getLatitude() * M_PI / 180)); - double temp2 = ((orbitalPosition - DvbManager::getLongitude()) * M_PI / 180); + double temp = (radius * cos(config->latitude * M_PI / 180)); + double temp2 = ((orbitalPosition - config->longitude) * M_PI / 180); double angle = (temp2 + atan(sin(temp2) / ((semiMajorAxis / temp) - cos(temp2)))); int value = 0; @@ -401,6 +364,7 @@ } char cmd[] = { char(0xe0), 0x31, 0x6e, char(value / 256), char(value % 256) }; + usleep(15000); backend->sendMessage(cmd, sizeof(cmd)); usleep(15000); moveRotor = true; @@ -409,6 +373,7 @@ case DvbConfigBase::PositionsRotor: { char cmd[] = { char(0xe0), 0x31, 0x6b, char(config->lnbNumber) }; + usleep(15000); backend->sendMessage(cmd, sizeof(cmd)); usleep(15000); moveRotor = true; @@ -416,14 +381,8 @@ } } - // low band --> tone off ; high band --> tone on - - backend->setTone(highBand ? ToneOn : ToneOff); - // tune - dvbSTransponder->frequency = frequency; - if (backend->tune(intermediate)) { if (!moveRotor) { setDeviceState(DeviceTuning); @@ -438,39 +397,53 @@ } else { setDeviceState(DeviceTuning); setDeviceState(DeviceIdle); + autoTransponder.setTransmissionType(DvbTransponderBase::Invalid); } } void DvbDevice::autoTune(const DvbTransponder &transponder) { - if (transponder.getTransmissionType() != DvbTransponderBase::DvbT) { - Log("DvbDevice::autoTune: can't handle != DVB-T"); - return; - } + DvbTransponderBase::TransmissionType transmissionType = transponder.getTransmissionType(); - isAuto = true; autoTransponder = transponder; - DvbTTransponder *autoTTransponder = autoTransponder.as(); - capabilities = backend->getCapabilities(); - // we have to iterate over unsupported AUTO values + if (transmissionType == DvbTransponderBase::DvbT) { + DvbTTransponder *autoTTransponder = autoTransponder.as(); + capabilities = backend->getCapabilities(); - if ((capabilities & DvbTFecAuto) == 0) { - autoTTransponder->fecRateHigh = DvbTTransponder::Fec2_3; - } + // we have to iterate over unsupported AUTO values - if ((capabilities & DvbTGuardIntervalAuto) == 0) { - autoTTransponder->guardInterval = DvbTTransponder::GuardInterval1_8; - } + if ((capabilities & DvbTFecAuto) == 0) { + autoTTransponder->fecRateHigh = DvbTTransponder::Fec2_3; + } - if ((capabilities & DvbTModulationAuto) == 0) { - autoTTransponder->modulation = DvbTTransponder::Qam64; - } + if ((capabilities & DvbTGuardIntervalAuto) == 0) { + autoTTransponder->guardInterval = DvbTTransponder::GuardInterval1_8; + } + + if ((capabilities & DvbTModulationAuto) == 0) { + autoTTransponder->modulation = DvbTTransponder::Qam64; + } - if ((capabilities & DvbTTransmissionModeAuto) == 0) { - autoTTransponder->transmissionMode = DvbTTransponder::TransmissionMode8k; + if ((capabilities & DvbTTransmissionModeAuto) == 0) { + autoTTransponder->transmissionMode = DvbTTransponder::TransmissionMode8k; + } + isAuto = true; + tune(autoTransponder); + } else if (transmissionType == DvbTransponderBase::DvbT2) { + // I guess all DVB-T2 devices support auto-detection + isAuto = true; + tune(autoTransponder); + } else if (transmissionType == DvbTransponderBase::IsdbT) { + // ISDB-T Currently, all ISDB-T tuners should support auto mode + isAuto = true; + tune(autoTransponder); + } else { + qWarning("Can't do auto-tune for %d", transmissionType); + return; } + isAuto = true; tune(autoTransponder); } @@ -494,8 +467,7 @@ } if (it->filters.contains(filter)) { - Log("DvbDevice::addPidFilter: " - "using the same filter for the same pid more than once"); + qInfo("Using the same filter for the same pid more than once"); return true; } @@ -520,8 +492,7 @@ } if (it->sectionFilters.contains(filter)) { - Log("DvbDevice::addSectionFilter: " - "using the same filter for the same pid more than once"); + qInfo("Using the same filter for the same pid more than once"); return true; } @@ -542,7 +513,7 @@ } if (index < 0) { - Log("DvbDevice::removePidFilter: trying to remove a nonexistent filter"); + qWarning("Trying to remove a nonexistent filter"); return; } @@ -568,7 +539,7 @@ } if (index < 0) { - Log("DvbDevice::removeSectionFilter: trying to remove a nonexistent filter"); + qWarning("Trying to remove a nonexistent filter"); return; } @@ -587,7 +558,7 @@ DvbPmtSection pmtSection(pmtSectionData); if (!pmtSection.isValid()) { - Log("DvbDevice::startDescrambling: pmt section is not valid"); + qWarning("PMT section is invalid"); } int serviceId = pmtSection.programNumber(); @@ -606,13 +577,13 @@ DvbPmtSection pmtSection(pmtSectionData); if (!pmtSection.isValid()) { - Log("DvbDevice::stopDescrambling: pmt section is not valid"); + qWarning("PMT section is invalid"); } int serviceId = pmtSection.programNumber(); if (!descramblingServices.contains(serviceId, user)) { - Log("DvbDevice::stopDescrambling: service has not been started"); + qInfo("Service has not been started while stop descrambling"); return; } @@ -628,14 +599,19 @@ return backend->isTuned(); } -int DvbDevice::getSignal() const +bool DvbDevice::getProps(DvbTransponder &transponder) const +{ + return backend->getProps(transponder); +} + +float DvbDevice::getSignal(DvbBackendDevice::Scale &scale) const { - return backend->getSignal(); + return backend->getSignal(scale); } -int DvbDevice::getSnr() const +float DvbDevice::getSnr(DvbBackendDevice::Scale &scale) const { - return backend->getSnr(); + return backend->getSnr(scale); } DvbTransponder DvbDevice::getAutoTransponder() const @@ -651,6 +627,7 @@ if (backend->acquire()) { config = config_; setDeviceState(DeviceIdle); + autoTransponder.setTransmissionType(DvbTransponderBase::Invalid); return true; } @@ -664,6 +641,7 @@ stop(); config = config_; setDeviceState(DeviceIdle); + autoTransponder.setTransmissionType(DvbTransponderBase::Invalid); } void DvbDevice::release() @@ -687,13 +665,18 @@ for (; it != end; ++it) { it->filters.append(dataDumper); } + + backend->enableDvbDump(); } void DvbDevice::frontendEvent() { + DvbTransponderBase::TransmissionType transmissionType = autoTransponder.getTransmissionType(); + if (backend->isTuned()) { - Log("DvbDevice::frontendEvent: tuning succeeded"); + qDebug("tuning succeeded on %.2f MHz", backend->getFrqMHz()); frontendTimer.stop(); + backend->getProps(autoTransponder); setDeviceState(DeviceTuned); return; } @@ -706,115 +689,125 @@ frontendTimer.stop(); if (!isAuto) { - Log("DvbDevice::frontendEvent: tuning failed"); - setDeviceState(DeviceIdle); - return; - } - - DvbTTransponder *autoTTransponder = autoTransponder.as(); - int signal = backend->getSignal(); - - if ((signal != -1) && (signal < 15)) { - // signal too weak - Log("DvbDevice::frontendEvent: tuning failed"); + qDebug("tuning failed on %.2f MHz", backend->getFrqMHz()); setDeviceState(DeviceIdle); + autoTransponder.setTransmissionType(DvbTransponderBase::Invalid); return; } bool carry = true; - if (carry && ((capabilities & DvbTFecAuto) == 0)) { - switch (autoTTransponder->fecRateHigh) { - case DvbTTransponder::Fec2_3: - autoTTransponder->fecRateHigh = DvbTTransponder::Fec3_4; - carry = false; - break; - case DvbTTransponder::Fec3_4: - autoTTransponder->fecRateHigh = DvbTTransponder::Fec1_2; - carry = false; - break; - case DvbTTransponder::Fec1_2: - autoTTransponder->fecRateHigh = DvbTTransponder::Fec5_6; - carry = false; - break; - case DvbTTransponder::Fec5_6: - autoTTransponder->fecRateHigh = DvbTTransponder::Fec7_8; - carry = false; - break; - default: - autoTTransponder->fecRateHigh = DvbTTransponder::Fec2_3; - break; + /* + * As ISDB-T always support auto-scan, we only need to simulate + * it for DVB-T + */ + if (transmissionType == DvbTransponderBase::DvbT) { + DvbBackendDevice::Scale scale; + + DvbTTransponder *autoTTransponder = autoTransponder.as(); + float signal = backend->getSignal(scale); + + if ((scale != DvbBackendDevice::NotSupported) && (signal < 15)) { + // signal too weak + qInfo("Tuning failed (signal too weak) on %.2f MHz", backend->getFrqMHz()); + setDeviceState(DeviceIdle); + autoTransponder.setTransmissionType(DvbTransponderBase::Invalid); + return; } - } - if (carry && ((capabilities & DvbTGuardIntervalAuto) == 0)) { - switch (autoTTransponder->guardInterval) { - case DvbTTransponder::GuardInterval1_8: - autoTTransponder->guardInterval = - DvbTTransponder::GuardInterval1_32; - carry = false; - break; - case DvbTTransponder::GuardInterval1_32: - autoTTransponder->guardInterval = - DvbTTransponder::GuardInterval1_4; - carry = false; - break; - case DvbTTransponder::GuardInterval1_4: - autoTTransponder->guardInterval = - DvbTTransponder::GuardInterval1_16; - carry = false; - break; - case DvbTTransponder::GuardInterval1_16: - case DvbTTransponder::GuardIntervalAuto: - autoTTransponder->guardInterval = - DvbTTransponder::GuardInterval1_8; - break; + if (carry && ((capabilities & DvbTFecAuto) == 0)) { + switch (autoTTransponder->fecRateHigh) { + case DvbTTransponder::Fec2_3: + autoTTransponder->fecRateHigh = DvbTTransponder::Fec3_4; + carry = false; + break; + case DvbTTransponder::Fec3_4: + autoTTransponder->fecRateHigh = DvbTTransponder::Fec1_2; + carry = false; + break; + case DvbTTransponder::Fec1_2: + autoTTransponder->fecRateHigh = DvbTTransponder::Fec5_6; + carry = false; + break; + case DvbTTransponder::Fec5_6: + autoTTransponder->fecRateHigh = DvbTTransponder::Fec7_8; + carry = false; + break; + default: + autoTTransponder->fecRateHigh = DvbTTransponder::Fec2_3; + break; + } } - } - if (carry && ((capabilities & DvbTModulationAuto) == 0)) { - switch (autoTTransponder->modulation) { - case DvbTTransponder::Qam64: - autoTTransponder->modulation = DvbTTransponder::Qam16; - carry = false; - break; - case DvbTTransponder::Qam16: - autoTTransponder->modulation = DvbTTransponder::Qpsk; - carry = false; - break; - case DvbTTransponder::Qpsk: - case DvbTTransponder::ModulationAuto: - autoTTransponder->modulation = DvbTTransponder::Qam64; - break; + if (carry && ((capabilities & DvbTGuardIntervalAuto) == 0)) { + switch (autoTTransponder->guardInterval) { + case DvbTTransponder::GuardInterval1_8: + autoTTransponder->guardInterval = + DvbTTransponder::GuardInterval1_32; + carry = false; + break; + case DvbTTransponder::GuardInterval1_32: + autoTTransponder->guardInterval = + DvbTTransponder::GuardInterval1_4; + carry = false; + break; + case DvbTTransponder::GuardInterval1_4: + autoTTransponder->guardInterval = + DvbTTransponder::GuardInterval1_16; + carry = false; + break; + case DvbTTransponder::GuardInterval1_16: + case DvbTTransponder::GuardIntervalAuto: + autoTTransponder->guardInterval = + DvbTTransponder::GuardInterval1_8; + break; + } } - } - if (carry && ((capabilities & DvbTTransmissionModeAuto) == 0)) { - switch (autoTTransponder->transmissionMode) { - case DvbTTransponder::TransmissionMode8k: - autoTTransponder->transmissionMode = - DvbTTransponder::TransmissionMode2k; - carry = false; - break; - case DvbTTransponder::TransmissionMode2k: -/* outcommented so that clearly no compatibility problem arises - autoTTransponder->transmissionMode = - DvbTTransponder::TransmissionMode4k; - carry = false; - break; -*/ - case DvbTTransponder::TransmissionMode4k: - case DvbTTransponder::TransmissionModeAuto: - autoTTransponder->transmissionMode = - DvbTTransponder::TransmissionMode8k; - break; + if (carry && ((capabilities & DvbTModulationAuto) == 0)) { + switch (autoTTransponder->modulation) { + case DvbTTransponder::Qam64: + autoTTransponder->modulation = DvbTTransponder::Qam16; + carry = false; + break; + case DvbTTransponder::Qam16: + autoTTransponder->modulation = DvbTTransponder::Qpsk; + carry = false; + break; + case DvbTTransponder::Qpsk: + case DvbTTransponder::ModulationAuto: + autoTTransponder->modulation = DvbTTransponder::Qam64; + break; + } + } + + if (carry && ((capabilities & DvbTTransmissionModeAuto) == 0)) { + switch (autoTTransponder->transmissionMode) { + case DvbTTransponder::TransmissionMode8k: + autoTTransponder->transmissionMode = + DvbTTransponder::TransmissionMode2k; + carry = false; + break; + case DvbTTransponder::TransmissionMode2k: + /* outcommented so that clearly no compatibility problem arises + autoTTransponder->transmissionMode = + DvbTTransponder::TransmissionMode4k; + carry = false; + break; + */ + case DvbTTransponder::TransmissionMode4k: + case DvbTTransponder::TransmissionModeAuto: + autoTTransponder->transmissionMode = + DvbTTransponder::TransmissionMode8k; + break; + } } } if (!carry) { tune(autoTransponder); } else { - Log("DvbDevice::frontendEvent: tuning failed"); + qDebug("tuning failed on %.2f MHz", backend->getFrqMHz());; setDeviceState(DeviceIdle); } } @@ -856,7 +849,7 @@ foreach (DvbPidFilter *filter, it->filters) { if ((filter != &dummyPidFilter) && (filter != dataDumper)) { int pid = it.key(); - Log("DvbDevice::stop: removing pending filter") << pid; + qDebug("removing pending filter %d", pid); removePidFilter(pid, filter); } } @@ -867,7 +860,7 @@ foreach (DvbSectionFilter *sectionFilter, it->sectionFilters) { if (sectionFilter != &dummySectionFilter) { int pid = it.key(); - Log("DvbDevice::stop: removing pending filter") << pid; + qDebug("removing pending filter %d", pid); removeSectionFilter(pid, sectionFilter); } } diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbdevice.h kaffeine-2.0.4+git20160916/src/dvb/dvbdevice.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbdevice.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbdevice.h 2016-09-17 17:18:56.000000000 +0000 @@ -80,6 +80,11 @@ return deviceState; } + QList getLnbSatModels() const + { + return backend->getLnbSatModels(); + } + TransmissionTypes getTransmissionTypes() const; QString getDeviceId() const; QString getFrontendName() const; @@ -93,8 +98,9 @@ void startDescrambling(const QByteArray &pmtSectionData, QObject *user); void stopDescrambling(const QByteArray &pmtSectionData, QObject *user); bool isTuned() const; - int getSignal() const; // 0 - 100 [%] or -1 = not supported - int getSnr() const; // 0 - 100 [%] or -1 = not supported + bool getProps(DvbTransponder &transponder) const; + float getSignal(DvbBackendDevice::Scale &scale) const; + float getSnr(DvbBackendDevice::Scale &scale) const; DvbTransponder getAutoTransponder() const; /* diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbdevice_linux.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbdevice_linux.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbdevice_linux.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbdevice_linux.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -2,6 +2,7 @@ * dvbdevice_linux.cpp * * Copyright (C) 2007-2011 Christoph Pfister + * Copyright (c) 2014 Mauro Carvalho Chehab * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,35 +19,47 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbdevice_linux.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif + +extern "C" { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +} #include +#include +#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "../log.h" + +#include "dvbdevice_linux.h" #include "dvbtransponder.h" // krazy:excludeall=syscalls DvbLinuxDevice::DvbLinuxDevice(QObject *parent) : QThread(parent), ready(false), frontend(NULL), - enabled(false), frontendFd(-1), dvrFd(-1), dvrBuffer(NULL, 0) + enabled(false), dvrFd(-1), dvrBuffer(NULL, 0), cam(parent) { + verbose = 0; dvrPipe[0] = -1; dvrPipe[1] = -1; } @@ -56,6 +69,35 @@ stopDevice(); } +static void dvbv5_log(int level, const char *fmt, ...) +{ + va_list ap; + char log[1024]; + + va_start(ap, fmt); + vsnprintf(log, sizeof(log), fmt, ap); + va_end(ap); + + switch(LOG_PRI(level)) { + case LOG_DEBUG: + case LOG_INFO: + qDebug("%s", log); + break; + case LOG_NOTICE: + qInfo("%s", log); + break; + case LOG_WARNING: + qWarning("%s", log); + break; + case LOG_ERR: + case LOG_CRIT: + case LOG_ALERT: + case LOG_EMERG: + qCritical("%s", log); + break; + } +} + bool DvbLinuxDevice::isReady() const { return ready; @@ -64,74 +106,99 @@ void DvbLinuxDevice::startDevice(const QString &deviceId_) { Q_ASSERT(!ready); - int fd = open(QFile::encodeName(frontendPath).constData(), O_RDONLY | O_NONBLOCK | O_CLOEXEC); + struct dvb_v5_fe_parms *parms = dvb_fe_open2(adapter, index, verbose, 0, dvbv5_log); - if (fd < 0) { - Log("DvbLinuxDevice::startDevice: cannot open frontend") << frontendPath; + if (!parms) { + qWarning("Cannot open frontend %s", qPrintable(frontendPath)); return; } - dvb_frontend_info frontend_info; - memset(&frontend_info, 0, sizeof(frontend_info)); - - if (ioctl(fd, FE_GET_INFO, &frontend_info) != 0) { - Log("DvbLinuxDevice::startDevice: ioctl FE_GET_INFO failed for frontend") << - frontendPath; - close(fd); - return; - } - - close(fd); - deviceId = deviceId_; - frontendName = QString::fromUtf8(frontend_info.name); - - switch (frontend_info.type) { - case FE_QAM: - transmissionTypes = DvbC; - break; - case FE_QPSK: - transmissionTypes = DvbS; - - if (((frontend_info.caps & FE_CAN_2G_MODULATION) != 0) || - (strcmp(frontend_info.name, "Conexant CX24116/CX24118") == 0) || - (strcmp(frontend_info.name, "Genpix 8psk-to-USB2 DVB-S") == 0) || - (strcmp(frontend_info.name, "STB0899 Multistandard") == 0)) { + transmissionTypes = 0; + for (int i = 0; i < parms->num_systems; i++) { + switch (parms->systems[i]) { + case SYS_DVBS: + transmissionTypes |= DvbS; + break; + case SYS_DVBS2: transmissionTypes |= DvbS2; + break; + case SYS_DVBT: + transmissionTypes |= DvbT; + break; + case SYS_DVBT2: + transmissionTypes |= DvbT2; + break; + case SYS_DVBC_ANNEX_A: + case SYS_DVBC_ANNEX_C: + transmissionTypes |= DvbC; + break; + case SYS_ATSC: + case SYS_DVBC_ANNEX_B: + transmissionTypes |= Atsc; + break; + case SYS_ISDBT: + transmissionTypes |= IsdbT; + break; + default: /* not supported yet */ + qWarning("Unsupported transmission type: %d", parms->systems[i]); + break; } - - break; - case FE_OFDM: - transmissionTypes = DvbT; - break; - case FE_ATSC: - transmissionTypes = Atsc; - break; - default: - Log("DvbLinuxDevice::startDevice: unknown type") << frontend_info.type << - QLatin1String("for frontend") << frontendPath; - return; } + deviceId = deviceId_; + frontendName = QString::fromUtf8(parms->info.name); + capabilities = 0; - if ((frontend_info.caps & FE_CAN_QAM_AUTO) != 0) { + if ((parms->info.caps & FE_CAN_QAM_AUTO) != 0) { capabilities |= DvbTModulationAuto; } - if ((frontend_info.caps & FE_CAN_FEC_AUTO) != 0) { + if ((parms->info.caps & FE_CAN_FEC_AUTO) != 0) { capabilities |= DvbTFecAuto; } - if ((frontend_info.caps & FE_CAN_TRANSMISSION_MODE_AUTO) != 0) { + if ((parms->info.caps & FE_CAN_TRANSMISSION_MODE_AUTO) != 0) { capabilities |= DvbTTransmissionModeAuto; } - if ((frontend_info.caps & FE_CAN_GUARD_INTERVAL_AUTO) != 0) { + if ((parms->info.caps & FE_CAN_GUARD_INTERVAL_AUTO) != 0) { capabilities |= DvbTGuardIntervalAuto; } - Log("DvbLinuxDevice::startDevice: found dvb device") << deviceId << '/' << frontendName; + // Get the supported LNBf types if the device supports satellite + if (transmissionTypes & (DvbS | DvbS2)) { + for (int i = 0;; i++) { + const struct dvb_sat_lnb *lnb = dvb_sat_get_lnb(i); + + if (!lnb) + break; + + struct lnbSat lnbSat; + + // FIXME: on newer libdvbv5, use dvb_sat_get_lnb_name() in + // order to get the name i18n translated + lnbSat.name = QString::fromUtf8(lnb->name); + lnbSat.alias = QString::fromUtf8(lnb->alias); + lnbSat.lowFreq = lnb->lowfreq; + lnbSat.highFreq = lnb->highfreq; + lnbSat.rangeSwitch = lnb->rangeswitch; + lnbSat.freqRange[0].low = lnb->freqrange[0].low; + lnbSat.freqRange[0].high = lnb->freqrange[0].high; + lnbSat.freqRange[1].low = lnb->freqrange[1].low; + lnbSat.freqRange[1].high = lnb->freqrange[1].high; + + qDebug("supports lnb %s", lnb->alias); + + lnbSatModels.append(lnbSat); + } + } + + dvb_fe_close(parms); + ready = true; + + qInfo("Found dvb device %s: %s", qPrintable(deviceId), qPrintable(frontendName)); } void DvbLinuxDevice::startCa() @@ -207,20 +274,20 @@ bool DvbLinuxDevice::acquire() { - Q_ASSERT(enabled && (frontendFd < 0) && (dvrFd < 0)); - frontendFd = open(QFile::encodeName(frontendPath).constData(), O_RDWR | O_NONBLOCK | O_CLOEXEC); + Q_ASSERT(enabled && (!dvbv5_parms) && (dvrFd < 0)); + dvbv5_parms = dvb_fe_open2(adapter, index, verbose, 0, dvbv5_log); - if (frontendFd < 0) { - Log("DvbLinuxDevice::acquire: cannot open frontend") << frontendPath << frontendFd; + if (!dvbv5_parms) { + qWarning("Cannot open frontend %s", qPrintable(frontendPath)); return false; } dvrFd = open(QFile::encodeName(dvrPath).constData(), O_RDONLY | O_NONBLOCK | O_CLOEXEC); if (dvrFd < 0) { - Log("DvbLinuxDevice::acquire: cannot open dvr") << dvrPath; - close(frontendFd); - frontendFd = -1; + qWarning("Cannot open dvr %s", qPrintable(dvrPath)); + dvb_fe_close(dvbv5_parms); + dvbv5_parms = NULL; return false; } @@ -229,11 +296,11 @@ bool DvbLinuxDevice::setTone(SecTone tone) { - Q_ASSERT(frontendFd >= 0); + Q_ASSERT(dvbv5_parms); - if (ioctl(frontendFd, FE_SET_TONE, (tone == ToneOn) ? SEC_TONE_ON : SEC_TONE_OFF) != 0) { - Log("DvbLinuxDevice::setTone: ioctl FE_SET_TONE failed for frontend") << - frontendPath; + if (dvb_fe_sec_tone(dvbv5_parms, + (tone == ToneOn) ? SEC_TONE_ON : SEC_TONE_OFF) != 0) { + qWarning("ioctl FE_SET_TONE failed for frontend %s", qPrintable(frontendPath)); return false; } @@ -242,12 +309,10 @@ bool DvbLinuxDevice::setVoltage(SecVoltage voltage) { - Q_ASSERT(frontendFd >= 0); + Q_ASSERT(dvbv5_parms); - if (ioctl(frontendFd, FE_SET_VOLTAGE, - (voltage == Voltage18V) ? SEC_VOLTAGE_18 : SEC_VOLTAGE_13) != 0) { - Log("DvbLinuxDevice::setVoltage: ioctl FE_SET_VOLTAGE failed for frontend") << - frontendPath; + if (dvb_fe_lnb_high_voltage(dvbv5_parms, voltage == Voltage18V) != 0) { + qWarning("ioctl FE_SET_VOLTAGE failed for frontend %s", qPrintable(frontendPath)); return false; } @@ -256,15 +321,10 @@ bool DvbLinuxDevice::sendMessage(const char *message, int length) { - Q_ASSERT((frontendFd >= 0) && (length >= 0) && (length <= 6)); - dvb_diseqc_master_cmd cmd; - memset(&cmd, 0, sizeof(cmd)); - memcpy(&cmd.msg, message, length); - cmd.msg_len = char(length); - - if (ioctl(frontendFd, FE_DISEQC_SEND_MASTER_CMD, &cmd) != 0) { - Log("DvbLinuxDevice::sendMessage: " - "ioctl FE_DISEQC_SEND_MASTER_CMD failed for frontend") << frontendPath; + Q_ASSERT(dvbv5_parms && (length >= 0) && (length <= 6)); + + if (dvb_fe_diseqc_cmd(dvbv5_parms, length, (const unsigned char *)message) != 0) { + qWarning("ioctl FE_DISEQC_SEND_MASTER_CMD failed for frontend %s", qPrintable(frontendPath)); return false; } @@ -273,19 +333,17 @@ bool DvbLinuxDevice::sendBurst(SecBurst burst) { - Q_ASSERT(frontendFd >= 0); + Q_ASSERT(dvbv5_parms); - if (ioctl(frontendFd, FE_DISEQC_SEND_BURST, - (burst == BurstMiniA) ? SEC_MINI_A : SEC_MINI_B) != 0) { - Log("DvbLinuxDevice::sendBurst: ioctl FE_DISEQC_SEND_BURST failed for frontend") << - frontendPath; + if (dvb_fe_diseqc_burst(dvbv5_parms, burst == BurstMiniB) != 0) { + qWarning("ioctl FE_DISEQC_SEND_BURST failed for frontend %s", qPrintable(frontendPath)); return false; } return true; } -static fe_modulation_t convertDvbModulation(DvbCTransponder::Modulation modulation) +static fe_modulation_t toDvbModulation(DvbCTransponder::Modulation modulation) { switch (modulation) { case DvbCTransponder::Qam16: return QAM_16; @@ -299,7 +357,7 @@ return QAM_AUTO; } -static fe_modulation_t convertDvbModulation(DvbS2Transponder::Modulation modulation) +static fe_modulation_t toDvbModulation(DvbS2Transponder::Modulation modulation) { switch (modulation) { case DvbS2Transponder::Qpsk: return QPSK; @@ -312,7 +370,7 @@ return QAM_AUTO; } -static fe_rolloff convertDvbRollOff(DvbS2Transponder::RollOff rollOff) +static fe_rolloff toDvbRollOff(DvbS2Transponder::RollOff rollOff) { switch (rollOff) { case DvbS2Transponder::RollOff20: return ROLLOFF_20; @@ -324,7 +382,7 @@ return ROLLOFF_AUTO; } -static fe_modulation_t convertDvbModulation(DvbTTransponder::Modulation modulation) +static fe_modulation_t toDvbModulation(DvbTTransponder::Modulation modulation) { switch (modulation) { case DvbTTransponder::Qpsk: return QPSK; @@ -336,7 +394,33 @@ return QAM_AUTO; } -static fe_modulation_t convertDvbModulation(AtscTransponder::Modulation modulation) +static fe_modulation_t toDvbModulation(DvbT2Transponder::Modulation modulation) +{ + switch (modulation) { + case DvbT2Transponder::Qpsk: return QPSK; + case DvbT2Transponder::Qam16: return QAM_16; + case DvbT2Transponder::Qam64: return QAM_64; + case DvbT2Transponder::Qam256: return QAM_256; + case DvbT2Transponder::ModulationAuto: return QAM_AUTO; + } + + return QAM_AUTO; +} + +static fe_modulation_t toDvbModulation(IsdbTTransponder::Modulation modulation) +{ + switch (modulation) { + case IsdbTTransponder::Qpsk: return QPSK; + case IsdbTTransponder::Dqpsk: return DQPSK; + case IsdbTTransponder::Qam16: return QAM_16; + case IsdbTTransponder::Qam64: return QAM_64; + case IsdbTTransponder::ModulationAuto: return QAM_AUTO; + } + + return QAM_AUTO; +} + +static fe_modulation_t toDvbModulation(AtscTransponder::Modulation modulation) { switch (modulation) { case AtscTransponder::Qam64: return QAM_64; @@ -349,7 +433,7 @@ return QAM_AUTO; } -static fe_code_rate convertDvbFecRate(DvbTransponderBase::FecRate fecRate) +static fe_code_rate toDvbFecRate(DvbTransponderBase::FecRate fecRate) { switch (fecRate) { case DvbTransponderBase::FecNone: return FEC_NONE; @@ -357,7 +441,7 @@ case DvbTransponderBase::Fec1_3: return FEC_AUTO; // FIXME case DvbTransponderBase::Fec1_4: return FEC_AUTO; // FIXME case DvbTransponderBase::Fec2_3: return FEC_2_3; - case DvbTransponderBase::Fec2_5: return FEC_AUTO; // FIXME + case DvbTransponderBase::Fec2_5: return FEC_2_5; case DvbTransponderBase::Fec3_4: return FEC_3_4; case DvbTransponderBase::Fec3_5: return FEC_3_5; case DvbTransponderBase::Fec4_5: return FEC_4_5; @@ -372,19 +456,46 @@ return FEC_AUTO; } -static fe_bandwidth convertDvbBandwidth(DvbTTransponder::Bandwidth bandwidth) +static uint32_t toDvbBandwidth(DvbTTransponder::Bandwidth bandwidth) +{ + switch (bandwidth) { + case DvbTTransponder::Bandwidth5MHz: return 5000000; + case DvbTTransponder::Bandwidth6MHz: return 6000000; + case DvbTTransponder::Bandwidth7MHz: return 7000000; + case DvbTTransponder::Bandwidth8MHz: return 8000000; + case DvbTTransponder::BandwidthAuto: return 0; + } + + return BANDWIDTH_AUTO; +} + +static uint32_t toDvbBandwidth(DvbT2Transponder::Bandwidth bandwidth) +{ + switch (bandwidth) { + case DvbT2Transponder::Bandwidth1_7MHz: return 1700000; + case DvbT2Transponder::Bandwidth5MHz: return 5000000; + case DvbT2Transponder::Bandwidth6MHz: return 6000000; + case DvbT2Transponder::Bandwidth7MHz: return 7000000; + case DvbT2Transponder::Bandwidth8MHz: return 8000000; + case DvbT2Transponder::Bandwidth10MHz: return 10000000; + case DvbT2Transponder::BandwidthAuto: return 0; + } + + return BANDWIDTH_AUTO; +} + +static uint32_t toDvbBandwidth(IsdbTTransponder::Bandwidth bandwidth) { switch (bandwidth) { - case DvbTTransponder::Bandwidth6MHz: return BANDWIDTH_6_MHZ; - case DvbTTransponder::Bandwidth7MHz: return BANDWIDTH_7_MHZ; - case DvbTTransponder::Bandwidth8MHz: return BANDWIDTH_8_MHZ; - case DvbTTransponder::BandwidthAuto: return BANDWIDTH_AUTO; + case IsdbTTransponder::Bandwidth6MHz: return 6000000; + case IsdbTTransponder::Bandwidth7MHz: return 7000000; + case IsdbTTransponder::Bandwidth8MHz: return 8000000; } return BANDWIDTH_AUTO; } -static fe_transmit_mode convertDvbTransmissionMode(DvbTTransponder::TransmissionMode mode) +static fe_transmit_mode toDvbTransmissionMode(DvbTTransponder::TransmissionMode mode) { switch (mode) { case DvbTTransponder::TransmissionMode2k: return TRANSMISSION_MODE_2K; @@ -396,7 +507,34 @@ return TRANSMISSION_MODE_AUTO; } -static fe_guard_interval convertDvbGuardInterval(DvbTTransponder::GuardInterval guardInterval) +static fe_transmit_mode toDvbTransmissionMode(DvbT2Transponder::TransmissionMode mode) +{ + switch (mode) { + case DvbT2Transponder::TransmissionMode1k: return TRANSMISSION_MODE_1K; + case DvbT2Transponder::TransmissionMode2k: return TRANSMISSION_MODE_2K; + case DvbT2Transponder::TransmissionMode4k: return TRANSMISSION_MODE_4K; + case DvbT2Transponder::TransmissionMode8k: return TRANSMISSION_MODE_8K; + case DvbT2Transponder::TransmissionMode16k: return TRANSMISSION_MODE_16K; + case DvbT2Transponder::TransmissionMode32k: return TRANSMISSION_MODE_32K; + case DvbT2Transponder::TransmissionModeAuto: return TRANSMISSION_MODE_AUTO; + } + + return TRANSMISSION_MODE_AUTO; +} + +static fe_transmit_mode toDvbTransmissionMode(IsdbTTransponder::TransmissionMode mode) +{ + switch (mode) { + case IsdbTTransponder::TransmissionMode2k: return TRANSMISSION_MODE_2K; + case IsdbTTransponder::TransmissionMode4k: return TRANSMISSION_MODE_4K; + case IsdbTTransponder::TransmissionMode8k: return TRANSMISSION_MODE_8K; + case IsdbTTransponder::TransmissionModeAuto: return TRANSMISSION_MODE_AUTO; + } + + return TRANSMISSION_MODE_AUTO; +} + +static fe_guard_interval toDvbGuardInterval(DvbTTransponder::GuardInterval guardInterval) { switch (guardInterval) { case DvbTTransponder::GuardInterval1_4: return GUARD_INTERVAL_1_4; @@ -409,7 +547,86 @@ return GUARD_INTERVAL_AUTO; } -static fe_hierarchy convertDvbHierarchy(DvbTTransponder::Hierarchy hierarchy) +static fe_guard_interval toDvbGuardInterval(DvbT2Transponder::GuardInterval guardInterval) +{ + switch (guardInterval) { + case DvbT2Transponder::GuardInterval1_4: return GUARD_INTERVAL_1_4; + case DvbT2Transponder::GuardInterval19_128: return GUARD_INTERVAL_19_128; + case DvbT2Transponder::GuardInterval1_8: return GUARD_INTERVAL_1_8; + case DvbT2Transponder::GuardInterval19_256: return GUARD_INTERVAL_19_256; + case DvbT2Transponder::GuardInterval1_16: return GUARD_INTERVAL_1_16; + case DvbT2Transponder::GuardInterval1_32: return GUARD_INTERVAL_1_32; + case DvbT2Transponder::GuardInterval1_128: return GUARD_INTERVAL_1_128; + case DvbT2Transponder::GuardIntervalAuto: return GUARD_INTERVAL_AUTO; + } + + return GUARD_INTERVAL_AUTO; +} + +static fe_guard_interval toDvbGuardInterval(IsdbTTransponder::GuardInterval guardInterval) +{ + switch (guardInterval) { + case IsdbTTransponder::GuardInterval1_4: return GUARD_INTERVAL_1_4; + case IsdbTTransponder::GuardInterval1_8: return GUARD_INTERVAL_1_8; + case IsdbTTransponder::GuardInterval1_16: return GUARD_INTERVAL_1_16; + case IsdbTTransponder::GuardInterval1_32: return GUARD_INTERVAL_1_32; + case IsdbTTransponder::GuardIntervalAuto: return GUARD_INTERVAL_AUTO; + } + + return GUARD_INTERVAL_AUTO; +} + +static uint32_t toDvbPartialReception(IsdbTTransponder::PartialReception partialReception) +{ + switch (partialReception) { + case IsdbTTransponder::PR_disabled: return 0; + case IsdbTTransponder::PR_enabled: return 1; + case IsdbTTransponder::PR_AUTO: return (uint32_t)-1; + } + + return (uint32_t)-1; +} + +static uint32_t toDvbSoundBroadcasting(IsdbTTransponder::SoundBroadcasting partialReception) +{ + switch (partialReception) { + case IsdbTTransponder::SB_disabled: return 0; + case IsdbTTransponder::SB_enabled: return 1; + case IsdbTTransponder::SB_AUTO: return (uint32_t)-1; + } + + return (uint32_t)-1; +} + +static uint32_t toDvbInterleaving(IsdbTTransponder::Interleaving interleaving) +{ + switch (interleaving) { + case IsdbTTransponder::I_0: return 0; + case IsdbTTransponder::I_1: return 1; + case IsdbTTransponder::I_2: return 2; + case IsdbTTransponder::I_4: return 4; + case IsdbTTransponder::I_8: return 8; + case IsdbTTransponder::I_16: return 16; + case IsdbTTransponder::I_AUTO: return (uint32_t)-1; + } + + return (uint32_t)-1; +} + +static uint32_t toDvbPolarization(DvbSTransponder::Polarization polarization) +{ + switch (polarization) { + case DvbSTransponder::Off: return POLARIZATION_OFF; + case DvbSTransponder::Horizontal: return POLARIZATION_H; + case DvbSTransponder::Vertical: return POLARIZATION_V; + case DvbSTransponder::CircularLeft: return POLARIZATION_L; + case DvbSTransponder::CircularRight: return POLARIZATION_R; + } + + return (uint32_t)-1; +} + +static fe_hierarchy toDvbHierarchy(DvbTTransponder::Hierarchy hierarchy) { switch (hierarchy) { case DvbTTransponder::HierarchyNone: return HIERARCHY_NONE; @@ -422,101 +639,461 @@ return HIERARCHY_AUTO; } +static fe_hierarchy toDvbHierarchy(DvbT2Transponder::Hierarchy hierarchy) +{ + switch (hierarchy) { + case DvbT2Transponder::HierarchyNone: return HIERARCHY_NONE; + case DvbT2Transponder::Hierarchy1: return HIERARCHY_1; + case DvbT2Transponder::Hierarchy2: return HIERARCHY_2; + case DvbT2Transponder::Hierarchy4: return HIERARCHY_4; + case DvbT2Transponder::HierarchyAuto: return HIERARCHY_AUTO; + } + + return HIERARCHY_AUTO; +} + +static DvbCTransponder::Modulation DvbCtoModulation(uint32_t modulation) +{ + switch (modulation) { + case QAM_16: return DvbCTransponder::Qam16; + case QAM_32: return DvbCTransponder::Qam32; + case QAM_64: return DvbCTransponder::Qam64; + case QAM_128: return DvbCTransponder::Qam128; + case QAM_256: return DvbCTransponder::Qam256; + default: return DvbCTransponder::ModulationAuto; + } +} + +static DvbS2Transponder::Modulation DvbS2toModulation(uint32_t modulation) +{ + switch (modulation) { + case QPSK: return DvbS2Transponder::Qpsk; + case PSK_8: return DvbS2Transponder::Psk8; + case APSK_16: return DvbS2Transponder::Apsk16; + case APSK_32: return DvbS2Transponder::Apsk32; + default: return DvbS2Transponder::ModulationAuto; + } +} + +static DvbS2Transponder::RollOff DvbS2toRollOff(uint32_t rollOff) +{ + switch (rollOff) { + case ROLLOFF_20: return DvbS2Transponder::RollOff20; + case ROLLOFF_25: return DvbS2Transponder::RollOff25; + case ROLLOFF_35: return DvbS2Transponder::RollOff35; + default: return DvbS2Transponder::RollOffAuto; + } +} + +static DvbTTransponder::Modulation DvbTtoModulation(uint32_t modulation) +{ + switch (modulation) { + case QPSK: return DvbTTransponder::Qpsk; + case QAM_16: return DvbTTransponder::Qam16; + case QAM_64: return DvbTTransponder::Qam64; + default: return DvbTTransponder::ModulationAuto; + } +} + +static DvbT2Transponder::Modulation DvbT2toModulation(uint32_t modulation) +{ + switch (modulation) { + case QPSK: return DvbT2Transponder::Qpsk; + case QAM_16: return DvbT2Transponder::Qam16; + case QAM_64: return DvbT2Transponder::Qam64; + case QAM_256: return DvbT2Transponder::Qam256; + default: return DvbT2Transponder::ModulationAuto; + } +} + +static IsdbTTransponder::Modulation IsdbTtoModulation(uint32_t modulation) +{ + switch (modulation) { + case QPSK: return IsdbTTransponder::Qpsk; + case DQPSK: return IsdbTTransponder::Dqpsk; + case QAM_16: return IsdbTTransponder::Qam16; + case QAM_64: return IsdbTTransponder::Qam64; + default: return IsdbTTransponder::ModulationAuto; + } +} + +static AtscTransponder::Modulation AtsctoModulation(uint32_t modulation) +{ + switch (modulation) { + case QAM_64: return AtscTransponder::Qam64; + case QAM_256: return AtscTransponder::Qam256; + case VSB_8: return AtscTransponder::Vsb8; + case VSB_16: return AtscTransponder::Vsb16; + default: return AtscTransponder::ModulationAuto; + } +} + +static DvbTransponderBase::FecRate DvbtoFecRate(uint32_t fecRate) +{ + switch (fecRate) { + case FEC_NONE: return DvbTransponderBase::FecNone; + case FEC_1_2: return DvbTransponderBase::Fec1_2; +// case FEC_AUTO: return DvbTransponderBase::Fec1_3; // FIXME +// case FEC_AUTO: return DvbTransponderBase::Fec1_4; // FIXME + case FEC_2_3: return DvbTransponderBase::Fec2_3; + case FEC_2_5: return DvbTransponderBase::Fec2_5; + case FEC_3_4: return DvbTransponderBase::Fec3_4; + case FEC_3_5: return DvbTransponderBase::Fec3_5; + case FEC_4_5: return DvbTransponderBase::Fec4_5; + case FEC_5_6: return DvbTransponderBase::Fec5_6; + case FEC_6_7: return DvbTransponderBase::Fec6_7; + case FEC_7_8: return DvbTransponderBase::Fec7_8; + case FEC_8_9: return DvbTransponderBase::Fec8_9; + case FEC_9_10: return DvbTransponderBase::Fec9_10; + default: return DvbTransponderBase::FecAuto; + } +} + +static DvbTTransponder::Bandwidth DvbTtoBandwidth(uint32_t bandwidth) +{ + switch (bandwidth) { + case 5000000: return DvbTTransponder::Bandwidth5MHz; + case 6000000: return DvbTTransponder::Bandwidth6MHz; + case 7000000: return DvbTTransponder::Bandwidth7MHz; + case 8000000: return DvbTTransponder::Bandwidth8MHz; + default: return DvbTTransponder::BandwidthAuto; + } +} + +static DvbT2Transponder::Bandwidth DvbT2toBandwidth(uint32_t bandwidth) +{ + switch (bandwidth) { + case 1700000: return DvbT2Transponder::Bandwidth1_7MHz; + case 5000000: return DvbT2Transponder::Bandwidth5MHz; + case 6000000: return DvbT2Transponder::Bandwidth6MHz; + case 7000000: return DvbT2Transponder::Bandwidth7MHz; + case 8000000: return DvbT2Transponder::Bandwidth8MHz; + case 10000000: return DvbT2Transponder::Bandwidth10MHz; + default: return DvbT2Transponder::BandwidthAuto; + } +} + +static IsdbTTransponder::Bandwidth IsdbTtoBandwidth(uint32_t bandwidth) +{ + switch (bandwidth) { + default: return IsdbTTransponder::Bandwidth6MHz; + case 7000000: return IsdbTTransponder::Bandwidth7MHz; + case 8000000: return IsdbTTransponder::Bandwidth8MHz; + } +} + +static DvbTTransponder::TransmissionMode DvbTtoTransmissionMode(uint32_t mode) +{ + switch (mode) { + case TRANSMISSION_MODE_2K: return DvbTTransponder::TransmissionMode2k; + case TRANSMISSION_MODE_4K: return DvbTTransponder::TransmissionMode4k; + case TRANSMISSION_MODE_8K: return DvbTTransponder::TransmissionMode8k; + default: return DvbTTransponder::TransmissionModeAuto; + } +} + +static DvbT2Transponder::TransmissionMode DvbT2toTransmissionMode(uint32_t mode) +{ + switch (mode) { + case TRANSMISSION_MODE_1K: return DvbT2Transponder::TransmissionMode1k; + case TRANSMISSION_MODE_2K: return DvbT2Transponder::TransmissionMode2k; + case TRANSMISSION_MODE_4K: return DvbT2Transponder::TransmissionMode4k; + case TRANSMISSION_MODE_8K: return DvbT2Transponder::TransmissionMode8k; + case TRANSMISSION_MODE_16K: return DvbT2Transponder::TransmissionMode16k; + case TRANSMISSION_MODE_32K: return DvbT2Transponder::TransmissionMode32k; + default: return DvbT2Transponder::TransmissionModeAuto; + } +} + +static IsdbTTransponder::TransmissionMode IsdbTtoTransmissionMode(uint32_t mode) +{ + switch (mode) { + case TRANSMISSION_MODE_2K: return IsdbTTransponder::TransmissionMode2k; + case TRANSMISSION_MODE_4K: return IsdbTTransponder::TransmissionMode4k; + case TRANSMISSION_MODE_8K: return IsdbTTransponder::TransmissionMode8k; + default: return IsdbTTransponder::TransmissionModeAuto; + } +} + +static DvbTTransponder::GuardInterval DvbTtoGuardInterval(uint32_t guardInterval) +{ + switch (guardInterval) { + case GUARD_INTERVAL_1_4: return DvbTTransponder::GuardInterval1_4; + case GUARD_INTERVAL_1_8: return DvbTTransponder::GuardInterval1_8; + case GUARD_INTERVAL_1_16: return DvbTTransponder::GuardInterval1_16; + case GUARD_INTERVAL_1_32: return DvbTTransponder::GuardInterval1_32; + default: return DvbTTransponder::GuardIntervalAuto; + } +} + +static DvbT2Transponder::GuardInterval DvbT2toGuardInterval(uint32_t guardInterval) +{ + switch (guardInterval) { + case GUARD_INTERVAL_1_4: return DvbT2Transponder::GuardInterval1_4; + case GUARD_INTERVAL_19_128: return DvbT2Transponder::GuardInterval19_128; + case GUARD_INTERVAL_1_8: return DvbT2Transponder::GuardInterval1_8; + case GUARD_INTERVAL_19_256: return DvbT2Transponder::GuardInterval19_256; + case GUARD_INTERVAL_1_16: return DvbT2Transponder::GuardInterval1_16; + case GUARD_INTERVAL_1_32: return DvbT2Transponder::GuardInterval1_32; + case GUARD_INTERVAL_1_128: return DvbT2Transponder::GuardInterval1_128; + default: return DvbT2Transponder::GuardIntervalAuto; + } +} + +static IsdbTTransponder::GuardInterval IsdbTtoGuardInterval(uint32_t guardInterval) +{ + switch (guardInterval) { + case GUARD_INTERVAL_1_4: return IsdbTTransponder::GuardInterval1_4; + case GUARD_INTERVAL_1_8: return IsdbTTransponder::GuardInterval1_8; + case GUARD_INTERVAL_1_16: return IsdbTTransponder::GuardInterval1_16; + case GUARD_INTERVAL_1_32: return IsdbTTransponder::GuardInterval1_32; + default: return IsdbTTransponder::GuardIntervalAuto; + } +} + +static IsdbTTransponder::PartialReception IsdbTtoPartialReception(uint32_t partialReception) +{ + switch (partialReception) { + case 0: return IsdbTTransponder::PR_disabled; + case 1: return IsdbTTransponder::PR_enabled; + default: return IsdbTTransponder::PR_AUTO; + } +} + +static IsdbTTransponder::SoundBroadcasting IsdbTtoSoundBroadcasting(uint32_t partialReception) +{ + switch (partialReception) { + case 0: return IsdbTTransponder::SB_disabled; + case 1: return IsdbTTransponder::SB_enabled; + default: return IsdbTTransponder::SB_AUTO; + } +} + +static IsdbTTransponder::Interleaving IsdbTtoInterleaving(uint32_t interleaving) +{ + switch (interleaving) { + case 0: return IsdbTTransponder::I_0; + case 1: return IsdbTTransponder::I_1; + case 2: return IsdbTTransponder::I_2; + case 4: return IsdbTTransponder::I_4; + case 8: return IsdbTTransponder::I_8; + case 16: return IsdbTTransponder::I_16; + default: return IsdbTTransponder::I_AUTO; + } +} + +static DvbTTransponder::Hierarchy DvbTtoHierarchy(uint32_t hierarchy) +{ + switch (hierarchy) { + case HIERARCHY_NONE: return DvbTTransponder::HierarchyNone; + case HIERARCHY_1: return DvbTTransponder::Hierarchy1; + case HIERARCHY_2: return DvbTTransponder::Hierarchy2; + case HIERARCHY_4: return DvbTTransponder::Hierarchy4; + default: return DvbTTransponder::HierarchyAuto; + } +} + +static DvbT2Transponder::Hierarchy DvbT2toHierarchy(uint32_t hierarchy) +{ + switch (hierarchy) { + case HIERARCHY_NONE: return DvbT2Transponder::HierarchyNone; + case HIERARCHY_1: return DvbT2Transponder::Hierarchy1; + case HIERARCHY_2: return DvbT2Transponder::Hierarchy2; + case HIERARCHY_4: return DvbT2Transponder::Hierarchy4; + default: return DvbT2Transponder::HierarchyAuto; + } +} + +bool DvbLinuxDevice::satSetup(QString lnbModel, int satNumber, int bpf) +{ + Q_ASSERT(dvbv5_parms); + + int lnb = dvb_sat_search_lnb(lnbModel.toUtf8()); + dvbv5_parms->lnb = dvb_sat_get_lnb(lnb); + if (!dvbv5_parms->lnb) { + qCritical("Cannot set LNBf type to %s", qPrintable(lnbModel)); + return false; + } + + qDebug("Using LNBf type %s", qPrintable(lnbModel)); + + dvbv5_parms->sat_number = satNumber; + dvbv5_parms->freq_bpf = bpf; + + return true; +} + bool DvbLinuxDevice::tune(const DvbTransponder &transponder) { - Q_ASSERT(frontendFd >= 0); + Q_ASSERT(dvbv5_parms); stopDvr(); - dvb_frontend_parameters params; + fe_delivery_system_t delsys; + + qDebug("tune to: %s", qPrintable(transponder.toString())); + + // FIXME: add support for LNA on/off switch (transponder.getTransmissionType()) { - case DvbTransponderBase::DvbC: { - const DvbCTransponder *dvbCTransponder = transponder.as(); - memset(¶ms, 0, sizeof(params)); - params.frequency = dvbCTransponder->frequency; - params.inversion = INVERSION_AUTO; - params.u.qam.symbol_rate = dvbCTransponder->symbolRate; - params.u.qam.fec_inner = convertDvbFecRate(dvbCTransponder->fecRate); - params.u.qam.modulation = convertDvbModulation(dvbCTransponder->modulation); - break; - } case DvbTransponderBase::DvbS: { const DvbSTransponder *dvbSTransponder = transponder.as(); - memset(¶ms, 0, sizeof(params)); - params.frequency = dvbSTransponder->frequency; - params.inversion = INVERSION_AUTO; - params.u.qpsk.symbol_rate = dvbSTransponder->symbolRate; - params.u.qpsk.fec_inner = convertDvbFecRate(dvbSTransponder->fecRate); + + delsys = SYS_DVBS; + dvb_set_sys(dvbv5_parms, delsys); + + dvb_fe_store_parm(dvbv5_parms, DTV_POLARIZATION, toDvbPolarization(dvbSTransponder->polarization)); + dvb_fe_store_parm(dvbv5_parms, DTV_FREQUENCY, dvbSTransponder->frequency); + dvb_fe_store_parm(dvbv5_parms, DTV_INVERSION, INVERSION_AUTO); + dvb_fe_store_parm(dvbv5_parms, DTV_SYMBOL_RATE, dvbSTransponder->symbolRate); + dvb_fe_store_parm(dvbv5_parms, DTV_INNER_FEC, toDvbFecRate(dvbSTransponder->fecRate)); + freqMHz = dvbSTransponder->frequency / 1000.; + + /// FIXME + break; } case DvbTransponderBase::DvbS2: { const DvbS2Transponder *dvbS2Transponder = transponder.as(); - dtv_property properties[9]; - memset(properties, 0, sizeof(properties)); - properties[0].cmd = DTV_DELIVERY_SYSTEM; - properties[0].u.data = SYS_DVBS2; - properties[1].cmd = DTV_FREQUENCY; - properties[1].u.data = dvbS2Transponder->frequency; - properties[2].cmd = DTV_SYMBOL_RATE; - properties[2].u.data = dvbS2Transponder->symbolRate; - properties[3].cmd = DTV_MODULATION; - properties[3].u.data = convertDvbModulation(dvbS2Transponder->modulation); - properties[4].cmd = DTV_ROLLOFF; - properties[4].u.data = convertDvbRollOff(dvbS2Transponder->rollOff); - properties[5].cmd = DTV_INVERSION; - properties[5].u.data = INVERSION_AUTO; - properties[6].cmd = DTV_PILOT; - properties[6].u.data = PILOT_AUTO; - properties[7].cmd = DTV_INNER_FEC; - properties[7].u.data = convertDvbFecRate(dvbS2Transponder->fecRate); - properties[8].cmd = DTV_TUNE; - dtv_properties propertyList; - memset(&propertyList, 0, sizeof(propertyList)); - propertyList.props = properties; - propertyList.num = (sizeof(properties) / sizeof(properties[0])); - - if (ioctl(frontendFd, FE_SET_PROPERTY, &propertyList) != 0) { - Log("DvbLinuxDevice::tune: ioctl FE_SET_PROPERTY failed for frontend") << - frontendPath; - return false; - } - startDvr(); - return true; + delsys = SYS_DVBS2; + dvb_set_sys(dvbv5_parms, delsys); + + dvb_fe_store_parm(dvbv5_parms, DTV_POLARIZATION, toDvbPolarization(dvbS2Transponder->polarization)); + dvb_fe_store_parm(dvbv5_parms, DTV_FREQUENCY, dvbS2Transponder->frequency); + dvb_fe_store_parm(dvbv5_parms, DTV_INVERSION, INVERSION_AUTO); + dvb_fe_store_parm(dvbv5_parms, DTV_SYMBOL_RATE, dvbS2Transponder->symbolRate); + dvb_fe_store_parm(dvbv5_parms, DTV_INNER_FEC, toDvbFecRate(dvbS2Transponder->fecRate)); + dvb_fe_store_parm(dvbv5_parms, DTV_MODULATION, toDvbModulation(dvbS2Transponder->modulation)); + dvb_fe_store_parm(dvbv5_parms, DTV_PILOT, PILOT_AUTO); + dvb_fe_store_parm(dvbv5_parms, DTV_ROLLOFF, toDvbRollOff(dvbS2Transponder->rollOff)); + freqMHz = dvbS2Transponder->frequency / 1000.; + break; + } + case DvbTransponderBase::DvbC: { + const DvbCTransponder *dvbCTransponder = transponder.as(); + + delsys = SYS_DVBC_ANNEX_A; + dvb_set_sys(dvbv5_parms, delsys); + + dvb_fe_store_parm(dvbv5_parms, DTV_FREQUENCY, dvbCTransponder->frequency); + dvb_fe_store_parm(dvbv5_parms, DTV_MODULATION, toDvbModulation(dvbCTransponder->modulation)); + dvb_fe_store_parm(dvbv5_parms, DTV_INVERSION, INVERSION_AUTO); + dvb_fe_store_parm(dvbv5_parms, DTV_SYMBOL_RATE, dvbCTransponder->symbolRate); + dvb_fe_store_parm(dvbv5_parms, DTV_INNER_FEC, toDvbFecRate(dvbCTransponder->fecRate)); + freqMHz = dvbCTransponder->frequency / 1000000.; + + break; } case DvbTransponderBase::DvbT: { const DvbTTransponder *dvbTTransponder = transponder.as(); - memset(¶ms, 0, sizeof(params)); - params.frequency = dvbTTransponder->frequency; - params.inversion = INVERSION_AUTO; - params.u.ofdm.bandwidth = convertDvbBandwidth(dvbTTransponder->bandwidth); - params.u.ofdm.code_rate_HP = convertDvbFecRate(dvbTTransponder->fecRateHigh); - params.u.ofdm.code_rate_LP = convertDvbFecRate(dvbTTransponder->fecRateLow); - params.u.ofdm.constellation = convertDvbModulation(dvbTTransponder->modulation); - params.u.ofdm.transmission_mode = - convertDvbTransmissionMode(dvbTTransponder->transmissionMode); - params.u.ofdm.guard_interval = - convertDvbGuardInterval(dvbTTransponder->guardInterval); - params.u.ofdm.hierarchy_information = - convertDvbHierarchy(dvbTTransponder->hierarchy); + + delsys = SYS_DVBT; + dvb_set_sys(dvbv5_parms, delsys); + + dvb_fe_store_parm(dvbv5_parms, DTV_FREQUENCY, dvbTTransponder->frequency); + dvb_fe_store_parm(dvbv5_parms, DTV_MODULATION, toDvbModulation(dvbTTransponder->modulation)); + dvb_fe_store_parm(dvbv5_parms, DTV_BANDWIDTH_HZ, toDvbBandwidth(dvbTTransponder->bandwidth)); + dvb_fe_store_parm(dvbv5_parms, DTV_INVERSION, INVERSION_AUTO); + dvb_fe_store_parm(dvbv5_parms, DTV_CODE_RATE_HP, toDvbFecRate(dvbTTransponder->fecRateHigh)); + dvb_fe_store_parm(dvbv5_parms, DTV_CODE_RATE_LP, toDvbFecRate(dvbTTransponder->fecRateLow)); + dvb_fe_store_parm(dvbv5_parms, DTV_GUARD_INTERVAL, toDvbGuardInterval(dvbTTransponder->guardInterval)); + dvb_fe_store_parm(dvbv5_parms, DTV_TRANSMISSION_MODE, toDvbTransmissionMode(dvbTTransponder->transmissionMode)); + dvb_fe_store_parm(dvbv5_parms, DTV_HIERARCHY, toDvbHierarchy(dvbTTransponder->hierarchy)); + freqMHz = dvbTTransponder->frequency / 1000000.; + break; + } + case DvbTransponderBase::DvbT2: { + const DvbT2Transponder *dvbT2Transponder = transponder.as(); + + delsys = SYS_DVBT2; + dvb_set_sys(dvbv5_parms, delsys); + + dvb_fe_store_parm(dvbv5_parms, DTV_FREQUENCY, dvbT2Transponder->frequency); + dvb_fe_store_parm(dvbv5_parms, DTV_MODULATION, toDvbModulation(dvbT2Transponder->modulation)); + dvb_fe_store_parm(dvbv5_parms, DTV_BANDWIDTH_HZ, toDvbBandwidth(dvbT2Transponder->bandwidth)); + dvb_fe_store_parm(dvbv5_parms, DTV_INVERSION, INVERSION_AUTO); + dvb_fe_store_parm(dvbv5_parms, DTV_CODE_RATE_HP, toDvbFecRate(dvbT2Transponder->fecRateHigh)); + dvb_fe_store_parm(dvbv5_parms, DTV_CODE_RATE_LP, toDvbFecRate(dvbT2Transponder->fecRateLow)); + dvb_fe_store_parm(dvbv5_parms, DTV_GUARD_INTERVAL, toDvbGuardInterval(dvbT2Transponder->guardInterval)); + dvb_fe_store_parm(dvbv5_parms, DTV_TRANSMISSION_MODE, toDvbTransmissionMode(dvbT2Transponder->transmissionMode)); + dvb_fe_store_parm(dvbv5_parms, DTV_HIERARCHY, toDvbHierarchy(dvbT2Transponder->hierarchy)); + dvb_fe_store_parm(dvbv5_parms, DTV_STREAM_ID, dvbT2Transponder->streamId); + freqMHz = dvbT2Transponder->frequency / 1000000.; break; } case DvbTransponderBase::Atsc: { const AtscTransponder *atscTransponder = transponder.as(); - memset(¶ms, 0, sizeof(params)); - params.frequency = atscTransponder->frequency; - params.inversion = INVERSION_AUTO; - params.u.vsb.modulation = convertDvbModulation(atscTransponder->modulation); + + switch (atscTransponder->modulation) { + case AtscTransponder::Vsb8: + case AtscTransponder::Vsb16: + delsys = SYS_ATSC; + break; + default: + delsys = SYS_DVBC_ANNEX_B; + } + dvb_set_sys(dvbv5_parms, delsys); + + dvb_fe_store_parm(dvbv5_parms, DTV_FREQUENCY, atscTransponder->frequency); + dvb_fe_store_parm(dvbv5_parms, DTV_MODULATION, toDvbModulation(atscTransponder->modulation)); +/* dvb_fe_store_parm(dvbv5_parms, DTV_INVERSION, INVERSION_AUTO); */ + freqMHz = atscTransponder->frequency / 1000000.; + break; + } + case DvbTransponderBase::IsdbT: { + const IsdbTTransponder *isdbTTransponder = transponder.as(); + int i; + uint32_t layers = 0; + + delsys = SYS_ISDBT; + dvb_set_sys(dvbv5_parms, delsys); + + dvb_fe_store_parm(dvbv5_parms, DTV_FREQUENCY, isdbTTransponder->frequency); + dvb_fe_store_parm(dvbv5_parms, DTV_BANDWIDTH_HZ, toDvbBandwidth(isdbTTransponder->bandwidth)); + dvb_fe_store_parm(dvbv5_parms, DTV_INVERSION, INVERSION_AUTO); + dvb_fe_store_parm(dvbv5_parms, DTV_GUARD_INTERVAL, toDvbGuardInterval(isdbTTransponder->guardInterval)); + dvb_fe_store_parm(dvbv5_parms, DTV_TRANSMISSION_MODE, toDvbTransmissionMode(isdbTTransponder->transmissionMode)); + + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_PARTIAL_RECEPTION, toDvbPartialReception(isdbTTransponder->partialReception)); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_SOUND_BROADCASTING, toDvbSoundBroadcasting(isdbTTransponder->soundBroadcasting)); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_SB_SUBCHANNEL_ID, isdbTTransponder->subChannelId); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_SB_SEGMENT_IDX, isdbTTransponder->sbSegmentIdx); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_SB_SEGMENT_COUNT, isdbTTransponder->sbSegmentCount); + + for (i = 0; i < 3; i++) { + if (isdbTTransponder->layerEnabled[i]) + layers |= 1 << i; + } + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYER_ENABLED, layers); + + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYERA_FEC, toDvbFecRate(isdbTTransponder->fecRate[0])); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYERA_MODULATION, toDvbModulation(isdbTTransponder->modulation[0])); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYERA_SEGMENT_COUNT, isdbTTransponder->segmentCount[0]); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYERA_TIME_INTERLEAVING, toDvbInterleaving(isdbTTransponder->interleaving[0])); + + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYERB_FEC, toDvbFecRate(isdbTTransponder->fecRate[1])); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYERB_MODULATION, toDvbModulation(isdbTTransponder->modulation[1])); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYERB_SEGMENT_COUNT, isdbTTransponder->segmentCount[1]); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYERA_TIME_INTERLEAVING, toDvbInterleaving(isdbTTransponder->interleaving[1])); + + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYERC_FEC, toDvbFecRate(isdbTTransponder->fecRate[2])); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYERC_MODULATION, toDvbModulation(isdbTTransponder->modulation[2])); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYERC_SEGMENT_COUNT, isdbTTransponder->segmentCount[2]); + dvb_fe_store_parm(dvbv5_parms, DTV_ISDBT_LAYERA_TIME_INTERLEAVING, toDvbInterleaving(isdbTTransponder->interleaving[2])); + + freqMHz = isdbTTransponder->frequency / 1000000.; + break; } + case DvbTransponderBase::Invalid: + qWarning("Invalid transmission type"); + return false; default: - Log("DvbLinuxDevice::tune: unknown transmission type") << - transponder.getTransmissionType(); + qWarning("Unknown transmission type %d", transponder.getTransmissionType()); return false; } - if (ioctl(frontendFd, FE_SET_FRONTEND, ¶ms) != 0) { - Log("DvbLinuxDevice::tune: ioctl FE_SET_FRONTEND failed for frontend") << - frontendPath; + if (dvb_fe_set_parms(dvbv5_parms) != 0) { + qWarning("ioctl FE_SET_PROPERTY failed for frontend %s", qPrintable(frontendPath)); return false; } @@ -524,57 +1101,297 @@ return true; } +bool DvbLinuxDevice::getProps(DvbTransponder &transponder) +{ + Q_ASSERT(dvbv5_parms); + uint32_t value; + + /* Update properties with the detected stuff */ + if (!isTuned()) + return false; + + dvb_fe_get_parms(dvbv5_parms); + + switch (transponder.getTransmissionType()) { + case DvbTransponderBase::DvbS: { + DvbSTransponder *dvbSTransponder = transponder.as(); + + dvb_fe_retrieve_parm(dvbv5_parms, DTV_FREQUENCY, &value); + dvbSTransponder->frequency = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_SYMBOL_RATE, &value); + dvbSTransponder->symbolRate = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_INNER_FEC, &value); + dvbSTransponder->fecRate = DvbtoFecRate(value); + break; + } + case DvbTransponderBase::DvbS2: { + DvbS2Transponder *dvbS2Transponder = transponder.as(); + + dvb_fe_retrieve_parm(dvbv5_parms, DTV_FREQUENCY, &value); + dvbS2Transponder->frequency = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_SYMBOL_RATE, &value); + dvbS2Transponder->symbolRate = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_INNER_FEC, &value); + dvbS2Transponder->fecRate = DvbtoFecRate(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_MODULATION, &value); + dvbS2Transponder->modulation = DvbS2toModulation(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ROLLOFF, &value); + dvbS2Transponder->rollOff = DvbS2toRollOff(value); + break; + } + case DvbTransponderBase::DvbC: { + DvbCTransponder *dvbCTransponder = transponder.as(); + + dvb_fe_retrieve_parm(dvbv5_parms, DTV_FREQUENCY, &value); + dvbCTransponder->frequency = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_MODULATION, &value); + dvbCTransponder->modulation = DvbCtoModulation(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_SYMBOL_RATE, &value); + dvbCTransponder->symbolRate = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_INNER_FEC, &value); + dvbCTransponder->fecRate = DvbtoFecRate(value); + + break; + } + case DvbTransponderBase::DvbT: { + DvbTTransponder *dvbTTransponder = transponder.as(); + + dvb_fe_retrieve_parm(dvbv5_parms, DTV_FREQUENCY, &value); + dvbTTransponder->frequency = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_MODULATION, &value); + dvbTTransponder->modulation = DvbTtoModulation(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_BANDWIDTH_HZ, &value); + dvbTTransponder->bandwidth = DvbTtoBandwidth(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_CODE_RATE_HP, &value); + dvbTTransponder->fecRateHigh = DvbtoFecRate(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_CODE_RATE_LP, &value); + dvbTTransponder->fecRateLow = DvbtoFecRate(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_GUARD_INTERVAL, &value); + dvbTTransponder->guardInterval = DvbTtoGuardInterval(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_TRANSMISSION_MODE, &value); + dvbTTransponder->transmissionMode = DvbTtoTransmissionMode(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_HIERARCHY, &value); + dvbTTransponder->hierarchy = DvbTtoHierarchy(value); + break; + } + case DvbTransponderBase::DvbT2: { + DvbT2Transponder *dvbT2Transponder = transponder.as(); + + dvb_fe_retrieve_parm(dvbv5_parms, DTV_FREQUENCY, &value); + dvbT2Transponder->frequency = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_MODULATION, &value); + dvbT2Transponder->modulation = DvbT2toModulation(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_BANDWIDTH_HZ, &value); + dvbT2Transponder->bandwidth = DvbT2toBandwidth(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_CODE_RATE_HP, &value); + dvbT2Transponder->fecRateHigh = DvbtoFecRate(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_CODE_RATE_LP, &value); + dvbT2Transponder->fecRateLow = DvbtoFecRate(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_GUARD_INTERVAL, &value); + dvbT2Transponder->guardInterval = DvbT2toGuardInterval(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_TRANSMISSION_MODE, &value); + dvbT2Transponder->transmissionMode = DvbT2toTransmissionMode(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_HIERARCHY, &value); + dvbT2Transponder->hierarchy = DvbT2toHierarchy(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_STREAM_ID, &value); + dvbT2Transponder->streamId = (int)value; + break; + } + case DvbTransponderBase::Atsc: { + AtscTransponder *atscTransponder = transponder.as(); + + dvb_fe_retrieve_parm(dvbv5_parms, DTV_FREQUENCY, &value); + atscTransponder->frequency = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_MODULATION, &value); + atscTransponder->modulation = AtsctoModulation(value); + break; + } + case DvbTransponderBase::IsdbT: { + IsdbTTransponder *isdbTTransponder = transponder.as(); + int i; + uint32_t layers = 0; + + dvb_fe_retrieve_parm(dvbv5_parms, DTV_FREQUENCY, &value); + isdbTTransponder->frequency = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_BANDWIDTH_HZ, &value); + isdbTTransponder->bandwidth = IsdbTtoBandwidth(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_GUARD_INTERVAL, &value); + isdbTTransponder->guardInterval = IsdbTtoGuardInterval(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_TRANSMISSION_MODE, &value); + isdbTTransponder->transmissionMode = IsdbTtoTransmissionMode(value); + + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_PARTIAL_RECEPTION, &value); + isdbTTransponder->partialReception = IsdbTtoPartialReception(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_SOUND_BROADCASTING, &value); + isdbTTransponder->soundBroadcasting = IsdbTtoSoundBroadcasting(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_SB_SUBCHANNEL_ID, &value); + isdbTTransponder->subChannelId = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_SB_SEGMENT_IDX, &value); + isdbTTransponder->sbSegmentIdx = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_SB_SEGMENT_COUNT, &value); + isdbTTransponder->sbSegmentCount = (int)value; + + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYER_ENABLED, &value); + layers = (int)value; + for (i = 0; i < 3; i++) { + if (isdbTTransponder->layerEnabled[i]) + layers |= 1 << i; + } + + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYERA_FEC, &value); + isdbTTransponder->fecRate[0] = DvbtoFecRate(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYERA_MODULATION, &value); + isdbTTransponder->modulation[0] = IsdbTtoModulation(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYERA_SEGMENT_COUNT, &value); + isdbTTransponder->segmentCount[0] = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYERA_TIME_INTERLEAVING, &value); + isdbTTransponder->interleaving[0] = IsdbTtoInterleaving(value); + + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYERB_FEC, &value); + isdbTTransponder->fecRate[1] = DvbtoFecRate(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYERB_MODULATION, &value); + isdbTTransponder->modulation[1] = IsdbTtoModulation(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYERB_SEGMENT_COUNT, &value); + isdbTTransponder->segmentCount[1] = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYERB_TIME_INTERLEAVING, &value); + isdbTTransponder->interleaving[1] = IsdbTtoInterleaving(value); + + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYERC_FEC, &value); + isdbTTransponder->fecRate[2] = DvbtoFecRate(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYERC_MODULATION, &value); + isdbTTransponder->modulation[2] = IsdbTtoModulation(value); + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYERC_SEGMENT_COUNT, &value); + isdbTTransponder->segmentCount[2] = (int)value; + dvb_fe_retrieve_parm(dvbv5_parms, DTV_ISDBT_LAYERC_TIME_INTERLEAVING, &value); + isdbTTransponder->interleaving[2] = IsdbTtoInterleaving(value); + + break; + } + case DvbTransponderBase::Invalid: + qWarning("Invalid transmission type"); + return false; + default: + qWarning("Unknown transmission type %s", qPrintable(transponder.getTransmissionType())); + return false; + } + return true; +} + +float DvbLinuxDevice::getFrqMHz() +{ + return freqMHz; +} + +void DvbLinuxDevice::enableDvbDump() +{ + verbose = 1; + + if (dvbv5_parms) + dvbv5_parms->verbose = 1; +} + bool DvbLinuxDevice::isTuned() { - Q_ASSERT(frontendFd >= 0); - fe_status_t status; - memset(&status, 0, sizeof(status)); + Q_ASSERT(dvbv5_parms); + uint32_t status = 0; - if (ioctl(frontendFd, FE_READ_STATUS, &status) != 0) { - Log("DvbLinuxDevice::isTuned: ioctl FE_READ_STATUS failed for frontend") << - frontendPath; + if (dvb_fe_get_stats(dvbv5_parms) != 0) { + qWarning("ioctl FE_READ_STATUS failed for frontend %s", qPrintable(frontendPath)); + return false; + } + + if (dvb_fe_retrieve_stats(dvbv5_parms, DTV_STATUS, &status) != 0) { + qWarning("ioctl FE_READ_STATUS failed for frontend %s", qPrintable(frontendPath)); return false; } return ((status & FE_HAS_LOCK) != 0); } -int DvbLinuxDevice::getSignal() +float DvbLinuxDevice::getSignal(Scale &scale) { - Q_ASSERT(frontendFd >= 0); - quint16 signal = 0; + Q_ASSERT(dvbv5_parms); + struct dtv_stats *stat; + float signal; - if (ioctl(frontendFd, FE_READ_SIGNAL_STRENGTH, &signal) != 0) { - Log("DvbLinuxDevice::getSignal: " - "ioctl FE_READ_SIGNAL_STRENGTH failed for frontend") << frontendPath; - return -1; + scale = DvbBackendDevice::NotSupported; + + if (dvb_fe_get_stats(dvbv5_parms) != 0) { + qWarning("ioctl FE_READ_STATUS failed for frontend %s", qPrintable(frontendPath)); + return false; } - if (signal == 0) { - // assume that reading signal strength isn't supported + stat = dvb_fe_retrieve_stats_layer(dvbv5_parms, DTV_STAT_SIGNAL_STRENGTH, 0); + if (!stat) + return -1; + + switch (stat->scale) { + case FE_SCALE_RELATIVE: + signal = (100. * stat->uvalue) / 65535; + + scale = DvbBackendDevice::Percentage; + + // Assert that signal will be within the expected range + if (signal > 100.) + signal = 100.; + else if (signal < 0) + signal = 0; + + break; + case FE_SCALE_DECIBEL: + // Convert to dBuV @ 75 ohms, to be positive and typically smaller than 100 + signal = (108800. + stat->svalue) / 1000; + + scale = DvbBackendDevice::dBuV; + + break; + default: return -1; } - return ((signal * 100 + 0x8001) >> 16); + return signal; } -int DvbLinuxDevice::getSnr() +float DvbLinuxDevice::getSnr(Scale &scale) { - Q_ASSERT(frontendFd >= 0); - quint16 snr = 0; + Q_ASSERT(dvbv5_parms); + struct dtv_stats *stat; + float cnr; - if (ioctl(frontendFd, FE_READ_SNR, &snr) != 0) { - Log("DvbLinuxDevice::getSnr: ioctl FE_READ_SNR failed for frontend") << - frontendPath; - return -1; + scale = DvbBackendDevice::NotSupported; + if (dvb_fe_get_stats(dvbv5_parms) != 0) { + qWarning("ioctl FE_READ_STATUS failed for frontend %s", qPrintable(frontendPath)); + return false; } - if (snr == 0) { - // assume that reading snr isn't supported + stat = dvb_fe_retrieve_stats_layer(dvbv5_parms, DTV_STAT_CNR, 0); + if (!stat) + return -1; + + switch (stat->scale) { + case FE_SCALE_RELATIVE: + cnr = (100. * stat->uvalue) / 65535; + + // Assert that CNR will be within the expected range + if (cnr > 100.) + cnr = 100.; + else if (cnr < 0.) + cnr = 0.; + + scale = DvbBackendDevice::Percentage; + + break; + case FE_SCALE_DECIBEL: + cnr = (stat->svalue / 1000.); + + scale = DvbBackendDevice::Decibel; + + break; + default: return -1; } - return ((snr * 100 + 0x8001) >> 16); + return cnr; } bool DvbLinuxDevice::addPidFilter(int pid) @@ -582,14 +1399,14 @@ Q_ASSERT(frontendFd >= 0); if (dmxFds.contains(pid)) { - Log("DvbLinuxDevice::addPidFilter: pid filter already set up for pid") << pid; + qWarning("PID filter already set up for pid %d", pid); return false; } int dmxFd = open(QFile::encodeName(demuxPath).constData(), O_RDONLY | O_NONBLOCK | O_CLOEXEC); if (dmxFd < 0) { - Log("DvbLinuxDevice::addPidFilter: cannot open demux") << demuxPath; + qWarning("Cannot open demux %s", qPrintable(demuxPath)); return false; } @@ -602,8 +1419,7 @@ pes_filter.flags = DMX_IMMEDIATE_START; if (ioctl(dmxFd, DMX_SET_PES_FILTER, &pes_filter) != 0) { - Log("DvbLinuxDevice::addPidFilter: cannot set up pid filter for demux") << - demuxPath; + qWarning("Cannot set up PID filter for demux %s", qPrintable(demuxPath)); close(dmxFd); return false; } @@ -617,7 +1433,7 @@ Q_ASSERT(frontendFd >= 0); if (!dmxFds.contains(pid)) { - Log("DvbLinuxDevice::removePidFilter: no pid filter set up for pid") << pid; + qWarning("No PID filter set up for PID %i", pid); return; } @@ -665,9 +1481,9 @@ dmxFds.clear(); - if (frontendFd >= 0) { - close(frontendFd); - frontendFd = -1; + if (dvbv5_parms) { + dvb_fe_close(dvbv5_parms); + dvbv5_parms = NULL; } } @@ -682,7 +1498,7 @@ } if ((dvrPipe[0] < 0) || (dvrPipe[1] < 0)) { - Log("DvbLinuxDevice::startDvr: cannot create pipe"); + qCritical("Cannot create pipe"); return; } } @@ -715,7 +1531,7 @@ continue; } - Log("DvbLinuxDevice::startDvr: cannot read from dvr") << dvrPath; + qWarning("Cannot read from dvr %s: error: %d", qPrintable(dvrPath), errno); return; } } @@ -734,14 +1550,14 @@ Q_ASSERT((dvrPipe[0] >= 0) && (dvrPipe[1] >= 0)); if (write(dvrPipe[1], " ", 1) != 1) { - Log("DvbLinuxDevice::stopDvr: cannot write to pipe"); + qWarning("Cannot write to pipe"); } wait(); char data; if (read(dvrPipe[0], &data, 1) != 1) { - Log("DvbLinuxDevice::stopDvr: cannot read from pipe"); + qWarning("Cannot read from pipe"); } } } @@ -762,7 +1578,7 @@ continue; } - Log("DvbLinuxDevice::run: poll failed"); + qWarning("Poll failed with error: %d", errno); return; } @@ -783,7 +1599,7 @@ continue; } - Log("DvbLinuxDevice::run: cannot read from dvr") << dvrPath; + qWarning("Cannot read from dvr %s: error %d", qPrintable(dvrPath), errno); dataSize = int(read(dvrFd, dvrBuffer.data, bufferSize)); if (dataSize < 0) { @@ -795,8 +1611,7 @@ continue; } - Log("DvbLinuxDevice::run: cannot read from dvr") << - dvrPath; + qWarning("Cannot read from dvr %s: error %d", qPrintable(dvrPath), errno); return; } } @@ -817,132 +1632,132 @@ } struct dvbdev { - time_t stctime; - char checked; - char adapter_name[50]; - char node_name[75]; - int adapternum; - char lnode[20]; + time_t stctime; + char checked; + char adapter_name[50]; + char node_name[75]; + int adapternum; + char lnode[20]; }; class DvbDeviceMonitor : public QThread { -public: - DvbDeviceMonitor(DvbLinuxDeviceManager *ddm) - { - this->ddm = ddm; - } - ~DvbDeviceMonitor() - { - } - void run() { - DIR *dvbdir, *adapterdirp; - struct dirent *dp, *dp2; - struct stat stbuf; - int adapter; - int rescan=0; - int rv; - int ifd; - int found=0; - char adapterdir[50]; - char nodename[75]; - char buffer[1024]; - struct pollfd pfd; - char firstrun_complete=0; - std::vectoradapterlist; - std::vector::iterator iter; - - runstate = 1; - - ifd = inotify_init(); - inotify_add_watch(ifd, "/dev/dvb", IN_CREATE|IN_DELETE); - fcntl(ifd, F_SETFL, O_NONBLOCK); - pfd.fd = ifd; - pfd.events = POLLIN; - - while(runstate) { - if (firstrun_complete) { - rv = poll(&pfd, 1, 100); - switch (rv) { - case -1: - break; - case 0: - continue; - default: - usleep(100000); /* give it some time to settle down */ - while(read(ifd, buffer, 1024)>0); - break; - } - } else { - firstrun_complete=1; - } - - dvbdir = opendir("/dev/dvb"); - for (iter=adapterlist.begin();iter!=adapterlist.end();iter++) { - (*iter)->checked=0; - } - if (dvbdir) { - while((dp=readdir(dvbdir))!= 0) { - if (strcmp(dp->d_name, ".") == 0 || - strcmp(dp->d_name, "..") == 0) - continue; - adapter = strtol(&dp->d_name[7], NULL, 10); - sprintf(adapterdir, "/dev/dvb/%s", dp->d_name); - adapterdirp = opendir(adapterdir); - if (adapterdirp) { - while((dp2=readdir(adapterdirp))!=0) { - found=0; - if (strcmp(dp2->d_name, ".")==0 || - strcmp(dp2->d_name, "..")==0) - continue; - sprintf(nodename, "/dev/dvb/%s/%s", dp->d_name, dp2->d_name); - rv = stat(nodename, &stbuf); - for (iter=adapterlist.begin();iter!=adapterlist.end();iter++) { - if (strcmp((*iter)->node_name, nodename)==0 && (*iter)->stctime == stbuf.st_ctime) { - (*iter)->checked=1; - found=1; - break; - } - } - if (found == 0) { - struct dvbdev *dvbdev = (struct dvbdev*)calloc(1, sizeof(struct dvbdev)); - dvbdev->checked=1; - dvbdev->stctime = stbuf.st_ctime; - strcpy(dvbdev->adapter_name, dp->d_name); - strcpy(dvbdev->node_name, nodename); - dvbdev->adapternum = adapter; - strcpy(dvbdev->lnode, dp2->d_name); - adapterlist.push_back(dvbdev); - ddm->componentAdded(dp2->d_name, adapter, 0); - } - - } - closedir(adapterdirp); - } - } - closedir(dvbdir); - } - do { - rescan=0; - for (iter=adapterlist.begin();iter!=adapterlist.end();iter++) { - if ((*iter)->checked==0) { - ddm->componentRemoved((*iter)->lnode, (*iter)->adapternum, 0); - free(*iter); - adapterlist.erase(iter); - rescan=1; - break; - } - } - } while (rescan!=0); - } - } - void stop() { - runstate = 0; - wait(); - } -private: - int runstate; - DvbLinuxDeviceManager *ddm; + public: + DvbDeviceMonitor(DvbLinuxDeviceManager *ddm) + { + this->ddm = ddm; + } + ~DvbDeviceMonitor() + { + } + void run() { + DIR *dvbdir, *adapterdirp; + struct dirent *dp, *dp2; + struct stat stbuf; + int adapter; + int rescan=0; + int rv; + int ifd; + int found=0; + char adapterdir[50]; + char nodename[75]; + char buffer[1024]; + struct pollfd pfd; + char firstrun_complete=0; + std::vectoradapterlist; + std::vector::iterator iter; + + runstate = 1; + + ifd = inotify_init(); + inotify_add_watch(ifd, "/dev/dvb", IN_CREATE|IN_DELETE); + fcntl(ifd, F_SETFL, O_NONBLOCK); + pfd.fd = ifd; + pfd.events = POLLIN; + + while(runstate) { + if (firstrun_complete) { + rv = poll(&pfd, 1, 100); + switch (rv) { + case -1: + break; + case 0: + continue; + default: + usleep(100000); /* give it some time to settle down */ + while(read(ifd, buffer, 1024)>0); + break; + } + } else { + firstrun_complete=1; + } + + dvbdir = opendir("/dev/dvb"); + for (iter=adapterlist.begin();iter!=adapterlist.end();iter++) { + (*iter)->checked=0; + } + if (dvbdir) { + while((dp=readdir(dvbdir))!= 0) { + if (strcmp(dp->d_name, ".") == 0 || + strcmp(dp->d_name, "..") == 0) + continue; + adapter = strtol(&dp->d_name[7], NULL, 10); + sprintf(adapterdir, "/dev/dvb/%s", dp->d_name); + adapterdirp = opendir(adapterdir); + if (adapterdirp) { + while((dp2=readdir(adapterdirp))!=0) { + found=0; + if (strcmp(dp2->d_name, ".")==0 || + strcmp(dp2->d_name, "..")==0) + continue; + sprintf(nodename, "/dev/dvb/%s/%s", dp->d_name, dp2->d_name); + rv = stat(nodename, &stbuf); + for (iter=adapterlist.begin();iter!=adapterlist.end();iter++) { + if (strcmp((*iter)->node_name, nodename)==0 && (*iter)->stctime == stbuf.st_ctime) { + (*iter)->checked=1; + found=1; + break; + } + } + if (found == 0) { + struct dvbdev *dvbdev = (struct dvbdev*)calloc(1, sizeof(struct dvbdev)); + dvbdev->checked=1; + dvbdev->stctime = stbuf.st_ctime; + strcpy(dvbdev->adapter_name, dp->d_name); + strcpy(dvbdev->node_name, nodename); + dvbdev->adapternum = adapter; + strcpy(dvbdev->lnode, dp2->d_name); + adapterlist.push_back(dvbdev); + ddm->componentAdded(dp2->d_name, adapter, 0); + } + + } + closedir(adapterdirp); + } + } + closedir(dvbdir); + } + do { + rescan=0; + for (iter=adapterlist.begin();iter!=adapterlist.end();iter++) { + if ((*iter)->checked==0) { + ddm->componentRemoved((*iter)->lnode, (*iter)->adapternum, 0); + free(*iter); + adapterlist.erase(iter); + rescan=1; + break; + } + } + } while (rescan!=0); + } + } + void stop() { + runstate = 0; + wait(); + } + private: + int runstate; + DvbLinuxDeviceManager *ddm; }; #if defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun) @@ -953,34 +1768,36 @@ DvbLinuxDeviceManager::DvbLinuxDeviceManager(QObject *parent) : QObject(parent) { - int fd; - int len; - int ret; - struct sockaddr_un saun; + int fd; + int len; + int ret; + struct sockaddr_un saun; QObject *notifier = Solid::DeviceNotifier::instance(); connect(notifier, SIGNAL(deviceAdded(QString)), this, SLOT(componentAdded(QString))); connect(notifier, SIGNAL(deviceRemoved(QString)), this, SLOT(componentRemoved(QString))); - memset(&saun, 0x0, sizeof(struct sockaddr_un)); - fd = socket(AF_UNIX, SOCK_STREAM, 0); - if (fd==-1) { + memset(&saun, 0x0, sizeof(struct sockaddr_un)); + fd = socket(AF_UNIX, SOCK_STREAM, 0); + if (fd==-1) { monitor = NULL; - return; + return; } - saun.sun_family = AF_UNIX; + saun.sun_family = AF_UNIX; #if defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun) - strcpy(saun.sun_path, MACHADDRESS); - len = sizeof(saun.sun_family) + strlen(saun.sun_path)+1; + strcpy(saun.sun_path, MACHADDRESS); + len = sizeof(saun.sun_family) + strlen(saun.sun_path)+1; #else - strcpy(&saun.sun_path[1], ADDRESS); - len = sizeof(saun.sun_family) + strlen(&saun.sun_path[1])+1; + strcpy(&saun.sun_path[1], ADDRESS); + len = sizeof(saun.sun_family) + strlen(&saun.sun_path[1])+1; #endif - if ((ret=::connect(fd, (struct sockaddr*)&saun, len)) < 0) { - close(fd); + if ((ret=::connect(fd, (struct sockaddr*)&saun, len)) < 0) { + close(fd); monitor = NULL; - return; - } + return; + } close(fd); + qInfo("Starting DvbDeviceMonitor thread"); + monitor = new DvbDeviceMonitor(this); monitor->start(); } @@ -993,63 +1810,82 @@ void DvbLinuxDeviceManager::doColdPlug() { - foreach (const Solid::Device &device, - Solid::Device::listFromType(Solid::DeviceInterface::DvbInterface)) { + foreach (const Solid::Device &device, Solid::Device::allDevices()) { componentAdded(device.udi()); } } -void DvbLinuxDeviceManager::componentAdded(QString node, int adapter, int index) { - int deviceIndex = (adapter << 16) | index; - char adapterstring[10]; - DvbLinuxDevice *device = devices.value(deviceIndex, NULL); - if (device == NULL) { - device = new DvbLinuxDevice(this); - devices.insert(deviceIndex, device); - } - sprintf(adapterstring, "adapter%d", adapter); - - if (node == "frontend0") { - device->frontendPath.sprintf("/dev/dvb/%s/%s", adapterstring, node.toAscii().data()); - } else if (node == "dvr0") { - device->dvrPath.sprintf("/dev/dvb/%s/%s", adapterstring, node.toAscii().data()); - } else if (node == "demux0") { - device->demuxPath.sprintf("/dev/dvb/%s/%s", adapterstring, node.toAscii().data()); - } else { - return; - } - - if (!device->demuxPath.isEmpty() && !device->dvrPath.isEmpty() && - !device->frontendPath.isEmpty()) { - device->startDevice(""); +void +DvbLinuxDeviceManager::componentAdded (QString node, int adapter, int index) +{ + int deviceIndex = (adapter << 16) | index; + char adapterstring[10]; + DvbLinuxDevice *device = devices.value (deviceIndex, NULL); + if (device == NULL) + { + device = new DvbLinuxDevice (this); + devices.insert (deviceIndex, device); + } + sprintf (adapterstring, "adapter%d", adapter); + + if (node == "frontend0") + { + device->frontendPath.sprintf ("/dev/dvb/%s/%s", adapterstring, + node.toStdString().c_str()); + } + else if (node == "dvr0") + { + device->dvrPath.sprintf ("/dev/dvb/%s/%s", adapterstring, + node.toStdString().c_str()); + } + else if (node == "demux0") + { + device->demuxPath.sprintf ("/dev/dvb/%s/%s", adapterstring, + node.toStdString().c_str()); + } + else + { + return; + } - if (device->isReady()) { - emit deviceAdded(device); + if (!device->demuxPath.isEmpty () && !device->dvrPath.isEmpty () && + !device->frontendPath.isEmpty ()) + { + device->startDevice (""); + + if (device->isReady ()) + { + emit deviceAdded (device); } } } void DvbLinuxDeviceManager::componentAdded(const QString &udi) { - const Solid::DvbInterface *dvbInterface = Solid::Device(udi).as(); + QRegularExpressionMatch match; + bool ok; - if (dvbInterface == NULL) { + QRegularExpression rejex = QRegularExpression("/dvb/dvb(\\d+).(\\w+)(\\d+)"); + if (!udi.contains(rejex, &match)) + return; + + int adapter = match.captured(1).toShort(&ok, 10); + if (!ok) + return; + QString type = match.captured(2); + int index = match.captured(3).toShort(&ok, 10); + if (!ok) return; - } - int adapter = dvbInterface->deviceAdapter(); - int index = dvbInterface->deviceIndex(); - QString devicePath = dvbInterface->device(); + QString devicePath = QString(QLatin1String("/dev/dvb/adapter%1/%2%3")).arg(adapter).arg(type).arg(index); if ((adapter < 0) || (adapter > 0x7fff) || (index < 0) || (index > 0x7fff)) { - Log("DvbLinuxDeviceManager::componentAdded: " - "cannot determine adapter or index for device") << udi; + qWarning("Cannot determine adapter or index for device %s", qPrintable(udi)); return; } if (devicePath.isEmpty()) { - Log("DvbLinuxDeviceManager::componentAdded: cannot determine path for device") << - udi; + qWarning("Cannot determine path for device %s", qPrintable(udi)); return; } @@ -1063,55 +1899,45 @@ bool addDevice = false; - switch (dvbInterface->deviceType()) { - case Solid::DvbInterface::DvbCa: + if (!type.compare("ca")) { if (device->caPath.isEmpty()) { device->caPath = devicePath; device->caUdi = udi; udis.insert(udi, device); - if (device->isReady()) { + if (device->isReady()) device->startCa(); - } } - - break; - case Solid::DvbInterface::DvbDemux: + } else if (!type.compare("demux")) { if (device->demuxPath.isEmpty()) { device->demuxPath = devicePath; device->demuxUdi = udi; udis.insert(udi, device); addDevice = true; } - - break; - case Solid::DvbInterface::DvbDvr: + } else if (!type.compare("dvr")) { if (device->dvrPath.isEmpty()) { device->dvrPath = devicePath; device->dvrUdi = udi; udis.insert(udi, device); addDevice = true; } - - break; - case Solid::DvbInterface::DvbFrontend: + } else if (!type.compare("frontend")) { if (device->frontendPath.isEmpty()) { device->frontendPath = devicePath; device->frontendUdi = udi; udis.insert(udi, device); addDevice = true; } - - break; - default: - break; } if (addDevice && !device->demuxPath.isEmpty() && !device->dvrPath.isEmpty() && !device->frontendPath.isEmpty()) { QString path = QString(QLatin1String("/sys/class/dvb/dvb%1.frontend%2/")).arg(adapter).arg(index); QString deviceId; - + device->adapter = adapter; + device->index = index; + device->dvbv5_parms = NULL; if (QFile::exists(path + QLatin1String("device/vendor"))) { // PCI device int vendor = readSysAttr(path + QLatin1String("device/vendor")); @@ -1147,25 +1973,25 @@ } void DvbLinuxDeviceManager::componentRemoved(QString node, int adapter, int index) { - int deviceIndex = (adapter << 16) | index; - char adapterstring[10]; - DvbLinuxDevice *device = devices.value(deviceIndex, NULL); - if (device == NULL) { - return; - } - sprintf(adapterstring, "adapter%d", adapter); - if (node == "frontend0") { - device->frontendPath.clear(); - } else if (node == "dvr0") { - device->dvrPath.clear(); - } else if (node == "demux0") { - device->demuxPath.clear(); - } else { - return; - } + int deviceIndex = (adapter << 16) | index; + char adapterstring[10]; + DvbLinuxDevice *device = devices.value(deviceIndex, NULL); + if (device == NULL) { + return; + } + sprintf(adapterstring, "adapter%d", adapter); + if (node == "frontend0") { + device->frontendPath.clear(); + } else if (node == "dvr0") { + device->dvrPath.clear(); + } else if (node == "demux0") { + device->demuxPath.clear(); + } else { + return; + } if (device->frontendPath.isEmpty() && device->dvrPath.isEmpty() && - device->demuxPath.isEmpty() && device->isReady()) { + device->demuxPath.isEmpty() && device->isReady()) { emit deviceRemoved(device); device->stopDevice(); } @@ -1173,14 +1999,21 @@ void DvbLinuxDeviceManager::componentRemoved(const QString &udi) { + QRegularExpression rejex = QRegularExpression("/dvb/dvb(\\d+).(\\w+)(\\d+)"); + if (!udi.contains(rejex)) + return; + DvbLinuxDevice *device = udis.take(udi); - if (device == NULL) { + // The device is not mapped. Just return + if (!device) return; - } bool removeDevice = false; + if (device->isReady()) + qInfo("Digital TV device removed %s: %s", qPrintable(device->getDeviceId()), qPrintable(device->getFrontendName())); + if (udi == device->caUdi) { device->caPath.clear(); device->caUdi.clear(); diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbdevice_linux.h kaffeine-2.0.4+git20160916/src/dvb/dvbdevice_linux.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbdevice_linux.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbdevice_linux.h 2016-09-17 17:18:56.000000000 +0000 @@ -25,6 +25,13 @@ #include "dvbbackenddevice.h" #include "dvbcam_linux.h" +extern "C" { + #include + #include + #include + #include +} + class DvbLinuxDevice : public QThread, public DvbBackendDevice { public: @@ -36,6 +43,9 @@ void startCa(); void stopCa(); void stopDevice(); + void enableDvbDump(); + QString getDeviceId(); + QString getFrontendName(); QString caPath; QString caUdi; @@ -43,12 +53,13 @@ QString demuxUdi; QString dvrPath; QString dvrUdi; + int adapter; + int index; + struct dvb_v5_fe_parms *dvbv5_parms; QString frontendPath; QString frontendUdi; protected: - QString getDeviceId(); - QString getFrontendName(); TransmissionTypes getTransmissionTypes(); Capabilities getCapabilities(); void setFrontendDevice(DvbFrontendDevice *frontend_); @@ -58,10 +69,13 @@ bool setVoltage(SecVoltage voltage); bool sendMessage(const char *message, int length); bool sendBurst(SecBurst burst); + bool satSetup(QString lnbModel, int satNumber, int bpf); bool tune(const DvbTransponder &transponder); // discards obsolete data + bool getProps(DvbTransponder &transponder); bool isTuned(); - int getSignal(); // 0 - 100 [%] or -1 = not supported - int getSnr(); // 0 - 100 [%] or -1 = not supported + float getFrqMHz(); + float getSignal(Scale &scale); + float getSnr(DvbBackendDevice::Scale &scale); bool addPidFilter(int pid); void removePidFilter(int pid); void startDescrambling(const QByteArray &pmtSectionData); @@ -80,9 +94,12 @@ Capabilities capabilities; DvbFrontendDevice *frontend; bool enabled; - int frontendFd; QMap dmxFds; + float freqMHz; + + int verbose; + int frontendFd; int dvrFd; int dvrPipe[2]; DvbDataBuffer dvrBuffer; diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbepg.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbepg.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbepg.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbepg.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,14 +18,21 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbepg.h" -#include "dvbepg_p.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include #include -#include +#include +#include + #include "../ensurenopendingoperation.h" -#include "../log.h" #include "dvbdevice.h" +#include "dvbepg.h" +#include "dvbepg_p.h" #include "dvbmanager.h" #include "dvbsi.h" @@ -86,24 +93,26 @@ // TODO use SQL to store epg data - QFile file(KStandardDirs::locateLocal("appdata", QLatin1String("epgdata.dvb"))); + QFile file(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/epgdata.dvb")); if (!file.open(QIODevice::ReadOnly)) { - Log("DvbEpgModel::DvbEpgModel: cannot open") << file.fileName(); + qWarning("Cannot open %s", qPrintable(file.fileName())); return; } QDataStream stream(&file); stream.setVersion(QDataStream::Qt_4_4); DvbRecordingModel *recordingModel = manager->getRecordingModel(); - bool hasRecordingKey = true; + bool hasRecordingKey = true, hasParental = true; int version; stream >> version; if (version == 0x1ce0eca7) { hasRecordingKey = false; - } else if (version != 0x79cffd36) { - Log("DvbEpgModel::DvbEpgModel: wrong version") << file.fileName(); + } else if (version == 0x79cffd36) { + hasParental = false; + } else if (version != 0x140c37b5) { + qWarning("Wrong DB version for: %s", qPrintable(file.fileName())); return; } @@ -128,8 +137,21 @@ } } + if (hasParental) { + unsigned tmp; + + stream >> tmp; + stream >> entry.content; + stream >> entry.parental; + + if (tmp <= DvbEpgEntry::EitLast) + entry.type = DvbEpgEntry::EitType(tmp); + else + entry.type = DvbEpgEntry::EitActualTsSchedule; + } + if (stream.status() != QDataStream::Ok) { - Log("DvbEpgModel::DvbEpgModel: corrupt data") << file.fileName(); + qWarning("Corrupt data %s", qPrintable(file.fileName())); break; } @@ -140,23 +162,23 @@ DvbEpgModel::~DvbEpgModel() { if (hasPendingOperation) { - Log("DvbEpgModel::~DvbEpgModel: illegal recursive call"); + qWarning("Illegal recursive call"); } if (!dvbEpgFilters.isEmpty() || !atscEpgFilters.isEmpty()) { - Log("DvbEpgModel::~DvbEpgModel: filter list not empty"); + qWarning("EPG filter list not empty"); } - QFile file(KStandardDirs::locateLocal("appdata", QLatin1String("epgdata.dvb"))); + QFile file(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/epgdata.dvb")); if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) { - Log("DvbEpgModel::~DvbEpgModel: cannot open") << file.fileName(); + qWarning("Cannot open %s", qPrintable(file.fileName())); return; } QDataStream stream(&file); stream.setVersion(QDataStream::Qt_4_4); - int version = 0x79cffd36; + int version = 0x140c37b5; stream << version; foreach (const DvbSharedEpgEntry &entry, entries) { @@ -173,6 +195,9 @@ stream << entry->subheading; stream << entry->details; stream << recordingKey.sqlKey; + stream << int(entry->type); + stream << entry->content; + stream << entry->parental; } } @@ -219,21 +244,66 @@ return result; } +void DvbEpgModel::Debug(QString text, const DvbSharedEpgEntry &entry) +{ + if (!QLoggingCategory::defaultCategory()->isEnabled(QtDebugMsg)) + return; + + QDateTime begin = entry->begin.toLocalTime(); + QTime end = entry->begin.addSecs(QTime(0, 0, 0).secsTo(entry->duration)).toLocalTime().time(); + + qDebug("EPG event %s: type %d, from %s to %s: %s: %s: %s : %s", qPrintable(text), entry->type, qPrintable(QLocale().toString(begin, QLocale::ShortFormat)), qPrintable(QLocale().toString(end)), qPrintable(entry->title), qPrintable(entry->subheading), qPrintable(entry->details), qPrintable(entry->content)); +} + DvbSharedEpgEntry DvbEpgModel::addEntry(const DvbEpgEntry &entry) { if (!entry.validate()) { - Log("DvbEpgModel::addEntry: invalid entry"); + qWarning("Invalid entry: channel is %s, begin is %s, duration is %s", entry.channel.isValid() ? "valid" : "invalid", entry.begin.isValid() ? "valid" : "invalid", entry.duration.isValid() ? "valid" : "invalid"); return DvbSharedEpgEntry(); } if (hasPendingOperation) { - Log("DvbEpgModel::addEntry: illegal recursive call"); + qWarning("Iillegal recursive call"); return DvbSharedEpgEntry(); } EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); - if (entry.begin.addSecs(QTime().secsTo(entry.duration)) > currentDateTimeUtc) { + // Check if the event was already recorded + const QDateTime end = entry.begin.addSecs(QTime(0, 0, 0).secsTo(entry.duration)); + + for (Iterator it = entries.begin(); ConstIterator(it) != entries.constEnd(); it++) { + const DvbSharedEpgEntry &existingEntry = *it; + + // Don't do anything if the event already exists + if (*existingEntry == entry) + return DvbSharedEpgEntry(); + + if (existingEntry->channel != entry.channel) + continue; + + const QDateTime enEnd = existingEntry->begin.addSecs(QTime(0, 0, 0).secsTo(existingEntry->duration)); + + // A new event conflicts with an existing one + if (((entry.begin > existingEntry->begin) && (entry.begin < enEnd)) || ((end > existingEntry->begin) && end < enEnd)) { + Debug("removed", existingEntry); + it = removeEntry(it); + break; + } + // New event data for the same event + if (((entry.begin == existingEntry->begin) && (end == enEnd))) { + if (existingEntry->details.isEmpty() && !entry.details.isEmpty()) { + emit entryAboutToBeUpdated(existingEntry); + const_cast(existingEntry.constData())->details = + entry.details; + emit entryUpdated(existingEntry); + Debug("updated", existingEntry); + } + return existingEntry; + } + } + + if (entry.begin.addSecs(QTime(0, 0, 0).secsTo(entry.duration)) > currentDateTimeUtc) { DvbSharedEpgEntry existingEntry = entries.value(DvbEpgEntryId(&entry)); if (existingEntry.isValid()) { @@ -243,6 +313,7 @@ const_cast(existingEntry.constData())->details = entry.details; emit entryUpdated(existingEntry); + Debug("updated2", existingEntry); } return existingEntry; @@ -260,6 +331,7 @@ } emit entryAdded(newEntry); + Debug("new", newEntry); return newEntry; } @@ -270,12 +342,12 @@ int extraSecondsAfter, bool checkForRecursion, int priority) { if (!entry.isValid() || (entries.value(DvbEpgEntryId(entry)) != entry)) { - Log("DvbEpgModel::scheduleProgram: invalid entry"); + qWarning("Can't schedule program: invalid entry"); return; } if (hasPendingOperation) { - Log("DvbEpgModel::scheduleProgram: illegal recursive call"); + qWarning("Illegal recursive call"); return; } @@ -298,6 +370,7 @@ entry->subheading; recording.details = entry->details; + recording.disabled = false; const_cast(entry.constData())->recording = manager->getRecordingModel()->addRecording(recording, checkForRecursion); recordings.insert(entry->recording, entry); @@ -325,6 +398,8 @@ case DvbTransponderBase::DvbS: case DvbTransponderBase::DvbS2: case DvbTransponderBase::DvbT: + case DvbTransponderBase::DvbT2: + case DvbTransponderBase::IsdbT: dvbEpgFilters.append(QExplicitlySharedDataPointer( new DvbEpgFilter(manager, device, channel))); break; @@ -344,6 +419,8 @@ case DvbTransponderBase::DvbS: case DvbTransponderBase::DvbS2: case DvbTransponderBase::DvbT: + case DvbTransponderBase::DvbT2: + case DvbTransponderBase::IsdbT: for (int i = 0; i < dvbEpgFilters.size(); ++i) { const DvbEpgFilter *epgFilter = dvbEpgFilters.at(i).constData(); @@ -380,7 +457,7 @@ void DvbEpgModel::channelUpdated(const DvbSharedChannel &channel) { if (hasPendingOperation) { - Log("DvbEpgModel::channelUpdated: illegal recursive call"); + qWarning("Illegal recursive call"); return; } @@ -399,7 +476,7 @@ void DvbEpgModel::channelRemoved(const DvbSharedChannel &channel) { if (hasPendingOperation) { - Log("DvbEpgModel::channelRemoved: illegal recursive call"); + qWarning("Illegal recursive call"); return; } @@ -415,7 +492,7 @@ void DvbEpgModel::recordingRemoved(const DvbSharedRecording &recording) { if (hasPendingOperation) { - Log("DvbEpgModel::recordingRemoved: illegal recursive call"); + qWarning("Illegal recursive call"); return; } @@ -434,7 +511,7 @@ Q_UNUSED(event) if (hasPendingOperation) { - Log("DvbEpgModel::timerEvent: illegal recursive call"); + qWarning("Illegal recursive call"); return; } @@ -445,7 +522,7 @@ while (ConstIterator(it) != entries.constEnd()) { const DvbSharedEpgEntry &entry = *it; - if (entry->begin.addSecs(QTime().secsTo(entry->duration)) > currentDateTimeUtc) { + if (entry->begin.addSecs(QTime(0, 0, 0).secsTo(entry->duration)) > currentDateTimeUtc) { ++it; } else { it = removeEntry(it); @@ -492,6 +569,327 @@ ((bcd >> 4) & 0x0f) * 10 + (bcd & 0x0f)); } +static const QByteArray contentStr[16][16] = { + [0] = {}, + [1] = { + /* Movie/Drama */ + {}, + {I18N_NOOP("Detective")}, + {I18N_NOOP("Adventure")}, + {I18N_NOOP("Science Fiction")}, + {I18N_NOOP("Comedy")}, + {I18N_NOOP("Soap")}, + {I18N_NOOP("Romance")}, + {I18N_NOOP("Classical")}, + {I18N_NOOP("Adult")}, + {I18N_NOOP("User defined")}, + }, + [2] = { + /* News/Current affairs */ + {}, + {I18N_NOOP("Weather")}, + {I18N_NOOP("Magazine")}, + {I18N_NOOP("Documentary")}, + {I18N_NOOP("Discussion")}, + {I18N_NOOP("User Defined")}, + }, + [3] = { + /* Show/Game show */ + {}, + {I18N_NOOP("Quiz")}, + {I18N_NOOP("Variety")}, + {I18N_NOOP("Talk")}, + {I18N_NOOP("User Defined")}, + }, + [4] = { + /* Sports */ + {}, + {I18N_NOOP("Events")}, + {I18N_NOOP("Magazine")}, + {I18N_NOOP("Football")}, + {I18N_NOOP("Tennis")}, + {I18N_NOOP("Team")}, + {I18N_NOOP("Athletics")}, + {I18N_NOOP("Motor")}, + {I18N_NOOP("Water")}, + {I18N_NOOP("Winter")}, + {I18N_NOOP("Equestrian")}, + {I18N_NOOP("Martial")}, + {I18N_NOOP("User Defined")}, + }, + [5] = { + /* Children's/Youth */ + {}, + {I18N_NOOP("Preschool")}, + {I18N_NOOP("06 to 14")}, + {I18N_NOOP("10 to 16")}, + {I18N_NOOP("Educational")}, + {I18N_NOOP("Cartoons")}, + {I18N_NOOP("User Defined")}, + }, + [6] = { + /* Music/Ballet/Dance */ + {}, + {I18N_NOOP("Poprock")}, + {I18N_NOOP("Classical")}, + {I18N_NOOP("Folk")}, + {I18N_NOOP("Jazz")}, + {I18N_NOOP("Opera")}, + {I18N_NOOP("Ballet")}, + {I18N_NOOP("User Defined")}, + }, + [7] = { + /* Arts/Culture */ + {}, + {I18N_NOOP("Performance")}, + {I18N_NOOP("Fine Arts")}, + {I18N_NOOP("Religion")}, + {I18N_NOOP("Traditional")}, + {I18N_NOOP("Literature")}, + {I18N_NOOP("Cinema")}, + {I18N_NOOP("Experimental")}, + {I18N_NOOP("Press")}, + {I18N_NOOP("New Media")}, + {I18N_NOOP("Magazine")}, + {I18N_NOOP("Fashion")}, + {I18N_NOOP("User Defined")}, + }, + [8] = { + /* Social/Political/Economics */ + {}, + {I18N_NOOP("Magazine")}, + {I18N_NOOP("Advisory")}, + {I18N_NOOP("People")}, + {I18N_NOOP("User Defined")}, + }, + [9] = { + /* Education/Science/Factual */ + {}, + {I18N_NOOP("Nature")}, + {I18N_NOOP("Technology")}, + {I18N_NOOP("Medicine")}, + {I18N_NOOP("Foreign")}, + {I18N_NOOP("Social")}, + {I18N_NOOP("Further")}, + {I18N_NOOP("Language")}, + {I18N_NOOP("User Defined")}, + }, + [10] = { + /* Leisure/Hobbies */ + {}, + {I18N_NOOP("Travel")}, + {I18N_NOOP("Handicraft")}, + {I18N_NOOP("Motoring")}, + {I18N_NOOP("Fitness")}, + {I18N_NOOP("Cooking")}, + {I18N_NOOP("Shopping")}, + {I18N_NOOP("Gardening")}, + {I18N_NOOP("User Defined")}, + }, + [11] = { + /* Special characteristics */ + {I18N_NOOP("Original Language")}, + {I18N_NOOP("Black and White ")}, + {I18N_NOOP("Unpublished")}, + {I18N_NOOP("Live")}, + {I18N_NOOP("Planostereoscopic")}, + {I18N_NOOP("User Defined")}, + {I18N_NOOP("User Defined 1")}, + {I18N_NOOP("User Defined 2")}, + {I18N_NOOP("User Defined 3")}, + {I18N_NOOP("User Defined 4")} + } +}; + +static const QByteArray nibble1Str[16] = { + [0] = {I18N_NOOP("Undefined")}, + [1] = {I18N_NOOP("Movie")}, + [2] = {I18N_NOOP("News")}, + [3] = {I18N_NOOP("Show")}, + [4] = {I18N_NOOP("Sports")}, + [5] = {I18N_NOOP("Children")}, + [6] = {I18N_NOOP("Music")}, + [7] = {I18N_NOOP("Culture")}, + [8] = {I18N_NOOP("Social")}, + [9] = {I18N_NOOP("Education")}, + [10] = {I18N_NOOP("Leisure")}, + [11] = {I18N_NOOP("Special")}, + [12] = {I18N_NOOP("Reserved")}, + [13] = {I18N_NOOP("Reserved")}, + [14] = {I18N_NOOP("Reserved")}, + [15] = {I18N_NOOP("User defined")}, +}; + +static const QByteArray braNibble1Str[16] = { + [0] = {I18N_NOOP("News")}, + [1] = {I18N_NOOP("Sports")}, + [2] = {I18N_NOOP("Education")}, + [3] = {I18N_NOOP("Soap opera")}, + [4] = {I18N_NOOP("Mini-series")}, + [5] = {I18N_NOOP("Series")}, + [6] = {I18N_NOOP("Variety")}, + [7] = {I18N_NOOP("Reality show")}, + [8] = {I18N_NOOP("Information")}, + [9] = {I18N_NOOP("Comical")}, + [10] = {I18N_NOOP("Children")}, + [11] = {I18N_NOOP("Erotic")}, + [12] = {I18N_NOOP("Movie")}, + [13] = {I18N_NOOP("Raffle, television sales, prizing")}, + [14] = {I18N_NOOP("Debate/interview")}, + [15] = {I18N_NOOP("Other")}, +}; + +// Using the terms from the English version of NBR 15603-2:2007 +// The table omits nibble2="Other", as it is better to show nibble 1 +// definition instead. +// when nibble2[x][0] == nibble1[x] and it has no other definition, +// except for "Other", the field will be kept in blank, as the logic +// will fall back to the definition at nibble 1. +static QByteArray braNibble2Str[16][16] = { + [0] = { + {I18N_NOOP("News")}, + {I18N_NOOP("Report")}, + {I18N_NOOP("Documentary")}, + {I18N_NOOP("Biography")}, + }, + [1] = {}, + [2] = { + {I18N_NOOP("Educative")}, + }, + [3] = {}, + [4] = {}, + [5] = {}, + [6] = { + {I18N_NOOP("Auditorium")}, + {I18N_NOOP("Show")}, + {I18N_NOOP("Musical")}, + {I18N_NOOP("Making of")}, + {I18N_NOOP("Feminine")}, + {I18N_NOOP("Game show")}, + }, + [7] = {}, + [8] = { + {I18N_NOOP("Cooking")}, + {I18N_NOOP("Fashion")}, + {I18N_NOOP("Country")}, + {I18N_NOOP("Health")}, + {I18N_NOOP("Travel")}, + }, + [9] = {}, + [10] = {}, + [11] = {}, + [12] = {}, + [13] = { + {I18N_NOOP("Raffle")}, + {I18N_NOOP("Television sales")}, + {I18N_NOOP("Prizing")}, + }, + [14] = { + {I18N_NOOP("Discussion")}, + {I18N_NOOP("Interview")}, + }, + [15] = { + {I18N_NOOP("Adult cartoon")}, + {I18N_NOOP("Interactive")}, + {I18N_NOOP("Policy")}, + {I18N_NOOP("Religion")}, + }, +}; + +QString DvbEpgFilter::getContent(DvbContentDescriptor &descriptor) +{ + QString content; + + for (DvbEitContentEntry entry = descriptor.contents(); entry.isValid(); entry.advance()) { + const int nibble1 = entry.contentNibbleLevel1(); + const int nibble2 = entry.contentNibbleLevel2(); + QByteArray s; + + // FIXME: should do it only for ISDB-Tb (Brazilian variation), + // as the Japanese variation uses the same codes as DVB + if (transponder.getTransmissionType() == DvbTransponderBase::IsdbT) { + s = braNibble2Str[nibble1][nibble2]; + if (s == "") + s = braNibble1Str[nibble1]; + if (s != "") + content += i18n(s) + "\n"; + } else { + s = contentStr[nibble1][nibble2]; + if (s == "") + s = nibble1Str[nibble1]; + if (s != "") + content += i18n(s) + "\n"; + } + } + + if (content != "") { + // xgettext:no-c-format + return (i18n("Genre: %1", content)); + } + return content; +} + +/* As defined at ABNT NBR 15603-2 */ +static const QByteArray braRating[] = { + [0] = {I18N_NOOP("reserved")}, + [1] = {I18N_NOOP("all audiences")}, + [2] = {I18N_NOOP("10 years")}, + [3] = {I18N_NOOP("12 years")}, + [4] = {I18N_NOOP("14 years")}, + [5] = {I18N_NOOP("16 years")}, + [6] = {I18N_NOOP("18 years")}, +}; + +#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) + +QString DvbEpgFilter::getParental(DvbParentalRatingDescriptor &descriptor) +{ + QString parental; + + for (DvbParentalRatingEntry entry = descriptor.contents(); entry.isValid(); entry.advance()) { + QString code; + code.append(QChar(entry.languageCode1())); + code.append(QChar(entry.languageCode2())); + code.append(QChar(entry.languageCode3())); + + // Rating from 0x10 to 0xff are broadcaster's specific + if (entry.rating() == 0) { + // xgettext:no-c-format + parental += i18n("Country %1: not rated\n", code, entry.rating() + 3); + } else if (entry.rating() < 0x10) { + if (code == "BRA" && transponder.getTransmissionType() == DvbTransponderBase::IsdbT) { + unsigned int rating = entry.rating(); + + if (rating >= ARRAY_SIZE(braRating)) + rating = 0; // Reserved + + QString GenStr; + int genre = entry.rating() >> 4; + + if (genre & 0x2) + GenStr = i18n("violence / "); + if (genre & 0x4) + GenStr = i18n("sex / "); + if (genre & 0x1) + GenStr = i18n("drugs / "); + if (genre) { + GenStr.truncate(GenStr.size() - 2); + GenStr = " (" + GenStr + ")"; + } + + QString ratingStr = i18n(braRating[entry.rating()]); + // xgettext:no-c-format + parental += i18n("Country %1: rating: %2%3\n", code, ratingStr, GenStr); + } else { + // xgettext:no-c-format + parental += i18n("Country %1: rating: %2 years.\n", code, entry.rating() + 3); + } + } + } + + return parental; +} + void DvbEpgFilter::processSection(const char *data, int size) { unsigned char tableId = data[0]; @@ -503,6 +901,7 @@ DvbEitSection eitSection(data, size); if (!eitSection.isValid()) { + qDebug("EPG section is invalid"); return; } @@ -520,14 +919,37 @@ } if (!channel.isValid()) { + qDebug("EPG channel invalid"); return; } + if (eitSection.entries().getLength()) + qDebug("EPG table 0x%02x, extension 0x%04x, session %d/%d, size %d", eitSection.tableId(), eitSection.tableIdExtension(), eitSection.sectionNumber(), eitSection.lastSectionNumber(), eitSection.entries().getLength()); + for (DvbEitSectionEntry entry = eitSection.entries(); entry.isValid(); entry.advance()) { DvbEpgEntry epgEntry; + + if (tableId == 0x4e) + epgEntry.type = DvbEpgEntry::EitActualTsPresentFollowing; + else if (tableId == 0x4f) + epgEntry.type = DvbEpgEntry::EitOtherTsPresentFollowing; + else if (tableId < 0x60) + epgEntry.type = DvbEpgEntry::EitActualTsSchedule; + else + epgEntry.type = DvbEpgEntry::EitOtherTsSchedule; + epgEntry.channel = channel; - epgEntry.begin = QDateTime(QDate::fromJulianDay(entry.startDate() + 2400001), - bcdToTime(entry.startTime()), Qt::UTC); + + /* + * ISDB-T Brazil uses time in UTC-3, + * as defined by ABNT NBR 15603-2:2007. + */ + if (channel->transponder.getTransmissionType() == DvbTransponderBase::IsdbT) + epgEntry.begin = QDateTime(QDate::fromJulianDay(entry.startDate() + 2400001), + bcdToTime(entry.startTime()), Qt::OffsetFromUTC, -10800).toUTC(); + else + epgEntry.begin = QDateTime(QDate::fromJulianDay(entry.startDate() + 2400001), + bcdToTime(entry.startTime()), Qt::UTC); epgEntry.duration = bcdToTime(entry.duration()); for (DvbDescriptor descriptor = entry.descriptors(); descriptor.isValid(); @@ -540,8 +962,8 @@ break; } - epgEntry.title = eventDescriptor.eventName(); - epgEntry.subheading = eventDescriptor.text(); + epgEntry.title += eventDescriptor.eventName(); + epgEntry.subheading += eventDescriptor.text(); break; } case 0x4e: { @@ -554,6 +976,26 @@ epgEntry.details += eventDescriptor.text(); break; } + case 0x54: { + DvbContentDescriptor eventDescriptor(descriptor); + + if (!eventDescriptor.isValid()) { + break; + } + + epgEntry.content += getContent(eventDescriptor); + break; + } + case 0x55: { + DvbParentalRatingDescriptor eventDescriptor(descriptor); + + if (!eventDescriptor.isValid()) { + break; + } + + epgEntry.parental += getParental(eventDescriptor); + break; + } } } @@ -618,8 +1060,11 @@ QList newEitPids; QList newEttPids; - for (AtscMgtSectionEntry entry = mgtSection.entries(); (entryCount > 0) && entry.isValid(); - --entryCount, entry.advance()) { + AtscMgtSectionEntry entry = mgtSection.entries(); + for (int i = 0; i < entryCount; i++) { + if (!entry.isValid()) + break; + int tableType = entry.tableType(); if ((tableType >= 0x0100) && (tableType <= 0x017f)) { @@ -639,6 +1084,8 @@ newEttPids.insert(index, pid); } } + if (i < entryCount - 1) + entry.advance(); } for (int i = 0; i < eitPids.size(); ++i) { @@ -691,6 +1138,7 @@ AtscEitSection eitSection(data, size); if (!eitSection.isValid()) { + qDebug("EPG section is invalid"); return; } @@ -701,32 +1149,33 @@ DvbSharedChannel channel = channelModel->findChannelById(fakeChannel); if (!channel.isValid()) { + qDebug("channel is invalid"); return; } + qDebug("Processing EIT section with size %d", size); + int entryCount = eitSection.entryCount(); // 1980-01-06T000000 minus 15 secs (= UTC - GPS in 2011) QDateTime baseDateTime = QDateTime(QDate(1980, 1, 5), QTime(23, 59, 45), Qt::UTC); - for (AtscEitSectionEntry eitEntry = eitSection.entries(); - (entryCount > 0) && eitEntry.isValid(); --entryCount, eitEntry.advance()) { + AtscEitSectionEntry eitEntry = eitSection.entries(); + for (int i = 0; i < entryCount; i++) { + if (!eitEntry.isValid()) + break; DvbEpgEntry epgEntry; epgEntry.channel = channel; epgEntry.begin = baseDateTime.addSecs(eitEntry.startTime()); - epgEntry.duration = QTime().addSecs(eitEntry.duration()); + epgEntry.duration = QTime(0, 0, 0).addSecs(eitEntry.duration()); epgEntry.title = eitEntry.title(); quint32 id = ((quint32(fakeChannel.networkId) << 16) | quint32(eitEntry.eventId())); DvbSharedEpgEntry entry = epgEntries.value(id); - if (entry.isValid() && (entry->channel == epgEntry.channel) && - (entry->begin == epgEntry.begin) && (entry->duration == epgEntry.duration) && - (entry->title == epgEntry.title)) { - continue; - } - entry = epgModel->addEntry(epgEntry); epgEntries.insert(id, entry); + if ( i < entryCount -1) + eitEntry.advance(); } } diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbepgdialog.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbepgdialog.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbepgdialog.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbepgdialog.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,29 +18,44 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbepgdialog.h" -#include "dvbepgdialog_p.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include +#include #include #include +#include #include #include +#include +#include #include #include -#include -#include -#include -#include "../log.h" +#include + +#include "dvbepgdialog.h" +#include "dvbepgdialog_p.h" #include "dvbmanager.h" -DvbEpgDialog::DvbEpgDialog(DvbManager *manager_, QWidget *parent) : KDialog(parent), +DvbEpgDialog::DvbEpgDialog(DvbManager *manager_, QWidget *parent) : QDialog(parent), manager(manager_) { - setButtons(KDialog::Close); - setCaption(i18nc("@title:window", "Program Guide")); + setWindowTitle(i18nc("@title:window", "Program Guide")); + + QWidget *mainWidget = new QWidget(this); + QBoxLayout *mainLayout = new QHBoxLayout; + setLayout(mainLayout); + + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); + mainLayout->addWidget(mainWidget); QWidget *widget = new QWidget(this); - QBoxLayout *mainLayout = new QHBoxLayout(widget); epgChannelTableModel = new DvbEpgChannelTableModel(this); epgChannelTableModel->setManager(manager); @@ -48,7 +63,6 @@ channelView->setMaximumWidth(30 * fontMetrics().averageCharWidth()); channelView->setModel(epgChannelTableModel); channelView->setRootIsDecorated(false); - channelView->setUniformRowHeights(true); connect(channelView->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(channelActivated(QModelIndex))); mainLayout->addWidget(channelView); @@ -56,7 +70,7 @@ QBoxLayout *rightLayout = new QVBoxLayout(); QBoxLayout *boxLayout = new QHBoxLayout(); - KAction *scheduleAction = new KAction(KIcon(QLatin1String("media-record")), + QAction *scheduleAction = new QAction(QIcon::fromTheme(QLatin1String("media-record"), QIcon(":media-record")), i18nc("@action:inmenu tv show", "Record Show"), this); connect(scheduleAction, SIGNAL(triggered()), this, SLOT(scheduleProgram())); @@ -70,8 +84,8 @@ epgTableModel = new DvbEpgTableModel(this); epgTableModel->setEpgModel(manager->getEpgModel()); connect(epgTableModel, SIGNAL(layoutChanged()), this, SLOT(checkEntry())); - KLineEdit *lineEdit = new KLineEdit(widget); - lineEdit->setClearButtonShown(true); + QLineEdit *lineEdit = new QLineEdit(widget); + lineEdit->setClearButtonEnabled(true); connect(lineEdit, SIGNAL(textChanged(QString)), epgTableModel, SLOT(setContentFilter(QString))); boxLayout->addWidget(lineEdit); @@ -79,7 +93,7 @@ epgView = new QTreeView(widget); epgView->addAction(scheduleAction); - epgView->header()->setResizeMode(QHeaderView::ResizeToContents); + epgView->header()->setSectionResizeMode(QHeaderView::ResizeToContents); epgView->setContextMenuPolicy(Qt::ActionsContextMenu); epgView->setMinimumWidth(75 * fontMetrics().averageCharWidth()); epgView->setModel(epgTableModel); @@ -101,7 +115,9 @@ scrollArea->setWidgetResizable(true); rightLayout->addWidget(scrollArea); mainLayout->addLayout(rightLayout); - setMainWidget(widget); + mainLayout->addWidget(widget); + + rightLayout->addWidget(buttonBox); } DvbEpgDialog::~DvbEpgDialog() @@ -133,20 +149,27 @@ return; } - QString text = i18nc("@info tv show title", - "%1
", entry->title); + QString text = "" + entry->title + ""; if (!entry->subheading.isEmpty()) { - text += i18nc("@info tv show subheading", "%1
", - entry->subheading); + text += "
" + entry->subheading + ""; } QDateTime begin = entry->begin.toLocalTime(); - QTime end = entry->begin.addSecs(QTime().secsTo(entry->duration)).toLocalTime().time(); - text += i18nc("@info tv show start, end", "%1 - %2

", - KGlobal::locale()->formatDateTime(begin, KLocale::LongDate), - KGlobal::locale()->formatTime(end)); - text += entry->details; + QTime end = entry->begin.addSecs(QTime(0, 0, 0).secsTo(entry->duration)).toLocalTime().time(); + text += "

" + QLocale().toString(begin, QLocale::LongFormat) + " - " + QLocale().toString(end) + ""; + + if (!entry->details.isEmpty() && entry->details != entry->title) { + text += "

" + entry->details; + } + + if (!entry->content.isEmpty()) { + text += "

" + entry->content + ""; + } + if (!entry->parental.isEmpty()) { + text += "

" + entry->parental + ""; + } + contentLabel->setText(text); } @@ -295,7 +318,7 @@ void DvbEpgTableModel::setEpgModel(DvbEpgModel *epgModel_) { if (epgModel != NULL) { - Log("DvbEpgTableModel::setEpgModel: epg model already set"); + qWarning("EPG model already set"); return; } @@ -326,17 +349,16 @@ switch (role) { case Qt::DecorationRole: if ((index.column() == 2) && entry->recording.isValid()) { - return KIcon(QLatin1String("media-record")); + return QIcon::fromTheme(QLatin1String("media-record"), QIcon(":media-record")); } break; case Qt::DisplayRole: switch (index.column()) { case 0: - return KGlobal::locale()->formatDateTime( - entry->begin.toLocalTime()); + return QLocale().toString((entry->begin.toLocalTime()), QLocale::NarrowFormat); case 1: - return KGlobal::locale()->formatTime(entry->duration, false, true); + return entry->duration.toString("HH:mm"); case 2: return entry->title; case 3: diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbepgdialog.h kaffeine-2.0.4+git20160916/src/dvb/dvbepgdialog.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbepgdialog.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbepgdialog.h 2016-09-17 17:18:56.000000000 +0000 @@ -21,7 +21,7 @@ #ifndef DVBEPGDIALOG_H #define DVBEPGDIALOG_H -#include +#include #include "dvbchannel.h" class QLabel; @@ -31,7 +31,7 @@ class DvbEpgTableModel; class DvbManager; -class DvbEpgDialog : public KDialog +class DvbEpgDialog : public QDialog { Q_OBJECT public: diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbepg.h kaffeine-2.0.4+git20160916/src/dvb/dvbepg.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbepg.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbepg.h 2016-09-17 17:18:56.000000000 +0000 @@ -30,7 +30,15 @@ class DvbEpgEntry : public SharedData { public: - DvbEpgEntry() { } + enum EitType { + EitActualTsPresentFollowing = 0, + EitOtherTsPresentFollowing = 1, + EitActualTsSchedule = 2, + EitOtherTsSchedule = 3, + + EitLast = 3 + }; + DvbEpgEntry(): type(EitActualTsSchedule) { } explicit DvbEpgEntry(const DvbSharedChannel &channel_) : channel(channel_) { } ~DvbEpgEntry() { } @@ -38,12 +46,38 @@ bool validate() const; DvbSharedChannel channel; + EitType type; QDateTime begin; // UTC QTime duration; QString title; QString subheading; QString details; + QString content; + QString parental; DvbSharedRecording recording; + + // Check only the user-visible elements + bool operator==(const DvbEpgEntry &other) const + { + if (channel != other.channel) + return false; + if (begin != other.begin) + return false; + if (duration != other.duration) + return false; + if (title != other.title) + return false; + if (subheading != other.subheading) + return false; + if (details != other.details) + return false; + if (content != other.content) + return false; + if (parental != other.parental) + return false; + + return true; + } }; typedef ExplicitlySharedDataPointer DvbSharedEpgEntry; @@ -104,6 +138,7 @@ private: void timerEvent(QTimerEvent *event); + void Debug(QString text, const DvbSharedEpgEntry &entry); Iterator removeEntry(Iterator it); diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbepg_p.h kaffeine-2.0.4+git20160916/src/dvb/dvbepg_p.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbepg_p.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbepg_p.h 2016-09-17 17:18:56.000000000 +0000 @@ -24,6 +24,9 @@ #include "dvbbackenddevice.h" #include "dvbepg.h" +class DvbContentDescriptor; +class DvbParentalRatingDescriptor; + class DvbEpgFilter : public QSharedData, public DvbSectionFilter { public: @@ -39,6 +42,8 @@ static QTime bcdToTime(int bcd); void processSection(const char *data, int size); + QString getContent(DvbContentDescriptor &descriptor); + QString getParental(DvbParentalRatingDescriptor &descriptor); DvbChannelModel *channelModel; DvbEpgModel *epgModel; diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbliveview.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbliveview.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbliveview.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbliveview.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,23 +18,28 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbliveview.h" -#include "dvbliveview_p.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include +#include +#include #include +#include #include #include #include -#include -#include -#include -#include -#include -#include // bsd compatibility -#include // bsd compatibility +#include +#include // bsd compatibility +#include // bsd compatibility #include -#include "../log.h" + #include "dvbdevice.h" +#include "dvbliveview.h" +#include "dvbliveview_p.h" #include "dvbmanager.h" void DvbOsd::init(OsdLevel level_, const QString &channelName_, @@ -43,13 +48,21 @@ level = level_; channelName = channelName_; - if (epgEntries.size() >= 1) { - firstEntry = *epgEntries.at(0); + if (epgEntries.size() < 1) { + DvbEpgEntry empty; + firstEntry = empty; + secondEntry = empty; + return; } - if (epgEntries.size() >= 2) { - secondEntry = *epgEntries.at(1); + firstEntry = *epgEntries.at(0); + + if (epgEntries.size() < 2) { + DvbEpgEntry empty; + secondEntry = empty; + return; } + secondEntry = *epgEntries.at(1); } QPixmap DvbOsd::paintOsd(QRect &rect, const QFont &font, Qt::LayoutDirection) @@ -57,21 +70,21 @@ QFont osdFont = font; osdFont.setPointSize(20); - QString timeString = KGlobal::locale()->formatTime(QTime::currentTime()); + QString timeString = QLocale().toString(QTime::currentTime()); QString entryString; int elapsedTime = 0; int totalTime = 0; if (firstEntry.channel.isValid()) { - entryString = KGlobal::locale()->formatTime(firstEntry.begin.toLocalTime().time()) + entryString = QLocale().toString(firstEntry.begin.toLocalTime().time()) + QLatin1Char(' ') + firstEntry.title; elapsedTime = firstEntry.begin.secsTo(QDateTime::currentDateTime()); - totalTime = QTime().secsTo(firstEntry.duration); + totalTime = QTime(0, 0, 0).secsTo(firstEntry.duration); } if ((level == ShortOsd) && secondEntry.channel.isValid()) { entryString = entryString + QLatin1Char('\n') + - KGlobal::locale()->formatTime(secondEntry.begin.toLocalTime().time()) + + QLocale().toString(secondEntry.begin.toLocalTime().time()) + QLatin1Char(' ') + secondEntry.title; } @@ -116,7 +129,7 @@ firstEntry.subheading, &boundingRect); } - if (!firstEntry.details.isEmpty()) { + if (!firstEntry.details.isEmpty() && firstEntry.details != firstEntry.title) { painter.drawText(entryRect.x(), boundingRect.bottom() + 1, entryRect.width(), rect.height() - boundingRect.bottom() - 1, @@ -165,38 +178,6 @@ void DvbLiveView::replay() { - // FIXME -} - -void DvbLiveView::playbackFinished() -{ - mediaWidget->play(internal); -} - -const DvbSharedChannel &DvbLiveView::getChannel() const -{ - return channel; -} - -DvbDevice *DvbLiveView::getDevice() const -{ - return device; -} - -void DvbLiveView::playChannel(const DvbSharedChannel &channel_) -{ - DvbDevice *newDevice = NULL; - - if ((channel.constData() != NULL) && (channel->source == channel_->source) && - (channel->transponder.corresponds(channel_->transponder))) { - newDevice = manager->requestDevice(channel->source, channel->transponder, - DvbManager::Shared); - } - - playbackStatusChanged(MediaWidget::Idle); - channel = channel_; - device = newDevice; - if (device == NULL) { device = manager->requestDevice(channel->source, channel->transponder, DvbManager::Shared); @@ -236,6 +217,38 @@ QTimer::singleShot(2000, this, SLOT(showOsd())); } +void DvbLiveView::playbackFinished() +{ + mediaWidget->play(internal); +} + +const DvbSharedChannel &DvbLiveView::getChannel() const +{ + return channel; +} + +DvbDevice *DvbLiveView::getDevice() const +{ + return device; +} + +void DvbLiveView::playChannel(const DvbSharedChannel &channel_) +{ + DvbDevice *newDevice = NULL; + + if ((channel.constData() != NULL) && (channel->source == channel_->source) && + (channel->transponder.corresponds(channel_->transponder))) { + newDevice = manager->requestDevice(channel->source, channel->transponder, + DvbManager::Shared); + } + + playbackStatusChanged(MediaWidget::Idle); + channel = channel_; + device = newDevice; + + replay(); +} + void DvbLiveView::toggleOsd() { if (channel.constData() == NULL) { @@ -325,18 +338,11 @@ internal->currentAudioStream = audioPids.indexOf(audioPid); mediaWidget->audioStreamsChanged(); - internal->subtitles.clear(); subtitlePids.clear(); for (int i = 0; i < pmtParser.subtitlePids.size(); ++i) { const QPair &it = pmtParser.subtitlePids.at(i); - if (!it.second.isEmpty()) { - internal->subtitles.append(it.second); - } else { - internal->subtitles.append(QString::number(it.first)); - } - subtitlePids.append(it.first); } @@ -407,7 +413,6 @@ device = NULL; } - channel = DvbSharedChannel(); pids.clear(); patPmtTimer.stop(); osdTimer.stop(); @@ -417,6 +422,7 @@ internal->pmtGenerator = DvbSectionGenerator(); internal->buffer.clear(); internal->timeShiftFile.close(); + internal->updateUrl(); internal->dvbOsd.init(DvbOsd::Off, QString(), QList()); osdWidget->hideObject(); break; @@ -438,16 +444,14 @@ if (internal->timeShiftFile.exists() || !internal->timeShiftFile.open(QIODevice::WriteOnly)) { - Log("DvbLiveView::playbackStatusChanged: cannot open file") << - internal->timeShiftFile.fileName(); + qWarning("Cannot open file %s", qPrintable(internal->timeShiftFile.fileName())); internal->timeShiftFile.setFileName(QDir::homePath() + QLatin1String("/TimeShift-") + QDateTime::currentDateTime().toString(QLatin1String("yyyyMMddThhmmss")) + QLatin1String(".m2t")); if (internal->timeShiftFile.exists() || !internal->timeShiftFile.open(QIODevice::WriteOnly)) { - Log("DvbLiveView::playbackStatusChanged: cannot open file") << - internal->timeShiftFile.fileName(); + qWarning("Cannot open file %s", qPrintable(internal->timeShiftFile.fileName())); mediaWidget->stop(); break; } @@ -455,11 +459,13 @@ updatePids(); + // Use either the timeshift or the standard file URL + internal->updateUrl(); + // don't allow changes after starting time shift internal->audioStreams.clear(); internal->currentAudioStream = -1; mediaWidget->audioStreamsChanged(); - internal->subtitles.clear(); internal->currentSubtitle = -1; mediaWidget->subtitlesChanged(); break; @@ -533,18 +539,12 @@ } } - if (!isTimeShifting) { - if (subtitlePid != -1) { - newPids.insert(subtitlePid); - } - } else { - for (int i = 0; i < pmtParser.subtitlePids.size(); ++i) { - newPids.insert(pmtParser.subtitlePids.at(i).first); - } + for (int i = 0; i < pmtParser.subtitlePids.size(); ++i) { + newPids.insert(pmtParser.subtitlePids.at(i).first); + } - if (pmtParser.teletextPid != -1) { - newPids.insert(pmtParser.teletextPid); - } + if (pmtParser.teletextPid != -1) { + newPids.insert(pmtParser.teletextPid); } for (int i = 0; i < pids.size(); ++i) { @@ -573,32 +573,35 @@ DvbLiveViewInternal::DvbLiveViewInternal(QObject *parent) : QObject(parent), mediaWidget(NULL), readFd(-1), writeFd(-1) { - QString fileName = KStandardDirs::locateLocal("appdata", QLatin1String("dvbpipe.m2t")); + fileName = QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation) + QLatin1String("/dvbpipe.m2t"); QFile::remove(fileName); - url = KUrl::fromLocalFile(fileName); + + updateUrl(); if (mkfifo(QFile::encodeName(fileName).constData(), 0600) != 0) { - Log("DvbLiveViewInternal::DvbLiveViewInternal: mkfifo failed"); + qWarning("Failed to open a fifo. Error: %d", errno); return; } readFd = open(QFile::encodeName(fileName).constData(), O_RDONLY | O_NONBLOCK); if (readFd < 0) { - Log("DvbLiveViewInternal::DvbLiveViewInternal: open failed"); + qWarning("Failed to open fifo for read. Error: %d", errno); return; } writeFd = open(QFile::encodeName(fileName).constData(), O_WRONLY | O_NONBLOCK); if (writeFd < 0) { - Log("DvbLiveViewInternal::DvbLiveViewInternal: open failed"); + qWarning("Failed to open fifo for write. Error: %d", errno); return; } notifier = new QSocketNotifier(writeFd, QSocketNotifier::Write, this); notifier->setEnabled(false); connect(notifier, SIGNAL(activated(int)), this, SLOT(writeToPipe())); + + emptyBuffer = true; } DvbLiveViewInternal::~DvbLiveViewInternal() @@ -628,6 +631,7 @@ } } + emptyBuffer = true; buffer.clear(); } @@ -658,6 +662,20 @@ } } +void DvbLiveViewInternal::validateCurrentTotalTime(int ¤tTime, int &totalTime) const +{ + if (emptyBuffer) + return; + + totalTime = startTime.msecsTo(QTime::currentTime()); + + // Adjust it, if needed + if (currentTime > totalTime) + currentTime = totalTime -1; + +} + + void DvbLiveViewInternal::processData(const char data[188]) { buffer.append(data, 188); @@ -670,9 +688,17 @@ if (writeFd >= 0) { buffers.append(buffer); writeToPipe(); + if (emptyBuffer) { + startTime = QTime::currentTime(); + emptyBuffer = false; + } } } else { timeShiftFile.write(buffer); // FIXME avoid buffer reallocation + if (emptyBuffer) { + startTime = QTime::currentTime(); + emptyBuffer = false; + } } buffer.clear(); diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbliveview_p.h kaffeine-2.0.4+git20160916/src/dvb/dvbliveview_p.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbliveview_p.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbliveview_p.h 2016-09-17 17:18:56.000000000 +0000 @@ -71,12 +71,14 @@ DvbSectionGenerator pmtGenerator; QByteArray buffer; QFile timeShiftFile; + QString fileName; DvbOsd dvbOsd; + bool emptyBuffer; + QTime startTime; bool overrideAudioStreams() const { return !audioStreams.isEmpty(); } - bool overrideSubtitles() const { return !subtitles.isEmpty(); } QStringList getAudioStreams() const { return audioStreams; } - QStringList getSubtitles() const { return subtitles; } + QStringList getSubtitles() const { return QStringList(); } int getCurrentAudioStream() const { return currentAudioStream; } int getCurrentSubtitle() const { return currentSubtitle; } @@ -98,13 +100,20 @@ Type getType() const { return Dvb; } - KUrl getUrl() const { return url; } + QUrl getUrl() const { return url; } + void updateUrl() { + if (timeShiftFile.isOpen()) + url = QUrl::fromLocalFile(timeShiftFile.fileName()); + else + url = QUrl::fromLocalFile(fileName); + } + + virtual void validateCurrentTotalTime(int ¤tTime, int &totalTime) const; bool hideCurrentTotalTime() const { return !timeshift; } bool timeshift; QStringList audioStreams; - QStringList subtitles; int currentAudioStream; int currentSubtitle; @@ -123,7 +132,7 @@ private: void processData(const char data[188]); - KUrl url; + QUrl url; int readFd; int writeFd; QSocketNotifier *notifier; diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbmanager.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbmanager.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbmanager.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbmanager.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,21 +18,27 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbmanager.h" -#include "dvbmanager_p.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include +#include +#include #include #include -#include -#include -#include -#include -#include "../log.h" +#include +#include + #include "dvbconfig.h" #include "dvbdevice.h" #include "dvbdevice_linux.h" #include "dvbepg.h" #include "dvbliveview.h" +#include "dvbmanager.h" +#include "dvbmanager_p.h" #include "dvbsi.h" DvbManager::DvbManager(MediaWidget *mediaWidget_, QWidget *parent_) : QObject(parent_), @@ -58,6 +64,7 @@ // we need an explicit deletion order (device users ; devices ; device manager) delete epgModel; + epgModel = NULL; delete recordingModel; foreach (const DvbDeviceConfig &deviceConfig, deviceConfigs) { @@ -267,11 +274,11 @@ QPair scanSource = sourceMapping.value(source); if (scanSource.second.isEmpty()) { - Log("DvbManager::getAutoScanSource: invalid source"); + qWarning("Invalid source for autoscan"); return QString(); } - if ((scanSource.first == DvbT) && (scanSource.second.startsWith(QLatin1String("AUTO")))) { + if (((scanSource.first == DvbT) || (scanSource.first == IsdbT)) && (scanSource.second.startsWith(QLatin1String("AUTO")))) { return scanSource.second; } @@ -287,7 +294,7 @@ QPair scanSource = sourceMapping.value(source); if (scanSource.second.isEmpty()) { - Log("DvbManager::getTransponders: invalid source"); + qWarning("Invalid source. Can't get transponder"); return QList(); } @@ -296,6 +303,11 @@ scanSource.first = DvbS2; } + if ((scanSource.first == DvbT) && + ((device->getTransmissionTypes() & DvbDevice::DvbT2) != 0)) { + scanSource.first = DvbT2; + } + return scanData.value(scanSource); } @@ -304,19 +316,19 @@ QByteArray uncompressed = qUncompress(data); if (uncompressed.isEmpty()) { - Log("DvbManager::updateScanData: qUncompress failed"); + qWarning("Failed to uncompress the scan data file"); return false; } if (!DvbScanData(uncompressed).readDate().isValid()) { - Log("DvbManager::updateScanData: invalid format"); + qWarning("Invalid format at the scan data file"); return false; } - QFile file(KStandardDirs::locateLocal("appdata", QLatin1String("scanfile.dvb"))); + QFile file(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/scanfile.dvb")); if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) { - Log("DvbManager::updateScanData: cannot open") << file.fileName(); + qWarning("Cannot open %s", qPrintable(file.fileName())); return false; } @@ -329,102 +341,102 @@ QString DvbManager::getRecordingFolder() const { - return KGlobal::config()->group("DVB").readEntry("RecordingFolder", QDir::homePath()); + return KSharedConfig::openConfig()->group("DVB").readEntry("RecordingFolder", QDir::homePath()); } QString DvbManager::getTimeShiftFolder() const { - return KGlobal::config()->group("DVB").readEntry("TimeShiftFolder", QDir::homePath()); + return KSharedConfig::openConfig()->group("DVB").readEntry("TimeShiftFolder", QDir::homePath()); } int DvbManager::getBeginMargin() const { - return KGlobal::config()->group("DVB").readEntry("BeginMargin", 300); + return KSharedConfig::openConfig()->group("DVB").readEntry("BeginMargin", 300); } int DvbManager::getEndMargin() const { - return KGlobal::config()->group("DVB").readEntry("EndMargin", 600); + return KSharedConfig::openConfig()->group("DVB").readEntry("EndMargin", 600); } QString DvbManager::getNamingFormat() const { - return KGlobal::config()->group("DVB").readEntry("NamingFormat", "%title"); + return KSharedConfig::openConfig()->group("DVB").readEntry("NamingFormat", "%title"); } QString DvbManager::getRecordingRegex() const { - return KGlobal::config()->group("DVB").readEntry("RecordingRegex", ""); + return KSharedConfig::openConfig()->group("DVB").readEntry("RecordingRegex", ""); } QStringList DvbManager::getRecordingRegexList() const { - return KGlobal::config()->group("DVB").readEntry("RecordingRegexList", QStringList()); + return KSharedConfig::openConfig()->group("DVB").readEntry("RecordingRegexList", QStringList()); } QList DvbManager::getRecordingRegexPriorityList() const { - return KGlobal::config()->group("DVB").readEntry("RecordingRegexPriorityList", QList()); + return KSharedConfig::openConfig()->group("DVB").readEntry("RecordingRegexPriorityList", QList()); } QString DvbManager::getActionAfterRecording() const { - return KGlobal::config()->group("DVB").readEntry("ActionAfterRecording", ""); + return KSharedConfig::openConfig()->group("DVB").readEntry("ActionAfterRecording", ""); } bool DvbManager::override6937Charset() const { - return KGlobal::config()->group("DVB").readEntry("Override6937", false); + return KSharedConfig::openConfig()->group("DVB").readEntry("Override6937", false); } bool DvbManager::isScanWhenIdle() const { - return KGlobal::config()->group("DVB").readEntry("ScanWhenIdle", false); + return KSharedConfig::openConfig()->group("DVB").readEntry("ScanWhenIdle", false); } bool DvbManager::createInfoFile() const { - return KGlobal::config()->group("DVB").readEntry("CreateInfoFile", false); + return KSharedConfig::openConfig()->group("DVB").readEntry("CreateInfoFile", false); } void DvbManager::setRecordingFolder(const QString &path) { - KGlobal::config()->group("DVB").writeEntry("RecordingFolder", path); + KSharedConfig::openConfig()->group("DVB").writeEntry("RecordingFolder", path); } void DvbManager::setTimeShiftFolder(const QString &path) { - KGlobal::config()->group("DVB").writeEntry("TimeShiftFolder", path); + KSharedConfig::openConfig()->group("DVB").writeEntry("TimeShiftFolder", path); } void DvbManager::setBeginMargin(int beginMargin) { - KGlobal::config()->group("DVB").writeEntry("BeginMargin", beginMargin); + KSharedConfig::openConfig()->group("DVB").writeEntry("BeginMargin", beginMargin); } void DvbManager::setEndMargin(int endMargin) { - KGlobal::config()->group("DVB").writeEntry("EndMargin", endMargin); + KSharedConfig::openConfig()->group("DVB").writeEntry("EndMargin", endMargin); } void DvbManager::setNamingFormat(QString namingFormat) { - KGlobal::config()->group("DVB").writeEntry("NamingFormat", namingFormat); + KSharedConfig::openConfig()->group("DVB").writeEntry("NamingFormat", namingFormat); } void DvbManager::setRecordingRegex(QString regex) { - KGlobal::config()->group("DVB").writeEntry("RecordingRegex", regex); + KSharedConfig::openConfig()->group("DVB").writeEntry("RecordingRegex", regex); } void DvbManager::setRecordingRegexList(const QStringList regexList) { - KGlobal::config()->group("DVB").writeEntry("RecordingRegexList", regexList); + KSharedConfig::openConfig()->group("DVB").writeEntry("RecordingRegexList", regexList); } void DvbManager::setRecordingRegexPriorityList(const QList regexList) { - KGlobal::config()->group("DVB").writeEntry("RecordingRegexPriorityList", regexList); + KSharedConfig::openConfig()->group("DVB").writeEntry("RecordingRegexPriorityList", regexList); } bool DvbManager::addRecordingRegex(QString regex) @@ -469,43 +481,23 @@ void DvbManager::setActionAfterRecording(QString actionAfterRecording) { - KGlobal::config()->group("DVB").writeEntry("ActionAfterRecording", actionAfterRecording); + KSharedConfig::openConfig()->group("DVB").writeEntry("ActionAfterRecording", actionAfterRecording); } void DvbManager::setOverride6937Charset(bool override) { - KGlobal::config()->group("DVB").writeEntry("Override6937", override); + KSharedConfig::openConfig()->group("DVB").writeEntry("Override6937", override); DvbSiText::setOverride6937(override); } void DvbManager::setScanWhenIdle(bool scanWhenIdle) { - KGlobal::config()->group("DVB").writeEntry("ScanWhenIdle", scanWhenIdle); + KSharedConfig::openConfig()->group("DVB").writeEntry("ScanWhenIdle", scanWhenIdle); } void DvbManager::setCreateInfoFile(bool createInfoFile) { - KGlobal::config()->group("DVB").writeEntry("CreateInfoFile", createInfoFile); -} - -double DvbManager::getLatitude() -{ - return KGlobal::config()->group("DVB").readEntry("Latitude", 0.0); -} - -double DvbManager::getLongitude() -{ - return KGlobal::config()->group("DVB").readEntry("Longitude", 0.0); -} - -void DvbManager::setLatitude(double value) -{ - KGlobal::config()->group("DVB").writeEntry("Latitude", value); -} - -void DvbManager::setLongitude(double value) -{ - KGlobal::config()->group("DVB").writeEntry("Longitude", value); + KSharedConfig::openConfig()->group("DVB").writeEntry("CreateInfoFile", createInfoFile); } void DvbManager::enableDvbDump() @@ -589,12 +581,11 @@ QObject *deviceManager = QPluginLoader(path).instance(); if (deviceManager == NULL) { - Log("DvbManager::loadDeviceManager: cannot load dvb device manager") << - path; + qWarning("Cannot load dvb device manager %s", qPrintable(path)); break; } - Log("DvbManager::loadDeviceManager: using dvb device manager") << path; + qInfo("Using dvb device manager %s", qPrintable(path)); deviceManager->setParent(this); connect(deviceManager, SIGNAL(requestBuiltinDeviceManager(QObject*&)), this, SLOT(requestBuiltinDeviceManager(QObject*&))); @@ -606,7 +597,7 @@ return; } - Log("DvbManager::loadDeviceManager: using built-in dvb device manager"); + qInfo("Using built-in dvb device manager"); DvbLinuxDeviceManager *deviceManager = new DvbLinuxDeviceManager(this); connect(deviceManager, SIGNAL(deviceAdded(DvbBackendDevice*)), this, SLOT(deviceAdded(DvbBackendDevice*))); @@ -617,10 +608,10 @@ void DvbManager::readDeviceConfigs() { - QFile file(KStandardDirs::locateLocal("appdata", QLatin1String("config.dvb"))); + QFile file(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/config.dvb")); if (!file.open(QIODevice::ReadOnly)) { - Log("DvbManager::readDeviceConfigs: cannot open") << file.fileName(); + qWarning("Cannot open %s", qPrintable(file.fileName())); return; } @@ -662,12 +653,14 @@ config->timeout = reader.readInt(QLatin1String("timeout")); if (type == DvbConfigBase::DvbS) { + config->latitude = 0; + config->longitude = 0; config->configuration = reader.readEnum(QLatin1String("configuration"), DvbConfigBase::ConfigurationMax); config->lnbNumber = reader.readInt(QLatin1String("lnbNumber")); - config->lowBandFrequency = reader.readInt(QLatin1String("lowBandFrequency")); - config->switchFrequency = reader.readInt(QLatin1String("switchFrequency")); - config->highBandFrequency = reader.readInt(QLatin1String("highBandFrequency")); + config->currentLnb.alias = reader.readString(QLatin1String("lnb")); + config->latitude = reader.readDouble(QLatin1String("latitude")); + config->longitude = reader.readInt(QLatin1String("longitude")); } if (!reader.isValid()) { @@ -681,17 +674,16 @@ deviceConfigs.append(deviceConfig); } - if (!reader.isValid()) { - Log("DvbManager::readDeviceConfigs: cannot read") << file.fileName(); - } + if (!reader.isValid()) + qWarning("Cannot read %s", qPrintable(file.fileName())); } void DvbManager::writeDeviceConfigs() { - QFile file(KStandardDirs::locateLocal("appdata", QLatin1String("config.dvb"))); + QFile file(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/config.dvb")); if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) { - Log("DvbManager::writeDeviceConfigs: cannot open") << file.fileName(); + qWarning("Cannot open %s", qPrintable(file.fileName())); return; } @@ -714,9 +706,9 @@ if (config->getTransmissionType() == DvbConfigBase::DvbS) { writer.write(QLatin1String("configuration"), config->configuration); writer.write(QLatin1String("lnbNumber"), config->lnbNumber); - writer.write(QLatin1String("lowBandFrequency"), config->lowBandFrequency); - writer.write(QLatin1String("switchFrequency"), config->switchFrequency); - writer.write(QLatin1String("highBandFrequency"), config->highBandFrequency); + writer.write(QLatin1String("lnb"), config->currentLnb.alias); + writer.write(QLatin1String("latitude"), config->latitude); + writer.write(QLatin1String("longitude"), config->longitude); } } } @@ -744,6 +736,9 @@ case DvbConfigBase::Atsc: type = Atsc; break; + case DvbConfigBase::IsdbT: + type = IsdbT; + break; default: Q_ASSERT(false); continue; @@ -768,15 +763,15 @@ globalDate = DvbScanData(globalFile.read(1024)).readDate(); if (globalDate.isNull()) { - Log("DvbManager::readScanData: cannot parse") << globalFile.fileName(); + qWarning("Cannot parse %s", qPrintable(globalFile.fileName())); } globalFile.close(); } else { - Log("DvbManager::readScanData: cannot open") << globalFile.fileName(); + qWarning("Cannot open global scanfile %s", qPrintable(globalFile.fileName())); } - QFile localFile(KStandardDirs::locateLocal("appdata", QLatin1String("scanfile.dvb"))); + QFile localFile(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/scanfile.dvb")); QByteArray localData; QDate localDate; @@ -785,7 +780,7 @@ localDate = DvbScanData(localData).readDate(); if (localDate.isNull()) { - Log("DvbManager::readScanData: cannot parse") << localFile.fileName(); + qWarning("Cannot parse %s", qPrintable(localFile.fileName())); } localFile.close(); @@ -795,19 +790,18 @@ localData.clear(); if (localFile.exists() && !localFile.remove()) { - Log("DvbManager::readScanData: cannot remove") << localFile.fileName(); + qWarning("Cannot remove %s", qPrintable(localFile.fileName())); } if (!globalFile.copy(localFile.fileName())) { - Log("DvbManager::readScanData: cannot copy") << globalFile.fileName() << - QLatin1String("to") << localFile.fileName(); + qWarning("Cannot copy %s to %s", qPrintable(globalFile.fileName()), qPrintable(localFile.fileName())); } if (localFile.open(QIODevice::ReadOnly)) { localData = localFile.readAll(); localFile.close(); } else { - Log("DvbManager::readScanData: cannot open") << localFile.fileName(); + qWarning("Cannot open %s", qPrintable(localFile.fileName())); scanDataDate = QDate(1900, 1, 1); return; } @@ -817,39 +811,55 @@ scanDataDate = data.readDate(); if (!scanDataDate.isValid()) { - Log("DvbManager::readScanData: cannot parse") << localFile.fileName(); + qWarning("Cannot parse %s", qPrintable(localFile.fileName())); scanDataDate = QDate(1900, 1, 1); return; } - if (!readScanSources(data, "[dvb-c/", DvbC) || - !readScanSources(data, "[dvb-s/", DvbS) || - !readScanSources(data, "[dvb-t/", DvbT) || - !readScanSources(data, "[atsc/", Atsc) || - !data.checkEnd()) { - Log("DvbManager::readScanData: cannot parse") << localFile.fileName(); - } -} + // Parse scan file -bool DvbManager::readScanSources(DvbScanData &data, const char *tag, TransmissionType type) -{ - int tagLen = int(strlen(tag)); - bool parseError = false; + QRegularExpression rejex = QRegularExpression("\\[(\\S+)/(\\S+)\\]"); + QRegularExpressionMatch match; + TransmissionType type; - while (strncmp(data.getLine(), tag, tagLen) == 0) { + while (!data.checkEnd()) { const char *line = data.readLine(); - QString name = QString(QLatin1String(line)).remove(0, tagLen); + // Discard empty lines + if (*line == 0) + continue; + + QString qLine(line); - if ((name.size() < 2) || (name.at(name.size() - 1) != QLatin1Char(']'))) { - return false; + if (!qLine.contains(rejex, &match)) { + qWarning("Unrecognized line: '%s'", line); + continue; + + } + + QString typeStr = match.captured(1); + QString name = match.captured(2); + + if (!typeStr.compare("dvb-c", Qt::CaseInsensitive)) + type = DvbC; + else if (!typeStr.compare("dvb-s", Qt::CaseInsensitive)) + type = DvbS; + else if (!typeStr.compare("dvb-t", Qt::CaseInsensitive)) + type = DvbT; + else if (!typeStr.compare("atsc", Qt::CaseInsensitive)) + type = Atsc; + else if (!typeStr.compare("isdb-t", Qt::CaseInsensitive)) + type = IsdbT; + else { + qWarning("Transmission type '%s' unknown", qPrintable(typeStr)); + continue; } - name.chop(1); QList transponders; bool containsDvbS1 = false; + bool containsDvbT1 = false; - while (true) { + while (!data.checkEnd()) { line = data.getLine(); if ((*line == '[') || (*line == 0)) { @@ -857,13 +867,16 @@ } line = data.readLine(); + + // Ignore lines with empty strings + if (*line == 0) + continue; + DvbTransponder transponder = - DvbTransponder::fromString(QString::fromAscii(line)); + DvbTransponder::fromString(QString::fromLatin1(line)); if (!transponder.isValid()) { - parseError = true; - Log("DvbManager::readScanSources: cannot parse complete scan data"); - Log("source: ") << QString::fromAscii(line); + qWarning("Error parsing line : '%s'", qPrintable(line)); } else { transponders.append(transponder); @@ -871,13 +884,14 @@ DvbTransponderBase::DvbS) { containsDvbS1 = true; } + if (transponder.getTransmissionType() == + DvbTransponderBase::DvbT) { + containsDvbT1 = true; + } } } - if ((type != DvbS) && (type != DvbS2)) { - scanSources[type].append(name); - scanData.insert(qMakePair(type, name), transponders); - } else { + if (type == DvbS || type == DvbS2) { scanSources[DvbS2].append(name); scanData.insert(qMakePair(DvbS2, name), transponders); @@ -893,14 +907,30 @@ scanSources[DvbS].append(name); scanData.insert(qMakePair(DvbS, name), transponders); } - } - } + } else if (type == DvbT || type == DvbT2) { + scanSources[DvbT2].append(name); + scanData.insert(qMakePair(DvbT2, name), transponders); + + if (containsDvbT1) { + for (int i = 0; i < transponders.size(); ++i) { + if (transponders.at(i).getTransmissionType() == + DvbTransponderBase::DvbT2) { + transponders.removeAt(i); + --i; + } + } - if (parseError) { - Log("DvbManager::readScanSources: cannot parse complete scan data"); + scanSources[DvbT].append(name); + scanData.insert(qMakePair(DvbT, name), transponders); + } + } else { + scanSources[type].append(name); + scanData.insert(qMakePair(type, name), transponders); + } } - return true; + if (!data.checkEnd()) + qWarning("Some data at the scan file were not parsed"); } DvbDeviceConfig::DvbDeviceConfig(const QString &deviceId_, const QString &frontendName_, @@ -961,7 +991,9 @@ char *line = pos; - while (pos != end) { + while (pos < end) { + if (*pos == ' ') + ++pos; if (*pos == '\n') { *pos = 0; ++pos; @@ -980,5 +1012,5 @@ return QDate(); } - return QDate::fromString(QString::fromAscii(readLine()), Qt::ISODate); + return QDate::fromString(QString::fromLatin1(readLine()), Qt::ISODate); } diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbmanager.h kaffeine-2.0.4+git20160916/src/dvb/dvbmanager.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbmanager.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbmanager.h 2016-09-17 17:18:56.000000000 +0000 @@ -21,6 +21,7 @@ #ifndef DVBMANAGER_H #define DVBMANAGER_H +#include #include #include #include @@ -55,7 +56,9 @@ DvbS, DvbS2, // includes DvbS DvbT, - Atsc + DvbT2, // includes DvbT + Atsc, + IsdbT }; DvbManager(MediaWidget *mediaWidget_, QWidget *parent_); @@ -148,11 +151,7 @@ void setOverride6937Charset(bool override); void setCreateInfoFile(bool createInfoFile); void setScanWhenIdle(bool scanWhenIdle); - - static double getLatitude(); - static double getLongitude(); - void setLatitude(double value); - void setLongitude(double value); + void writeDeviceConfigs(); void enableDvbDump(); @@ -165,8 +164,6 @@ void loadDeviceManager(); void readDeviceConfigs(); - void writeDeviceConfigs(); - void updateSourceMapping(); void readScanData(); diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbmanager_p.h kaffeine-2.0.4+git20160916/src/dvb/dvbmanager_p.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbmanager_p.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbmanager_p.h 2016-09-17 17:18:56.000000000 +0000 @@ -86,6 +86,26 @@ return value; } + + int readDouble(const QString &entry) + { + QString string = readString(entry); + + if (string.isEmpty()) { + valid = false; + return -1; + } + + bool ok; + int value = string.toDouble(&ok); + + if (!ok || (value < 0)) { + valid = false; + } + + return value; + } + QString readString(const QString &entry) { QString line = readLine(); diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbrecording.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbrecording.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbrecording.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbrecording.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,35 +18,40 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbrecording.h" -#include "dvbrecording_p.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include +#include #include +#include #include #include #include -#include -#include +#include #include -#include -#include + #include "../ensurenopendingoperation.h" -#include "../log.h" #include "dvbdevice.h" -#include "dvbmanager.h" #include "dvbepg.h" -#include "dvbtab.h" #include "dvbliveview.h" +#include "dvbmanager.h" +#include "dvbrecording.h" +#include "dvbrecording_p.h" +#include "dvbtab.h" bool DvbRecording::validate() { if (!name.isEmpty() && channel.isValid() && begin.isValid() && (begin.timeSpec() == Qt::UTC) && duration.isValid()) { // the seconds and milliseconds aren't visible --> set them to zero - begin = begin.addMSecs(-(QTime().msecsTo(begin.time()) % 60000)); - end = begin.addSecs(QTime().secsTo(duration)); - beginEPG = beginEPG.addMSecs(-(QTime().msecsTo(beginEPG.time()) % 60000)); - endEPG = beginEPG.addSecs(QTime().secsTo(durationEPG)); + begin = begin.addMSecs(-(QTime(0, 0, 0).msecsTo(begin.time()) % 60000)); + end = begin.addSecs(QTime(0, 0, 0).secsTo(duration)); + beginEPG = beginEPG.addMSecs(-(QTime(0, 0, 0).msecsTo(beginEPG.time()) % 60000)); + endEPG = beginEPG.addSecs(QTime(0, 0, 0).secsTo(durationEPG)); repeat &= ((1 << 7) - 1); return true; } @@ -69,14 +74,14 @@ // compatibility code - QFile file(KStandardDirs::locateLocal("appdata", QLatin1String("recordings.dvb"))); + QFile file(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/recordings.dvb")); if (!file.exists()) { return; } if (!file.open(QIODevice::ReadOnly)) { - Log("DvbRecordingModel::DvbRecordingModel: cannot open file") << file.fileName(); + qWarning("Cannot open file %s", qPrintable(file.fileName())); return; } @@ -114,8 +119,7 @@ stream >> recording.details; if (stream.status() != QDataStream::Ok) { - Log("DvbRecordingModel::DvbRecordingModel: invalid recordings in file") << - file.fileName(); + qWarning("Invalid recordings in file %s", qPrintable(file.fileName())); break; } @@ -123,14 +127,14 @@ } if (!file.remove()) { - Log("DvbRecordingModel::DvbRecordingModel: cannot remove file") << file.fileName(); + qWarning("Cannot remove file %s", qPrintable(file.fileName())); } } DvbRecordingModel::~DvbRecordingModel() { if (hasPendingOperation) { - Log("DvbRecordingModel::~DvbRecordingModel: illegal recursive call"); + qWarning("Illegal recursive call"); } sqlFlush(); @@ -175,7 +179,7 @@ { if (checkForRecursion) { if (hasPendingOperation) { - Log("DvbRecordingModel::addRecording: illegal recursive call"); + qWarning("Illegal recursive call"); return DvbSharedRecording(); } @@ -183,7 +187,7 @@ } if (!recording.validate()) { - Log("DvbRecordingModel::addRecording: invalid recording"); + qWarning("Invalid recording"); return DvbSharedRecording(); } @@ -204,7 +208,7 @@ DvbRecording &modifiedRecording) { if (hasPendingOperation) { - Log("DvbRecordingModel::updateRecording: illegal recursive call"); + qWarning("Illegal recursive call"); return; } @@ -212,7 +216,7 @@ if (!recording.isValid() || (recordings.value(*recording) != recording) || !modifiedRecording.validate()) { - Log("DvbRecordingModel::updateRecording: invalid recording"); + qWarning("Invalid recording"); return; } @@ -235,14 +239,14 @@ void DvbRecordingModel::removeRecording(DvbSharedRecording recording) { if (hasPendingOperation) { - Log("DvbRecordingModel::removeRecording: illegal recursive call"); + qWarning("Illegal recursive call"); return; } EnsureNoPendingOperation ensureNoPendingOperation(hasPendingOperation); if (!recording.isValid() || (recordings.value(*recording) != recording)) { - Log("DvbRecordingModel::removeRecording: invalid recording"); + qWarning("Invalid recording"); return; } @@ -262,19 +266,19 @@ if (recording1->priority < recording2->priority) { DvbRecording rec1 = *(recording1.constData()); rec1.disabled = true; - Log("DvbRecordingModel::disableLessImportant disabled") << recording1->name; + qWarning("Disabled %s because %s has more priority", qPrintable(recording1->name), qPrintable(recording2->name)); } if (recording2->priority < recording1->priority) { DvbRecording rec2 = *(recording1.constData()); rec2.disabled = true; - Log("DvbRecordingModel::disableLessImportant disabled") << recording2->name; + qWarning("Disabled %s because %s has more priority", qPrintable(recording2->name), qPrintable(recording1->name)); } } void DvbRecordingModel::addToUnwantedRecordings(DvbSharedRecording recording) { unwantedRecordings.append(recording); - Log("DvbRecordingModel::addToUnwantedRecordings executed") << recording->name; + qDebug("executed %s", qPrintable(recording->name)); } void DvbRecordingModel::executeActionAfterRecording(DvbRecording recording) @@ -286,9 +290,9 @@ { QProcess* child = new QProcess(); child->start(stopCommand); - Log("DvbRecordingModel::shutdownWhenEmpty:could not execute cmd"); + qWarning("Not executing command after recording"); } - Log("DvbRecordingModel::executeActionAfterRecording executed."); + qDebug("executed."); } @@ -297,6 +301,10 @@ { QList recordingList = QList(); DvbEpgModel *epgModel = manager->getEpgModel(); + + if (!epgModel) + return; + QMap recordingMap = epgModel->getRecordings(); foreach(DvbSharedRecording key, recordings.values()) { @@ -317,7 +325,7 @@ && loopEntry1.name == loopEntry2.name) { recordings.remove(recordings.key(rec1)); recordingMap.remove(rec1); - Log("DvbRecordingModel::removeDuplicates removed.") << loopEntry1.name; + qDebug("Removed. %s", qPrintable(loopEntry1.name)); } } j = j + 1; @@ -326,7 +334,8 @@ } epgModel->setRecordings(recordingMap); - Log("DvbRecordingModel::removeDuplicates executed."); + qDebug("executed."); + } bool DvbRecordingModel::existsSimilarRecording(DvbEpgEntry recording) @@ -335,6 +344,10 @@ DvbEpgEntry entry = recording; DvbEpgModel *epgModel = manager->getEpgModel(); + + if (!epgModel) + return found; + QMap recordingMap = epgModel->getRecordings(); foreach(DvbSharedRecording key, recordingMap.keys()) { @@ -366,7 +379,7 @@ && QString::compare(entry.channel->name, loopEntry.channel->name) == 0 && QString::compare((entry.duration).toString(), loopEntry.duration.addSecs(- manager->getBeginMargin() - manager->getEndMargin()).toString()) == 0) { - Log("DvbRecordingModel::existsSimilarRecording Found from unwanteds ") << loopEntry.name; + qDebug("Found from unwanteds %s", qPrintable(loopEntry.name)); found = true; break; } @@ -400,8 +413,7 @@ { if (isInConflictWithAll(rec2, conflictList)) { conflictList.append(rec2); - Log("DvbRecordingModel::disableConflicts:") << rec1->name << rec1->begin.toString() << - " and " << rec2->name << rec2->begin.toString(); + qDebug("conflict: '%s' '%s' and '%s' '%s'", qPrintable(rec1->name), qPrintable(rec1->begin.toString()), qPrintable(rec2->name), qPrintable(rec2->begin.toString())); } @@ -465,13 +477,13 @@ DvbSharedRecording leastImportant = recList.value(0); foreach(DvbSharedRecording listRec, recList) { - Log("DvbRecordingModel::getLeastImportant: name and priority") << listRec->name << listRec->priority; + qDebug("name and priority %s %s", qPrintable(listRec->name), qPrintable(listRec->priority)); if (listRec->priority < leastImportant->priority) { leastImportant = listRec; } } - Log("DvbRecordingModel::getLeastImportant:") << leastImportant->name; + qDebug("least important: %s", qPrintable(leastImportant->name)); return leastImportant; } @@ -488,7 +500,7 @@ if (listRecShared->priority == leastImportance) { listRec.disabled = true; updateRecording(listRecShared, listRec); - Log("DvbRecordingModel::disableLeastImportants disabled:") << listRec.name << listRec.begin.toString(); + qDebug("disabled: %s %s", qPrintable(listRec.name), qPrintable(listRec.begin.toString())); } } } @@ -498,6 +510,10 @@ void DvbRecordingModel::findNewRecordings() { DvbEpgModel *epgModel = manager->getEpgModel(); + + if (!epgModel) + return; + QMap epgMap = epgModel->getEntries(); foreach(DvbEpgEntryId key, epgMap.keys()) { @@ -516,7 +532,7 @@ int priority = manager->getRecordingRegexPriorityList().value(i); epgModel->scheduleProgram(epgMap.value(key), manager->getBeginMargin(), manager->getEndMargin(), false, priority); - Log("DvbRecordingModel::findNewRecordings: scheduled") << title; + qDebug("scheduled %s", qPrintable(title)); } } } @@ -524,7 +540,7 @@ } } - Log("DvbRecordingModel::findNewRecordings executed."); + qDebug("executed."); } void DvbRecordingModel::timerEvent(QTimerEvent *event) @@ -553,7 +569,7 @@ DvbSharedRecording recording = recordings.value(sqlKey); if (!recording.isValid()) { - Log("DvbRecordingModel::bindToSqlQuery: invalid recording"); + qWarning("Invalid recording"); return; } @@ -616,7 +632,7 @@ } if (end > QDateTime::currentDateTime().toUTC() && rec.begin <= QDateTime::currentDateTime().toUTC()) { timeUntil = 0; - Log("DvbRecordingModel::getSecondsUntilNextRecording: rec ongoing") << rec.name; + qDebug("Rec ongoing %s", qPrintable(rec.name)); break; } if (rec.begin > QDateTime::currentDateTime().toUTC()) { @@ -627,7 +643,7 @@ } - Log("DvbRecordingModel::getSecondsUntilNextRecording: returned TRUE") << QString::number(timeUntil); + qDebug("returned TRUE %ld", timeUntil); return timeUntil; } @@ -640,12 +656,11 @@ { int numberOfChannels = manager->getChannelModel()->getChannels().size(); int idleTime = 1000 * 3600 + 1; // TODO - //KIdleTime* instance = KIdleTime::instance(); if (idleTime > 1000 * 3600) { if (DvbRecordingModel::getSecondsUntilNextRecording() > numberOfChannels * 10) { if (DvbRecordingModel::isScanWhenIdle()) { + qDebug("Scan on Idle enabled"); return true; - Log("DvbRecordingModel::shouldWeScanChannels: returned TRUE"); } } } @@ -655,33 +670,35 @@ void delay(int seconds) { - QTime dieTime= QTime::currentTime().addSecs(seconds); - while (QTime::currentTime() < dieTime) - QCoreApplication::processEvents(QEventLoop::AllEvents, 100); - Log("DvbRecordingModel::delay: Delayed for ") << QString::number(seconds) << " seconds"; + QTime dieTime= QTime::currentTime().addSecs(seconds); + while (QTime::currentTime() < dieTime) + QCoreApplication::processEvents(QEventLoop::AllEvents, 100); + + qInfo("Delayed for %d seconds", seconds); } void DvbRecordingModel::scanChannels() { -Log("DvbRecordingModel::scanChannels executed"); -if (shouldWeScanChannels()) { - DvbChannelModel *channelModel = manager->getChannelModel(); - QMap channelMap = channelModel->getChannels(); - foreach (int channelInt, channelMap.keys()) { - DvbSharedChannel channel; - - if (channelInt > 0) { - channel = channelModel->findChannelByNumber(channelInt); - } - if (channel.isValid()) { - // TODO update tab - Log("DvbRecordingModel::scanChannels executed") << channel->name; - manager->getLiveView()->playChannel(channel); - delay(5); + qDebug("auto-scan channels"); + + if (shouldWeScanChannels()) { + DvbChannelModel *channelModel = manager->getChannelModel(); + QMap channelMap = channelModel->getChannels(); + foreach (int channelInt, channelMap.keys()) { + DvbSharedChannel channel; + + if (channelInt > 0) { + channel = channelModel->findChannelByNumber(channelInt); + } + if (channel.isValid()) { + // TODO update tab + qDebug("Executed %s", qPrintable(channel->name)); + manager->getLiveView()->playChannel(channel); + delay(5); + } } } } -} bool DvbRecordingModel::updateStatus(DvbRecording &recording) { @@ -801,8 +818,7 @@ if (file.open(QIODevice::WriteOnly)) { break; } else { - Log("DvbRecordingFile::start: cannot open file") << - file.fileName(); + qWarning("Cannot open file %s. Error: %d", qPrintable(file.fileName()), errno); } if ((attempt == 0) && !QDir(folder).exists()) { @@ -810,8 +826,7 @@ attempt = -1; continue; } else { - Log("DvbRecordingFile::start: cannot create folder") << - folder; + qWarning("Cannot create folder %s", qPrintable(folder)); } } @@ -844,7 +859,7 @@ } if (!file.isOpen()) { - Log("DvbRecordingFile::start: cannot open file") << file.fileName(); + qWarning("Cannot open file %s", qPrintable(file.fileName())); return false; } } @@ -855,7 +870,7 @@ DvbManager::Prioritized); if (device == NULL) { - Log("DvbRecordingFile::start: cannot find a suitable device"); + qWarning("Cannot find a suitable device"); return false; } diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbrecordingdialog.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbrecordingdialog.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbrecordingdialog.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbrecordingdialog.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,33 +18,50 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbrecordingdialog.h" -#include "dvbrecordingdialog_p.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include +#include #include #include +#include +#include #include #include +#include +#include #include -#include -#include -#include -#include +#include + #include "../datetimeedit.h" -#include "../log.h" #include "dvbchanneldialog.h" #include "dvbmanager.h" +#include "dvbrecordingdialog.h" +#include "dvbrecordingdialog_p.h" -DvbRecordingDialog::DvbRecordingDialog(DvbManager *manager_, QWidget *parent) : KDialog(parent), +DvbRecordingDialog::DvbRecordingDialog(DvbManager *manager_, QWidget *parent) : QDialog(parent), manager(manager_) { - setButtons(KDialog::Close); - setCaption(i18nc("@title:window", "Recording Schedule")); + setWindowTitle(i18nc("@title:window", "Recording Schedule")); + + QWidget *mainWidget = new QWidget(this); + QBoxLayout *mainLayout = new QVBoxLayout; + setLayout(mainLayout); + mainLayout->addWidget(mainWidget); + + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); + QWidget *widget = new QWidget(this); model = new DvbRecordingTableModel(this); treeView = new QTreeView(widget); - treeView->header()->setResizeMode(QHeaderView::ResizeToContents); + treeView->header()->setSectionResizeMode(QHeaderView::ResizeToContents); treeView->setContextMenuPolicy(Qt::ActionsContextMenu); treeView->setModel(model); treeView->setRootIsDecorated(false); @@ -54,21 +71,21 @@ model->setRecordingModel(manager->getRecordingModel()); QBoxLayout *boxLayout = new QHBoxLayout(); - KAction *action = new KAction(KIcon(QLatin1String("list-add")), i18nc("@action", "New"), widget); + QAction *action = new QAction(QIcon::fromTheme(QLatin1String("list-add"), QIcon(":list-add")), i18nc("@action", "New"), widget); connect(action, SIGNAL(triggered()), this, SLOT(newRecording())); treeView->addAction(action); QPushButton *pushButton = new QPushButton(action->icon(), action->text(), widget); connect(pushButton, SIGNAL(clicked()), this, SLOT(newRecording())); boxLayout->addWidget(pushButton); - action = new KAction(KIcon(QLatin1String("configure")), i18nc("@action", "Edit"), widget); + action = new QAction(QIcon::fromTheme(QLatin1String("configure"), QIcon(":configure")), i18nc("@action", "Edit"), widget); connect(action, SIGNAL(triggered()), this, SLOT(editRecording())); treeView->addAction(action); pushButton = new QPushButton(action->icon(), action->text(), widget); connect(pushButton, SIGNAL(clicked()), this, SLOT(editRecording())); boxLayout->addWidget(pushButton); - action = new KAction(KIcon(QLatin1String("edit-delete")), i18nc("@action", "Remove"), widget); + action = new QAction(QIcon::fromTheme(QLatin1String("edit-delete"), QIcon(":edit-delete")), i18nc("@action", "Remove"), widget); connect(action, SIGNAL(triggered()), this, SLOT(removeRecording())); treeView->addAction(action); pushButton = new QPushButton(action->icon(), action->text(), widget); @@ -76,10 +93,10 @@ boxLayout->addWidget(pushButton); boxLayout->addStretch(); - QBoxLayout *mainLayout = new QVBoxLayout(widget); mainLayout->addLayout(boxLayout); mainLayout->addWidget(treeView); - setMainWidget(widget); + mainLayout->addWidget(buttonBox); + resize(100 * fontMetrics().averageCharWidth(), 20 * fontMetrics().height()); } @@ -89,7 +106,7 @@ void DvbRecordingDialog::showDialog(DvbManager *manager_, QWidget *parent) { - KDialog *dialog = new DvbRecordingDialog(manager_, parent); + QDialog *dialog = new DvbRecordingDialog(manager_, parent); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setModal(true); dialog->show(); @@ -97,7 +114,7 @@ void DvbRecordingDialog::newRecording() { - KDialog *dialog = new DvbRecordingEditor(manager, DvbSharedRecording(), this); + QDialog *dialog = new DvbRecordingEditor(manager, DvbSharedRecording(), this); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setModal(true); dialog->show(); @@ -108,7 +125,7 @@ QModelIndex index = treeView->currentIndex(); if (index.isValid()) { - KDialog *dialog = new DvbRecordingEditor(manager, model->value(index), this); + QDialog *dialog = new DvbRecordingEditor(manager, model->value(index), this); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setModal(true); dialog->show(); @@ -216,7 +233,7 @@ void DvbRecordingTableModel::setRecordingModel(DvbRecordingModel *recordingModel_) { if (recordingModel != NULL) { - Log("DvbRecordingTableModel::setRecordingModel: recording model already set"); + qWarning("Recording model already set"); return; } @@ -262,19 +279,19 @@ case Qt::DecorationRole: if (index.column() == 0) { if (recording->disabled) { - return KIcon(QLatin1String("dialog-error")); + return QIcon::fromTheme(QLatin1String("dialog-error"), QIcon(":dialog-error")); } switch (recording->status) { case DvbRecording::Inactive: break; case DvbRecording::Recording: - return KIcon(QLatin1String("media-record")); + return QIcon::fromTheme(QLatin1String("media-record"), QIcon(":media-record")); case DvbRecording::Error: - return KIcon(QLatin1String("dialog-error")); + return QIcon::fromTheme(QLatin1String("dialog-error"), QIcon(":dialog-error")); } if (recording->repeat != 0) { - return KIcon(QLatin1String("view-refresh")); + return QIcon::fromTheme(QLatin1String("view-refresh"), QIcon(":view-refresh")); } } @@ -286,18 +303,15 @@ case 1: return recording->channel->name; case 2: - return KGlobal::locale()->formatDateTime( - recording->begin.toLocalTime()); + return QLocale().toString((recording->begin.toLocalTime()), QLocale::ShortFormat); case 3: - return KGlobal::locale()->formatTime(recording->duration, - false, true); + return recording->duration.toString("HH:mm"); case 4: { if (recording->disabled) { return QString("Disabled"); } return QString("Enabled"); } - } break; } @@ -370,57 +384,67 @@ } DvbRecordingEditor::DvbRecordingEditor(DvbManager *manager_, const DvbSharedRecording &recording_, - QWidget *parent) : KDialog(parent), manager(manager_), recording(recording_) + QWidget *parent) : QDialog(parent), manager(manager_), recording(recording_) { - setCaption(i18nc("@title:window recording", "Edit Schedule Entry")); + setWindowTitle(i18nc("@title:window recording", "Edit Schedule Entry")); QWidget *widget = new QWidget(this); QGridLayout *gridLayout = new QGridLayout(widget); + QBoxLayout *mainLayout = new QVBoxLayout; + setLayout(mainLayout); - nameEdit = new KLineEdit(widget); - connect(nameEdit, SIGNAL(textChanged(QString)), this, SLOT(checkValidity())); + nameEdit = new QLineEdit(widget); + mainLayout->addWidget(nameEdit); gridLayout->addWidget(nameEdit, 0, 1); QLabel *label = new QLabel(i18nc("@label recording", "Name:"), widget); + mainLayout->addWidget(label); label->setBuddy(nameEdit); gridLayout->addWidget(label, 0, 0); - channelBox = new KComboBox(widget); + channelBox = new QComboBox(widget); + mainLayout->addWidget(channelBox); DvbChannelTableModel *channelModel = new DvbChannelTableModel(widget); QHeaderView *header = manager->getChannelView()->header(); channelModel->sort(header->sortIndicatorSection(), header->sortIndicatorOrder()); channelModel->setChannelModel(manager->getChannelModel()); channelBox->setModel(channelModel); - connect(channelBox, SIGNAL(currentIndexChanged(int)), this, SLOT(checkValidity())); gridLayout->addWidget(channelBox, 1, 1); label = new QLabel(i18nc("@label tv show", "Channel:"), widget); + mainLayout->addWidget(label); label->setBuddy(channelBox); gridLayout->addWidget(label, 1, 0); beginEdit = new DateTimeEdit(widget); + mainLayout->addWidget(beginEdit); beginEdit->setCurrentSection(DateTimeEdit::HourSection); connect(beginEdit, SIGNAL(dateTimeChanged(QDateTime)), this, SLOT(beginChanged(QDateTime))); gridLayout->addWidget(beginEdit, 2, 1); label = new QLabel(i18nc("@label tv show", "Start:"), widget); + mainLayout->addWidget(label); label->setBuddy(beginEdit); gridLayout->addWidget(label, 2, 0); durationEdit = new DurationEdit(widget); + mainLayout->addWidget(durationEdit); connect(durationEdit, SIGNAL(timeChanged(QTime)), this, SLOT(durationChanged(QTime))); gridLayout->addWidget(durationEdit, 3, 1); label = new QLabel(i18nc("@label tv show", "Duration:"), widget); + mainLayout->addWidget(label); label->setBuddy(durationEdit); gridLayout->addWidget(label, 3, 0); endEdit = new DateTimeEdit(widget); + mainLayout->addWidget(endEdit); endEdit->setCurrentSection(DateTimeEdit::HourSection); connect(endEdit, SIGNAL(dateTimeChanged(QDateTime)), this, SLOT(endChanged(QDateTime))); gridLayout->addWidget(endEdit, 4, 1); label = new QLabel(i18nc("@label tv show", "End:"), widget); + mainLayout->addWidget(label); label->setBuddy(endEdit); gridLayout->addWidget(label, 4, 0); @@ -433,21 +457,21 @@ boxLayout->addWidget(pushButton); pushButton = new QPushButton(i18nc("@action next to 'Repeat:'", "Daily"), widget); + mainLayout->addWidget(pushButton); connect(pushButton, SIGNAL(clicked()), this, SLOT(repeatDaily())); boxLayout->addWidget(pushButton); gridLayout->addLayout(boxLayout, 5, 1); QGridLayout *dayLayout = new QGridLayout(); - const KCalendarSystem *calendar = KGlobal::locale()->calendar(); for (int i = 0; i < 7; ++i) { dayCheckBoxes[i] = new QCheckBox( - calendar->weekDayName(i + 1, KCalendarSystem::ShortDayName), widget); + QLocale::system().dayName(i + 1, QLocale::ShortFormat), widget); dayLayout->addWidget(dayCheckBoxes[i], (i >> 2), (i & 0x03)); } gridLayout->addLayout(dayLayout, 6, 1); - setMainWidget(widget); + mainLayout->addWidget(widget); if (recording.isValid()) { nameEdit->setText(recording->name); @@ -477,8 +501,16 @@ durationEdit->setTime(QTime(2, 0)); } + buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); + mainLayout->addWidget(buttonBox); + checkValidity(); + connect(nameEdit, SIGNAL(textChanged(QString)), this, SLOT(checkValidity())); + connect(channelBox, SIGNAL(currentIndexChanged(int)), this, SLOT(checkValidity())); + if (nameEdit->text().isEmpty()) { nameEdit->setFocus(); } @@ -493,17 +525,17 @@ // attention: setDateTimeRange and setDateTime influence each other! QTime duration = durationEdit->time(); endEdit->setDateTimeRange(begin, begin.addSecs((23 * 60 + 59) * 60)); - endEdit->setDateTime(begin.addSecs(QTime().secsTo(duration))); + endEdit->setDateTime(begin.addSecs(QTime(0, 0, 0).secsTo(duration))); } void DvbRecordingEditor::durationChanged(const QTime &duration) { - endEdit->setDateTime(beginEdit->dateTime().addSecs(QTime().secsTo(duration))); + endEdit->setDateTime(beginEdit->dateTime().addSecs(QTime(0, 0, 0).secsTo(duration))); } void DvbRecordingEditor::endChanged(const QDateTime &end) { - durationEdit->setTime(QTime().addSecs(beginEdit->dateTime().secsTo(end))); + durationEdit->setTime(QTime(0, 0, 0).addSecs(beginEdit->dateTime().secsTo(end))); } void DvbRecordingEditor::repeatNever() @@ -522,7 +554,9 @@ void DvbRecordingEditor::checkValidity() { - enableButtonOk(!nameEdit->text().isEmpty() && (channelBox->currentIndex() != -1)); + buttonBox->button(QDialogButtonBox::Ok)->setEnabled( + !nameEdit->text().isEmpty() && + (channelBox->currentIndex() != -1)); } void DvbRecordingEditor::accept() @@ -548,5 +582,5 @@ manager->getRecordingModel()->updateRecording(recording, newRecording); } - KDialog::accept(); + QDialog::accept(); } diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbrecordingdialog.h kaffeine-2.0.4+git20160916/src/dvb/dvbrecordingdialog.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbrecordingdialog.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbrecordingdialog.h 2016-09-17 17:18:56.000000000 +0000 @@ -21,13 +21,13 @@ #ifndef DVBRECORDINGDIALOG_H #define DVBRECORDINGDIALOG_H -#include +#include class QTreeView; class DvbManager; class DvbRecordingTableModel; -class DvbRecordingDialog : public KDialog +class DvbRecordingDialog : public QDialog { Q_OBJECT public: diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbrecordingdialog_p.h kaffeine-2.0.4+git20160916/src/dvb/dvbrecordingdialog_p.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbrecordingdialog_p.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbrecordingdialog_p.h 2016-09-17 17:18:56.000000000 +0000 @@ -21,15 +21,16 @@ #ifndef DVBRECORDINGDIALOG_P_H #define DVBRECORDINGDIALOG_P_H -#include +#include #include "../tablemodel.h" #include "dvbrecording.h" class QCheckBox; -class KComboBox; -class KLineEdit; +class QComboBox; +class QLineEdit; class DateTimeEdit; class DurationEdit; +class QDialogButtonBox; class DvbRecordingLessThan { @@ -114,7 +115,7 @@ DvbRecordingModel *recordingModel; }; -class DvbRecordingEditor : public KDialog +class DvbRecordingEditor : public QDialog { Q_OBJECT public: @@ -135,12 +136,13 @@ DvbManager *manager; DvbSharedRecording recording; - KLineEdit *nameEdit; - KComboBox *channelBox; + QLineEdit *nameEdit; + QComboBox *channelBox; DateTimeEdit *beginEdit; DurationEdit *durationEdit; DateTimeEdit *endEdit; QCheckBox *dayCheckBoxes[7]; + QDialogButtonBox *buttonBox; }; #endif /* DVBRECORDINGDIALOG_P_H */ diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbscan.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbscan.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbscan.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbscan.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,11 +18,18 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbscan.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif #include -#include "../log.h" +#include +#include + #include "dvbdevice.h" +#include "dvbscan.h" #include "dvbsi.h" class DvbPatEntry @@ -54,7 +61,7 @@ class DvbScanFilter : public DvbSectionFilter, QObject { public: - DvbScanFilter(DvbScan *scan_) : scan(scan_), pid(-1) { } + DvbScanFilter(DvbScan *scan_, bool useOtherNit_) : scan(scan_), pid(-1), useOtherNit(useOtherNit_) { } ~DvbScanFilter() { @@ -70,7 +77,13 @@ void stopFilter(); private: + struct sectCheck { + int id; + QBitArray check; + }; + bool checkMultipleSection(const DvbStandardSection §ion); + bool isFinished(); void processSection(const char *data, int size); void timerEvent(QTimerEvent *); @@ -78,8 +91,9 @@ int pid; DvbScan::FilterType type; - QBitArray multipleSections; + QVector multipleSections; int timerId; + bool useOtherNit; }; bool DvbScanFilter::startFilter(int pid_, DvbScan::FilterType type_) @@ -110,6 +124,7 @@ if (pid != -1) { killTimer(timerId); scan->device->removeSectionFilter(pid, this); + multipleSections.clear(); pid = -1; } @@ -118,30 +133,54 @@ bool DvbScanFilter::checkMultipleSection(const DvbStandardSection §ion) { int sectionCount = section.lastSectionNumber() + 1; + int tableNumber = -1; + int id = section.tableId() << 16 | section.tableIdExtension(); + + for (int i = 0; i < multipleSections.size(); i++) { + if (multipleSections.at(i).id == id) { + tableNumber = i; + break; + } + } + if (tableNumber < 0) { + tableNumber = multipleSections.size(); + multipleSections.resize(tableNumber + 1); + multipleSections[tableNumber].id = id; + multipleSections[tableNumber].check.resize(sectionCount); + } if (section.sectionNumber() >= sectionCount) { - Log("DvbScanFilter::checkMultipleSection: current > last"); + qWarning("Current section is bigger than the last one"); sectionCount = section.sectionNumber() + 1; } - if (multipleSections.isEmpty()) { - multipleSections.resize(sectionCount); + QBitArray *check = &multipleSections[tableNumber].check; + + if (check->isEmpty()) { + check->resize(sectionCount); } else { - if (multipleSections.size() != sectionCount) { - Log("DvbScanFilter::checkMultipleSection: " - "inconsistent number of sections"); + if (check->size() != sectionCount) { + qWarning("Inconsistent number of sections"); - if (multipleSections.size() < sectionCount) { - multipleSections.resize(sectionCount); - } + if (check->size() < sectionCount) + check->resize(sectionCount); } } - if (multipleSections.testBit(section.sectionNumber())) { + if (check->testBit(section.sectionNumber())) { return false; } - multipleSections.setBit(section.sectionNumber()); + check->setBit(section.sectionNumber()); + return true; +} + +bool DvbScanFilter::isFinished() +{ + for (int i = 0; i < multipleSections.size(); i++) { + if (multipleSections[i].check.count(false) != 0) + return false; + } return true; } @@ -179,8 +218,11 @@ break; } case DvbScan::SdtFilter: { + // FIXME: should we also handle other SDT table? + DvbSdtSection sdtSection(data, size); + if (!sdtSection.isValid() || (sdtSection.tableId() != 0x42)) { // there are also other tables in the SDT return; @@ -214,10 +256,14 @@ case DvbScan::NitFilter: { DvbNitSection nitSection(data, size); - if (!nitSection.isValid() || (nitSection.tableId() != 0x40)) { - // we are only interested in the current network + + if (!nitSection.isValid()) return; - } + + if (!((nitSection.tableId() == 0x40) || (useOtherNit && (nitSection.tableId() == 0x41)))) + return; + + qDebug("Handling NIT table ID 0x%02x, extension 0x%04x", nitSection.tableId(), nitSection.tableIdExtension()); if (!checkMultipleSection(nitSection)) { // already read this part @@ -229,35 +275,37 @@ } } - if (multipleSections.count(false) == 0) { + if (isFinished()) scan->filterFinished(this); - } } void DvbScanFilter::timerEvent(QTimerEvent *) { - Log("DvbScanFilter::timerEvent: timeout while reading section; type =") << type << - QLatin1String("pid =") << pid; + qWarning("Timeout while reading section; type = %d, PID = %d", type, pid); scan->filterFinished(this); } -DvbScan::DvbScan(DvbDevice *device_, const QString &source_, const DvbTransponder &transponder_) : - device(device_), source(source_), transponder(transponder_), isLive(true), isAuto(false), +DvbScan::DvbScan(DvbDevice *device_, const QString &source_, const DvbTransponder &transponder_, bool useOtherNit_) : + device(device_), source(source_), transponder(transponder_), isLive(true), isAuto(false), useOtherNit(useOtherNit_), transponderIndex(-1), state(ScanPat), patIndex(0), activeFilters(0) { + qDebug("Use other NIT is %s", useOtherNit ? "enabled" : "disabled"); } DvbScan::DvbScan(DvbDevice *device_, const QString &source_, - const QList &transponders_) : device(device_), source(source_), - isLive(false), isAuto(false), transponders(transponders_), transponderIndex(0), + const QList &transponders_, bool useOtherNit_) : device(device_), source(source_), + isLive(false), isAuto(false), useOtherNit(useOtherNit_), transponders(transponders_), transponderIndex(0), state(ScanTune), patIndex(0), activeFilters(0) { + qDebug("Use other NIT is %s", useOtherNit ? "enabled" : "disabled"); } -DvbScan::DvbScan(DvbDevice *device_, const QString &source_, const QString &autoScanSource) : - device(device_), source(source_), isLive(false), isAuto(true), transponderIndex(0), +DvbScan::DvbScan(DvbDevice *device_, const QString &source_, const QString &autoScanSource, bool useOtherNit_) : + device(device_), source(source_), isLive(false), isAuto(true), useOtherNit(useOtherNit_), transponderIndex(0), state(ScanTune), patIndex(0), activeFilters(0) { + qDebug("Use other NIT is %s", useOtherNit ? "enabled" : "disabled"); + if ((autoScanSource == QLatin1String("AUTO-Normal")) || (autoScanSource == QLatin1String("AUTO-Offsets"))) { bool offsets = (autoScanSource == QLatin1String("AUTO-Offsets")); @@ -409,6 +457,26 @@ dvbTTransponder->hierarchy = DvbTTransponder::HierarchyNone; transponders.append(currentTransponder); } + } else if (autoScanSource == QLatin1String("AUTO-UHF-6MHz")) { + for (int frequency = 473142857; frequency <= 803142857; frequency += 6000000) { + DvbTransponder currentTransponder(DvbTransponderBase::IsdbT); + IsdbTTransponder *isdbTTransponder = + currentTransponder.as(); + isdbTTransponder->frequency = frequency; + isdbTTransponder->bandwidth = IsdbTTransponder::Bandwidth6MHz; + isdbTTransponder->transmissionMode = IsdbTTransponder::TransmissionModeAuto; + isdbTTransponder->guardInterval = IsdbTTransponder::GuardIntervalAuto; + isdbTTransponder->partialReception = IsdbTTransponder::PR_AUTO; + isdbTTransponder->soundBroadcasting = IsdbTTransponder::SB_disabled; + for (int i = 0; i < 3; i++) { + isdbTTransponder->layerEnabled[i] = true; + isdbTTransponder->modulation[i] = IsdbTTransponder::ModulationAuto; + isdbTTransponder->fecRate[i] = IsdbTTransponder::FecAuto; + isdbTTransponder->interleaving[i] = IsdbTTransponder::I_AUTO; + isdbTTransponder->segmentCount[i] = 15; + } + transponders.append(currentTransponder); + } } } @@ -426,6 +494,7 @@ void DvbScan::deviceStateChanged() { if (device->getDeviceState() == DvbDevice::DeviceReleased) { + qWarning("Device was released. Stopping scan"); emit scanFinished(); return; } @@ -451,7 +520,7 @@ Q_ASSERT(false); } else if (activeFilters < 10) { - DvbScanFilter *filter = new DvbScanFilter(this); + DvbScanFilter *filter = new DvbScanFilter(this, useOtherNit); if (!filter->startFilter(pid, type)) { delete filter; @@ -475,7 +544,7 @@ return; } - snr = device->getSnr(); + snr = device->getSnr(scale); state = ScanNit; } @@ -536,6 +605,7 @@ arg(channel.transportStreamId). arg(channel.serviceId); } + qDebug("Found channel %s", qPrintable(channel.name)); } if (!channels.isEmpty()) { @@ -543,6 +613,7 @@ } if (isLive) { + qInfo("Scanning while live stream. Can't change the transponder"); emit scanFinished(); return; } @@ -560,6 +631,7 @@ emit scanProgress((100 * transponderIndex) / transponders.size()); } + qDebug("Transponder %d/%d", transponderIndex, transponders.size()); if (transponderIndex >= transponders.size()) { emit scanFinished(); return; @@ -612,6 +684,8 @@ if (entry.programNumber() != 0x0) { // skip 0x0 which has a special meaning patEntries.append(DvbPatEntry(entry.programNumber(), entry.pid())); + + qDebug("New PAT entry: pid %d, program %d", entry.pid(), entry.programNumber()); } } } @@ -634,8 +708,24 @@ channel.pmtPid = pid; channel.pmtSectionData = section.toByteArray(); channel.serviceId = section.programNumber(); - channel.snr = snr; + switch (scale) { + case DvbBackendDevice::dBuV: + case DvbBackendDevice::NotSupported: { + channel.snr = ""; + break; + } + case DvbBackendDevice::Percentage: { + channel.snr = QString::number(snr, 'f', 0) + "%"; + break; + } + case DvbBackendDevice::Decibel: { + channel.snr = QString::number(snr, 'f', 2) + " dB"; + break; + } + }; channels.append(channel); + + qDebug("New channel: PID %d, service ID %d", pid, section.programNumber()); } } @@ -659,19 +749,19 @@ sdtEntry.name = serviceDescriptor.serviceName(); sdtEntry.provider = serviceDescriptor.providerName(); - break; - } - sdtEntries.append(sdtEntry); + qDebug("New SDT entry: service ID 0x%04x, name '%s', provider '%s'", entry.serviceId(), qPrintable(sdtEntry.name), qPrintable(sdtEntry.provider)); + sdtEntries.append(sdtEntry); + } } } void DvbScan::processVct(const AtscVctSection §ion) { - int i = section.entryCount(); + AtscVctSectionEntry entry = section.entries(); + int entryCount = section.entryCount(); - for (AtscVctSectionEntry entry = section.entries(); (i > 0) && (entry.isValid()); - --i, entry.advance()) { + for (int i = 0; i < entryCount && (entry.isValid()); i++) { QString majorminor = QString(QLatin1String("%1-%2 ")). arg(entry.majorNumber(), 3, 10, QLatin1Char('0')).arg(entry.minorNumber()); @@ -681,35 +771,38 @@ // See A/65C table 6.25a for the list of descriptors for (DvbDescriptor descriptor = entry.descriptors(); descriptor.isValid(); descriptor.advance()) { - if (descriptor.descriptorTag() != 0xa0) { - continue; - } - - // Extended Channel Name Descriptor - AtscChannelNameDescriptor nameDescriptor(descriptor); - if (!nameDescriptor.isValid()) { - continue; + if (descriptor.descriptorTag() == 0xa0) { + // Extended Channel Name Descriptor + AtscChannelNameDescriptor nameDescriptor(descriptor); + if (!nameDescriptor.isValid()) { + continue; + } + sdtEntry.name = majorminor + nameDescriptor.name(); } - sdtEntry.name = majorminor + nameDescriptor.name(); } if (sdtEntry.name.isEmpty()) { // Extended Channel name not available, fall back // to the short name QChar shortName[] = { entry.shortName1(), - entry.shortName2(), - entry.shortName3(), - entry.shortName4(), - entry.shortName5(), - entry.shortName6(), - entry.shortName7(), 0 }; + entry.shortName2(), + entry.shortName3(), + entry.shortName4(), + entry.shortName5(), + entry.shortName6(), + entry.shortName7(), 0 }; int nameLength = 0; while (shortName[nameLength] != 0) { ++nameLength; } sdtEntry.name = majorminor + QString(shortName, nameLength); } + + qDebug("New SDT entry: name %s", qPrintable(sdtEntry.name)); sdtEntries.append(sdtEntry); + + if (i < entryCount - 1) + entry.advance(); } } @@ -846,8 +939,9 @@ return DvbTTransponder::Bandwidth7MHz; case 2: return DvbTTransponder::Bandwidth6MHz; + case 3: + return DvbTTransponder::Bandwidth5MHz; default: - // this includes 5 MHz return DvbTTransponder::BandwidthAuto; } } @@ -947,22 +1041,25 @@ } } +// FIXME: Implement DvbT2Descriptor + void DvbScan::processNitDescriptor(const DvbDescriptor &descriptor) { - DvbTransponder newTransponder; + DvbTransponder newTransponder(transponder.getTransmissionType()); switch (transponder.getTransmissionType()) { case DvbTransponderBase::Invalid: - break; + qWarning("Invalid transponder type"); + return; case DvbTransponderBase::DvbC: { if (descriptor.descriptorTag() != 0x44) { - break; + return; } DvbCableDescriptor cableDescriptor(descriptor); if (!cableDescriptor.isValid()) { - break; + return; } newTransponder = DvbTransponder(DvbTransponderBase::DvbC); @@ -973,18 +1070,20 @@ DvbDescriptor::bcdToInt(cableDescriptor.symbolRate(), 100); dvbCTransponder->modulation = extractDvbCModulation(cableDescriptor); dvbCTransponder->fecRate = extractDvbCFecRate(cableDescriptor); + + qDebug("Added transponder: %.2f MHz", dvbCTransponder->frequency / 1000000.); break; } case DvbTransponderBase::DvbS: case DvbTransponderBase::DvbS2: { if (descriptor.descriptorTag() != 0x43) { - break; + return; } DvbSatelliteDescriptor satelliteDescriptor(descriptor); if (!satelliteDescriptor.isValid()) { - break; + return; } DvbSTransponder *dvbSTransponder; @@ -994,7 +1093,7 @@ dvbSTransponder = newTransponder.as(); } else { if ((device->getTransmissionTypes() & DvbDevice::DvbS2) == 0) { - break; + return; } newTransponder = DvbTransponder(DvbTransponderBase::DvbS2); @@ -1010,17 +1109,23 @@ dvbSTransponder->symbolRate = DvbDescriptor::bcdToInt(satelliteDescriptor.symbolRate(), 100); dvbSTransponder->fecRate = extractDvbSFecRate(satelliteDescriptor); + + qDebug("Added transponder: %.2f MHz", dvbSTransponder->frequency / 1000000.); break; } + case DvbTransponderBase::DvbT2: + // FIXME: Implement T2_delivery_system_descriptor + // decriptor 0x7f, extension descriptor 0x04 or use libdvbv5 + case DvbTransponderBase::DvbT: { if (descriptor.descriptorTag() != 0x5a) { - break; + return; } DvbTerrestrialDescriptor terrestrialDescriptor(descriptor); if (!terrestrialDescriptor.isValid()) { - break; + return; } newTransponder = DvbTransponder(DvbTransponderBase::DvbT); @@ -1039,26 +1144,66 @@ dvbTTransponder->fecRateLow = DvbTTransponder::FecNone; } + qDebug("Added transponder: %.2f MHz", dvbTTransponder->frequency / 1000000.); break; } case DvbTransponderBase::Atsc: - break; - } + return; + case DvbTransponderBase::IsdbT: + if (descriptor.descriptorTag() != 0xfa) { + return; + } - if (newTransponder.isValid()) { - bool duplicate = false; + IsdbTerrestrialDescriptor IsdbTDescriptor(descriptor); - foreach (const DvbTransponder &existingTransponder, transponders) { - if (existingTransponder.corresponds(newTransponder)) { - duplicate = true; - break; - } + if (!IsdbTDescriptor.isValid()) { + return; } - if (!duplicate) { + for (int i = 0; i < IsdbTDescriptor.frequencyLength(); i++) { + newTransponder = DvbTransponder(DvbTransponderBase::IsdbT); + IsdbTTransponder *isdbTTransponder = newTransponder.as(); + + isdbTTransponder->frequency = + (uint32_t)((((uint64_t)IsdbTDescriptor.frequency(i)) * 1000000ul) / 7); + isdbTTransponder->bandwidth = IsdbTTransponder::Bandwidth6MHz; + isdbTTransponder->transmissionMode = IsdbTTransponder::TransmissionModeAuto; + isdbTTransponder->guardInterval = IsdbTTransponder::GuardIntervalAuto; + isdbTTransponder->partialReception = IsdbTTransponder::PR_AUTO; + isdbTTransponder->soundBroadcasting = IsdbTTransponder::SB_disabled; + for (int i = 0; i < 3; i++) { + isdbTTransponder->layerEnabled[i] = true; + isdbTTransponder->modulation[i] = IsdbTTransponder::ModulationAuto; + isdbTTransponder->fecRate[i] = IsdbTTransponder::FecAuto; + isdbTTransponder->interleaving[i] = IsdbTTransponder::I_AUTO; + isdbTTransponder->segmentCount[i] = 15; + } + + bool duplicate = false; + + foreach (const DvbTransponder &existingTransponder, transponders) { + if (existingTransponder.corresponds(newTransponder)) { + duplicate = true; + break; + } + } + if (duplicate) + continue; + transponders.append(newTransponder); + qDebug("Added transponder: %.2f MHz", isdbTTransponder->frequency / 1000000.); } + return; } + + + // New transponder was found. Add it + foreach (const DvbTransponder &existingTransponder, transponders) { + if (existingTransponder.corresponds(newTransponder)) + return; + } + + transponders.append(newTransponder); } void DvbScan::filterFinished(DvbScanFilter *filter) diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbscandialog.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbscandialog.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbscandialog.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbscandialog.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,63 +18,90 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbscandialog.h" - +#include +#include +#include +#include +#include #include #include +#include #include #include +#include #include #include #include #include -#include -#include -#include -#include -#include + #include "dvbchanneldialog.h" #include "dvbdevice.h" #include "dvbliveview.h" #include "dvbmanager.h" #include "dvbscan.h" +#include "dvbscandialog.h" -DvbGradProgress::DvbGradProgress(QWidget *parent) : QLabel(parent), value(0) +DvbGradProgress::DvbGradProgress(QWidget *parent) : QLabel(parent), value(0), max(100.), min(0.) { setAlignment(Qt::AlignCenter); setFrameShape(Box); - setText(i18n("0%")); + setText(""); } DvbGradProgress::~DvbGradProgress() { } -void DvbGradProgress::setValue(int value_) +void DvbGradProgress::setValue(float value_, DvbBackendDevice::Scale scale) { + QString text; value = value_; - if (value == -1) { - value = 0; + switch(scale) { + case DvbBackendDevice::NotSupported: { + text = "-"; + max = 100; + min = 0; + break; + } + case DvbBackendDevice::Percentage: { + text = QString::number(value, 'f', 0) + "%"; + max = 100; + min = 0; + break; + } + case DvbBackendDevice::Decibel: { + text = QString::number(value, 'f', 2) + " dB"; + max = 40; + min = 0; + break; + } + case DvbBackendDevice::dBuV: { + text = QString::number(value, 'f', 2) + " dB" + QString((QChar) 0x00b5) + "V"; + max = 80; + min = 20; + break; + } } - Q_ASSERT((value >= 0) && (value <= 100)); - setText(i18n("%1%", value)); + setText(i18n("%1", text)); update(); } void DvbGradProgress::paintEvent(QPaintEvent *event) { - { - QPainter painter(this); - int border = frameWidth(); - QRect rect(border, border, width() - 2 * border, height() - 2 * border); - QLinearGradient gradient(rect.topLeft(), rect.topRight()); - gradient.setColorAt(0, Qt::red); - gradient.setColorAt(1, Qt::green); - rect.setWidth((rect.width() * value) / 100); - painter.fillRect(rect, gradient); - } + QPainter painter(this); + int border = frameWidth(); + QRect rect(border, border, width() - 2 * border, height() - 2 * border); + QLinearGradient gradient(rect.topLeft(), rect.topRight()); + gradient.setColorAt(0, Qt::red); + gradient.setColorAt(1, Qt::green); + if (value < min) + value = min; + if (value > max) + value = max; + rect.setWidth((rect.width() * (value - min)) / (max - min)); + painter.fillRect(rect, gradient); QLabel::paintEvent(event); } @@ -116,8 +143,9 @@ void removeChannels() { + beginResetModel(); channels.clear(); - reset(); + endResetModel(); } private: @@ -163,15 +191,15 @@ if (index.column() == 0) { if (channel.hasVideo) { if (!channel.isScrambled) { - return KIcon(QLatin1String("video-television")); + return QIcon::fromTheme(QLatin1String("video-television"), QIcon(":video-television")); } else { - return KIcon(QLatin1String("video-television-encrypted")); + return QIcon::fromTheme(QLatin1String("video-television-encrypted"), QIcon(":video-television-encrypted")); } } else { if (!channel.isScrambled) { - return KIcon(QLatin1String("text-speak")); + return QIcon::fromTheme(QLatin1String("text-speak"), QIcon(":text-speak")); } else { - return KIcon(QLatin1String("audio-radio-encrypted")); + return QIcon::fromTheme(QLatin1String("audio-radio-encrypted"), QIcon(":audio-radio-encrypted")); } } } @@ -214,14 +242,18 @@ return QVariant(); } -DvbScanDialog::DvbScanDialog(DvbManager *manager_, QWidget *parent) : KDialog(parent), +DvbScanDialog::DvbScanDialog(DvbManager *manager_, QWidget *parent) : QDialog(parent), manager(manager_), internal(NULL) { - setCaption(i18n("Channels")); + setWindowTitle(i18n("Channels")); QWidget *mainWidget = new QWidget(this); QBoxLayout *mainLayout = new QHBoxLayout(mainWidget); + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + connect(buttonBox, &QDialogButtonBox::accepted, this, &DvbScanDialog::dialogAccepted); + connect(buttonBox, &QDialogButtonBox::rejected, this, &DvbScanDialog::reject); + QGroupBox *groupBox = new QGroupBox(i18n("Channels"), mainWidget); QBoxLayout *groupLayout = new QVBoxLayout(groupBox); QBoxLayout *boxLayout = new QHBoxLayout(); @@ -240,22 +272,21 @@ channelView->sortByColumn(header->sortIndicatorSection(), header->sortIndicatorOrder()); channelView->setSortingEnabled(true); channelTableModel->setChannelModel(channelModel); - connect(channelTableModel, SIGNAL(checkChannelDragAndDrop(bool*)), - channelView, SLOT(checkChannelDragAndDrop(bool*))); + connect(channelTableModel, &DvbChannelTableModel::checkChannelDragAndDrop, channelView, &DvbChannelView::checkChannelDragAndDrop); - KAction *action = channelView->addEditAction(); + QAction *action = channelView->addEditAction(); QPushButton *pushButton = new QPushButton(action->icon(), action->text(), groupBox); - connect(pushButton, SIGNAL(clicked()), channelView, SLOT(editChannel())); + connect(pushButton, &QPushButton::clicked, channelView, &DvbChannelView::editChannel); boxLayout->addWidget(pushButton); action = channelView->addRemoveAction(); pushButton = new QPushButton(action->icon(), action->text(), groupBox); - connect(pushButton, SIGNAL(clicked()), channelView, SLOT(removeChannel())); + connect(pushButton, &QPushButton::clicked, channelView, &DvbChannelView::removeChannel); boxLayout->addWidget(pushButton); - pushButton = new QPushButton(KIcon(QLatin1String("edit-clear-list")), + pushButton = new QPushButton(QIcon::fromTheme(QLatin1String("edit-clear-list"), QIcon(":edit-clear-list")), i18nc("remove all items from a list", "Clear"), groupBox); - connect(pushButton, SIGNAL(clicked()), channelView, SLOT(removeAllChannels())); + connect(pushButton, &QPushButton::clicked, channelView, &DvbChannelView::removeAllChannels); boxLayout->addWidget(pushButton); groupLayout->addLayout(boxLayout); @@ -269,16 +300,20 @@ groupLayout->addWidget(new QLabel(i18n("Source:"))); - sourceBox = new KComboBox(groupBox); + sourceBox = new QComboBox(groupBox); groupLayout->addWidget(sourceBox); - scanButton = new QPushButton(KIcon(QLatin1String("edit-find")), i18n("Start Scan"), groupBox); + otherNitCheckBox = new QCheckBox(i18n("Search transponders for other Networks"), groupBox); + otherNitCheckBox->setWhatsThis(i18n("On certain networks, it is possible that some transponders are encoded on separate Network Information Tables (other NITs). This is more common on DVB-C systems. Clicking on this icon will change the scan algorithm to take those other NIT data into account. Please notice that the scan will be a lot more slow if enabled.")); + groupLayout->addWidget(otherNitCheckBox); + + scanButton = new QPushButton(QIcon::fromTheme(QLatin1String("edit-find"), QIcon(":edit-find")), i18n("Start Scan"), groupBox); scanButton->setCheckable(true); - connect(scanButton, SIGNAL(clicked(bool)), this, SLOT(scanButtonClicked(bool))); + connect(scanButton, &QPushButton::clicked, this, &DvbScanDialog::scanButtonClicked); groupLayout->addWidget(scanButton); QLabel *label = new QLabel(i18n("Scan data last updated on %1", - KGlobal::locale()->formatDate(manager->getScanDataDate(), KLocale::ShortDate))); + QLocale().toString(manager->getScanDataDate(), QLocale::ShortFormat))); label->setWordWrap(true); groupLayout->addWidget(label); @@ -322,17 +357,17 @@ providerCheckBox = new QCheckBox(i18n("Provider:"), groupBox); groupLayout->addWidget(providerCheckBox); - providerBox = new KComboBox(groupBox); + providerBox = new QComboBox(groupBox); providerBox->setEnabled(false); - connect(providerCheckBox, SIGNAL(clicked(bool)), providerBox, SLOT(setEnabled(bool))); + connect(providerCheckBox, &QCheckBox::clicked, providerBox, &QComboBox::setEnabled); groupLayout->addWidget(providerBox); pushButton = new QPushButton(i18n("Add Filtered"), groupBox); - connect(pushButton, SIGNAL(clicked()), this, SLOT(addFilteredChannels())); + connect(pushButton, &QPushButton::clicked, this, &DvbScanDialog::addFilteredChannels); groupLayout->addWidget(pushButton); pushButton = new QPushButton(i18n("Add Selected"), groupBox); - connect(pushButton, SIGNAL(clicked()), this, SLOT(addSelectedChannels())); + connect(pushButton, &QPushButton::clicked, this, &DvbScanDialog::addSelectedChannels); groupLayout->addWidget(pushButton); boxLayout->addWidget(groupBox); mainLayout->addLayout(boxLayout); @@ -369,14 +404,18 @@ isLive = false; } - connect(this, SIGNAL(accepted()), this, SLOT(dialogAccepted())); - connect(&statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); + connect(&statusTimer, &QTimer::timeout, this, &DvbScanDialog::updateStatus); - setMainWidget(mainWidget); + mainLayout = new QVBoxLayout; + setLayout(mainLayout); + mainLayout->addWidget(mainWidget); + mainLayout->addWidget(buttonBox); } DvbScanDialog::~DvbScanDialog() { + if (!isLive && device) + manager->releaseDevice(device, DvbManager::Exclusive); delete internal; } @@ -408,7 +447,7 @@ if (isLive) { const DvbSharedChannel &channel = manager->getLiveView()->getChannel(); - internal = new DvbScan(device, channel->source, channel->transponder); + internal = new DvbScan(device, channel->source, channel->transponder, otherNitCheckBox->isChecked()); } else { QString source = sourceBox->currentText(); setDevice(manager->requestExclusiveDevice(source)); @@ -419,9 +458,9 @@ if (autoScanSource.isEmpty()) { internal = new DvbScan(device, source, - manager->getTransponders(device, source)); + manager->getTransponders(device, source), otherNitCheckBox->isChecked()); } else { - internal = new DvbScan(device, source, autoScanSource); + internal = new DvbScan(device, source, autoScanSource, otherNitCheckBox->isChecked()); } } else { scanButton->setChecked(false); @@ -436,12 +475,10 @@ providerBox->clear(); previewModel->removeChannels(); - connect(internal, SIGNAL(foundChannels(QList)), - this, SLOT(foundChannels(QList))); - connect(internal, SIGNAL(scanProgress(int)), progressBar, SLOT(setValue(int))); + connect(internal, &DvbScan::foundChannels, this, &DvbScanDialog::foundChannels); + connect(internal, &DvbScan::scanProgress, progressBar, &QProgressBar::setValue); // calling scanFinished() will delete internal, so we have to queue the signal! - connect(internal, SIGNAL(scanFinished()), - this, SLOT(scanFinished()), Qt::QueuedConnection); + connect(internal, &DvbScan::scanFinished, this, &DvbScanDialog::scanFinished, Qt::QueuedConnection); internal->start(); } @@ -449,6 +486,9 @@ void DvbScanDialog::dialogAccepted() { manager->getChannelModel()->cloneFrom(channelModel); + manager->getChannelModel()->channelFlush(); + + QDialog::accept(); } static bool localeAwareLessThan2(const QString &x, const QString &y) @@ -490,8 +530,12 @@ void DvbScanDialog::updateStatus() { if (device->getDeviceState() != DvbDevice::DeviceIdle) { - signalWidget->setValue(device->getSignal()); - snrWidget->setValue(device->getSnr()); + DvbBackendDevice::Scale scaleSnr, scaleSignal; + float signal = device->getSignal(scaleSignal); + float snr = device->getSnr(scaleSnr); + + signalWidget->setValue(signal, scaleSignal); + snrWidget->setValue(snr, scaleSnr); tunedLed->setState(device->isTuned() ? KLed::On : KLed::Off); } } @@ -557,8 +601,8 @@ if (device == NULL) { statusTimer.stop(); - signalWidget->setValue(0); - snrWidget->setValue(0); + signalWidget->setValue(0, DvbBackendDevice::NotSupported); + snrWidget->setValue(0, DvbBackendDevice::NotSupported); tunedLed->setState(KLed::Off); } else { statusTimer.start(1000); diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbscandialog.h kaffeine-2.0.4+git20160916/src/dvb/dvbscandialog.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbscandialog.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbscandialog.h 2016-09-17 17:18:56.000000000 +0000 @@ -23,12 +23,14 @@ #include #include -#include +#include + +#include "dvbbackenddevice.h" class QCheckBox; class QProgressBar; class QTreeView; -class KComboBox; +class QComboBox; class KLed; class DvbChannelModel; class DvbDevice; @@ -38,7 +40,7 @@ class DvbPreviewChannelTableModel; class DvbScan; -class DvbScanDialog : public KDialog +class DvbScanDialog : public QDialog { Q_OBJECT public: @@ -62,18 +64,19 @@ DvbManager *manager; DvbChannelModel *channelModel; - KComboBox *sourceBox; + QComboBox *sourceBox; QPushButton *scanButton; QProgressBar *progressBar; DvbGradProgress *signalWidget; DvbGradProgress *snrWidget; KLed *tunedLed; + QCheckBox *otherNitCheckBox; QCheckBox *ftaCheckBox; QCheckBox *radioCheckBox; QCheckBox *tvCheckBox; QCheckBox *providerCheckBox; QStringList providers; - KComboBox *providerBox; + QComboBox *providerBox; DvbPreviewChannelTableModel *previewModel; QTreeView *scanResultsView; @@ -90,13 +93,13 @@ explicit DvbGradProgress(QWidget *parent); ~DvbGradProgress(); - void setValue(int value_); + void setValue(float value_, DvbBackendDevice::Scale scale); protected: void paintEvent(QPaintEvent *event); private: - int value; + float value, max, min; }; #endif /* DVBSCANDIALOG_H */ diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbscan.h kaffeine-2.0.4+git20160916/src/dvb/dvbscan.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbscan.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbscan.h 2016-09-17 17:18:56.000000000 +0000 @@ -52,7 +52,8 @@ // int serviceId; // int audioPid; // may be -1 (not present) // bool hasVideo; - int snr; // percent + + QString snr; /* * assigned when reading SDT @@ -75,10 +76,10 @@ friend class DvbScanFilter; Q_OBJECT public: - DvbScan(DvbDevice *device_, const QString &source_, const DvbTransponder &transponder_); + DvbScan(DvbDevice *device_, const QString &source_, const DvbTransponder &transponder_, bool useOtherNit); DvbScan(DvbDevice *device_, const QString &source_, - const QList &transponders_); - DvbScan(DvbDevice *device_, const QString &source_, const QString &autoScanSource); + const QList &transponders_, bool useOtherNit); + DvbScan(DvbDevice *device_, const QString &source_, const QString &autoScanSource, bool useOtherNit); ~DvbScan(); void start(); @@ -127,6 +128,7 @@ DvbTransponder transponder; bool isLive; bool isAuto; + bool useOtherNit; // only used if isLive is false QList transponders; @@ -138,7 +140,8 @@ QList sdtEntries; QList channels; - int snr; + DvbBackendDevice::Scale scale; + float snr; int transportStreamId; QList filters; diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbsi.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbsi.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbsi.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbsi.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,10 +18,15 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbsi.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif #include -#include "../log.h" + +#include "dvbsi.h" void DvbSection::initSection(const char *data, int size) { @@ -33,7 +38,7 @@ int sectionLength = ((((quint8(data[1]) & 0xf) << 8) | quint8(data[2])) + 3); if (sectionLength > size) { - Log("DvbSection::initSection: adjusting length"); + qInfo("Adjusting length"); sectionLength = size; } @@ -237,15 +242,26 @@ QString DvbSiText::convertText(const char *data, int size) { + TextEncoding encoding = Iso6937; + if (size < 1) { return QString(); } - // determine encoding - TextEncoding encoding = (override6937 ? Iso8859_1 : Iso6937); + if (size >2 && data[0] == 0x0e && data[size - 1] == 0x0f ) { + // Remove LS0 and LS1 codes found on some ISDB-T streams + data++; + size -= 2; + + encoding = Iso8859_1; + } + + if (override6937) + encoding = Iso8859_1; if (quint8(data[0]) < 0x20) { switch (data[0]) { + case 0x00: encoding = Iso6937; break; case 0x01: encoding = Iso8859_5; break; case 0x02: encoding = Iso8859_6; break; case 0x03: encoding = Iso8859_7; break; @@ -256,8 +272,10 @@ case 0x09: encoding = Iso8859_13; break; case 0x0a: encoding = Iso8859_14; break; case 0x0b: encoding = Iso8859_15; break; + case 0x11: encoding = Iso10646_ucs2; break; + case 0x12: encoding = Iso2022_kr; break; case 0x13: encoding = Gb2312; break; - case 0x14: encoding = Big5; break; + case 0x14: encoding = Utf_16be; break; case 0x15: encoding = Utf_8; break; case 0x10: { if (size < 3) { @@ -291,8 +309,6 @@ size -= 2; break; } - default: - return QString(); } data++; @@ -318,8 +334,10 @@ case Iso8859_13: codec = QTextCodec::codecForName("ISO 8859-13"); break; case Iso8859_14: codec = QTextCodec::codecForName("ISO 8859-14"); break; case Iso8859_15: codec = QTextCodec::codecForName("ISO 8859-15"); break; + case Iso10646_ucs2: codec = QTextCodec::codecForName("UTF-16"); break; + case Iso2022_kr: codec = QTextCodec::codecForName("ISO 2022-KR"); break; case Gb2312: codec = QTextCodec::codecForName("GB2312"); break; - case Big5: codec = QTextCodec::codecForName("BIG5"); break; + case Utf_16be: codec = QTextCodec::codecForName("UTF-16BE"); break; case Utf_8: codec = QTextCodec::codecForName("UTF-8"); break; } @@ -362,7 +380,7 @@ { if (size < 2) { if (size != 0) { - Log("DvbDescriptor::initDescriptor: invalid descriptor"); + qInfo("Invalid descriptor"); } initSectionData(); @@ -372,7 +390,7 @@ int descriptorLength = (quint8(data[1]) + 2); if (descriptorLength > size) { - Log("DvbDescriptor::initDescriptor: adjusting length"); + qInfo("Adjusting length"); descriptorLength = size; } @@ -406,7 +424,7 @@ // 0x3e Standard Compression Scheme for UNICODE (SCSU) // 0x40/0x41 Taiwan // 0x48 South Korea - Log("AtscPsipText::interpretTextData: Unsupported ATSC Text mode") << mode; + qInfo("Unsupported ATSC Text mode %d", mode); } return result; } @@ -433,7 +451,7 @@ offset += 3; if (offset > size) { - Log("AtscPsipText::convertText: adjusting length"); + qInfo("Adjusting length"); return result; } @@ -441,7 +459,7 @@ for (int j = 0; j < num_segments; j++) { if ((offset + 3) > size) { - Log("AtscPsipText::convertText: adjusting length"); + qInfo("Adjusting length"); return result; } @@ -450,7 +468,7 @@ int num_bytes = quint8(data[offset++]); if ((offset + num_bytes) > size) { - Log("AtscPsipText::convertText: adjusting length"); + qInfo("Adjusting length"); return result; } @@ -467,8 +485,7 @@ result += AtscHuffmanString::convertText(comp_string, num_bytes, comp_type); } else { - Log("AtscPsipText::convertText: Unsupported compression / mode") << - comp_type << mode; + qInfo("Usupported compression / mode %d %d", comp_type, mode); } offset += num_bytes; @@ -1181,7 +1198,7 @@ if ((subtitleDescriptor.subtitleType() >= 0x01) && (subtitleDescriptor.subtitleType() <= 0x03)) { // FIXME how to deal with vbi and teletext subtitles? - Log("DvbPmtParser::DvbPmtParser: special subtitle found"); + qInfo("Unsupported subtitle found: VBI/teletext (%d)", subtitleDescriptor.subtitleType()); } // ISO 8859-1 equals to unicode range 0x0000 - 0x00ff @@ -1207,7 +1224,7 @@ if (videoPid < 0) { videoPid = entry.pid(); } else { - Log("DvbPmtParser::DvbPmtParser: more than one video pid"); + qInfo("More than one video PID"); } break; @@ -1226,8 +1243,7 @@ if (teletextPid < 0) { teletextPid = entry.pid(); } else { - Log("DvbPmtParser::DvbPmtParser: " - "more than one teletext pid"); + qInfo("More than one teletext PID"); } } @@ -1235,8 +1251,7 @@ subtitlePids.append(qMakePair(entry.pid(), subtitleLanguage)); if (teletextPresent) { - Log("DvbPmtParser::DvbPmtParser: " - "subtitle and teletext on the same pid"); + qInfo("Subtitle and teletext on the same PID"); } } @@ -1248,13 +1263,11 @@ default: if (!subtitleLanguage.isEmpty()) { - Log("DvbPmtParser::DvbPmtParser: " - "subtitle with unexpected stream type found"); + qInfo("Subtitle with unexpected stream type found"); } if (teletextPresent) { - Log("DvbPmtParser::DvbPmtParser: " - "teletext with unexpected stream type found"); + qInfo("Teletext with unexpected stream type found"); } break; @@ -1266,7 +1279,7 @@ { if (size < 12) { if (size != 0) { - Log("AtscEitSectionEntry::initEitSectionEntry: invalid entry"); + qInfo("Invalid entry"); } initSectionData(); @@ -1276,7 +1289,7 @@ titleLength = quint8(data[9]); if (titleLength > (size - 12)) { - Log("AtscEitSectionEntry::initEitSectionEntry: adjusting length"); + qInfo("Adjusting length"); titleLength = (size - 12); } @@ -1285,7 +1298,7 @@ quint8(data[11 + titleLength])) + 12 + titleLength); if (entryLength > size) { - Log("AtscEitSectionEntry::initEitSectionEntry: adjusting length"); + qInfo("Adjusting length"); entryLength = size; } @@ -1294,134 +1307,102 @@ // everything below this line is automatically generated -DvbLanguageDescriptor::DvbLanguageDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +void DvbPatSectionEntry::initPatSectionEntry(const char *data, int size) { - if (getLength() < 6) { - Log("DvbLanguageDescriptor::DvbLanguageDescriptor: invalid descriptor"); - initSectionData(); - return; - } -} + if (size < 4) { + if (size != 0) { + qWarning("Invalid entry at descriptor"); + } -DvbSubtitleDescriptor::DvbSubtitleDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) -{ - if (getLength() < 10) { - Log("DvbSubtitleDescriptor::DvbSubtitleDescriptor: invalid descriptor"); initSectionData(); return; } + + initSectionData(data, 4, size); } -DvbServiceDescriptor::DvbServiceDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +void DvbPmtSectionEntry::initPmtSectionEntry(const char *data, int size) { - if (getLength() < 5) { - Log("DvbServiceDescriptor::DvbServiceDescriptor: invalid descriptor"); + if (size < 5) { + if (size != 0) { + qWarning("Invalid entry at descriptor"); + } + initSectionData(); return; } - providerNameLength = at(3); + int entryLength = ((((quint8(data[3]) & 0xf) << 8) | quint8(data[4])) + 5); - if (providerNameLength > (getLength() - 5)) { - Log("DvbServiceDescriptor::DvbServiceDescriptor: adjusting length"); - providerNameLength = (getLength() - 5); + if (entryLength > size) { + qWarning("Adjusting length on descriptor"); + entryLength = size; } - serviceNameLength = at(4 + providerNameLength); - - if (serviceNameLength > (getLength() - (5 + providerNameLength))) { - Log("DvbServiceDescriptor::DvbServiceDescriptor: adjusting length"); - serviceNameLength = (getLength() - (5 + providerNameLength)); - } + initSectionData(data, entryLength, size); } -DvbShortEventDescriptor::DvbShortEventDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +void DvbSdtSectionEntry::initSdtSectionEntry(const char *data, int size) { - if (getLength() < 7) { - Log("DvbShortEventDescriptor::DvbShortEventDescriptor: invalid descriptor"); + if (size < 5) { + if (size != 0) { + qWarning("Invalid entry at descriptor"); + } + initSectionData(); return; } - eventNameLength = at(5); + int entryLength = ((((quint8(data[3]) & 0xf) << 8) | quint8(data[4])) + 5); - if (eventNameLength > (getLength() - 7)) { - Log("DvbShortEventDescriptor::DvbShortEventDescriptor: adjusting length"); - eventNameLength = (getLength() - 7); + if (entryLength > size) { + qWarning("Adjusting length on descriptor"); + entryLength = size; } - textLength = at(6 + eventNameLength); - - if (textLength > (getLength() - (7 + eventNameLength))) { - Log("DvbShortEventDescriptor::DvbShortEventDescriptor: adjusting length"); - textLength = (getLength() - (7 + eventNameLength)); - } + initSectionData(data, entryLength, size); } -DvbExtendedEventDescriptor::DvbExtendedEventDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +void DvbEitSectionEntry::initEitSectionEntry(const char *data, int size) { - if (getLength() < 8) { - Log("DvbExtendedEventDescriptor::DvbExtendedEventDescriptor: invalid descriptor"); + if (size < 12) { + if (size != 0) { + qWarning("Invalid entry at descriptor"); + } + initSectionData(); return; } - itemsLength = at(6); - - if (itemsLength > (getLength() - 8)) { - Log("DvbExtendedEventDescriptor::DvbExtendedEventDescriptor: adjusting length"); - itemsLength = (getLength() - 8); - } - - textLength = at(7 + itemsLength); + int entryLength = ((((quint8(data[10]) & 0xf) << 8) | quint8(data[11])) + 12); - if (textLength > (getLength() - (8 + itemsLength))) { - Log("DvbExtendedEventDescriptor::DvbExtendedEventDescriptor: adjusting length"); - textLength = (getLength() - (8 + itemsLength)); + if (entryLength > size) { + qWarning("Adjusting length on descriptor"); + entryLength = size; } -} -DvbCableDescriptor::DvbCableDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) -{ - if (getLength() < 13) { - Log("DvbCableDescriptor::DvbCableDescriptor: invalid descriptor"); - initSectionData(); - return; - } + initSectionData(data, entryLength, size); } -DvbSatelliteDescriptor::DvbSatelliteDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +void DvbEitContentEntry::initEitContentEntry(const char *data, int size) { - if (getLength() < 13) { - Log("DvbSatelliteDescriptor::DvbSatelliteDescriptor: invalid descriptor"); - initSectionData(); - return; - } -} + if (size < 2) { + if (size != 0) { + qWarning("Invalid entry at descriptor"); + } -DvbTerrestrialDescriptor::DvbTerrestrialDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) -{ - if (getLength() < 13) { - Log("DvbTerrestrialDescriptor::DvbTerrestrialDescriptor: invalid descriptor"); initSectionData(); return; } -} -AtscChannelNameDescriptor::AtscChannelNameDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) -{ - if (getLength() < 2) { - Log("AtscChannelNameDescriptor::AtscChannelNameDescriptor: invalid descriptor"); - initSectionData(); - return; - } + initSectionData(data, 2, size); } -void DvbPatSectionEntry::initPatSectionEntry(const char *data, int size) +void DvbParentalRatingEntry::initParentalRatingEntry(const char *data, int size) { if (size < 4) { if (size != 0) { - Log("DvbPatSectionEntry::initPatSectionEntry: invalid entry"); + qWarning("Invalid entry at descriptor"); } initSectionData(); @@ -1431,130 +1412,217 @@ initSectionData(data, 4, size); } -void DvbPmtSectionEntry::initPmtSectionEntry(const char *data, int size) +void DvbNitSectionEntry::initNitSectionEntry(const char *data, int size) { - if (size < 5) { + if (size < 6) { if (size != 0) { - Log("DvbPmtSectionEntry::initPmtSectionEntry: invalid entry"); + qWarning("Invalid entry at descriptor"); } initSectionData(); return; } - int entryLength = ((((quint8(data[3]) & 0xf) << 8) | quint8(data[4])) + 5); + int entryLength = ((((quint8(data[4]) & 0xf) << 8) | quint8(data[5])) + 6); if (entryLength > size) { - Log("DvbPmtSectionEntry::initPmtSectionEntry: adjusting length"); + qWarning("Adjusting length on descriptor"); entryLength = size; } initSectionData(data, entryLength, size); } -void DvbSdtSectionEntry::initSdtSectionEntry(const char *data, int size) +void AtscMgtSectionEntry::initMgtSectionEntry(const char *data, int size) { - if (size < 5) { + if (size < 11) { if (size != 0) { - Log("DvbSdtSectionEntry::initSdtSectionEntry: invalid entry"); + qWarning("Invalid entry at descriptor"); } initSectionData(); return; } - int entryLength = ((((quint8(data[3]) & 0xf) << 8) | quint8(data[4])) + 5); + int entryLength = ((((quint8(data[9]) & 0xf) << 8) | quint8(data[10])) + 11); if (entryLength > size) { - Log("DvbSdtSectionEntry::initSdtSectionEntry: adjusting length"); + qWarning("Adjusting length on descriptor"); entryLength = size; } initSectionData(data, entryLength, size); } -void DvbEitSectionEntry::initEitSectionEntry(const char *data, int size) +void AtscVctSectionEntry::initVctSectionEntry(const char *data, int size) { - if (size < 12) { + if (size < 32) { if (size != 0) { - Log("DvbEitSectionEntry::initEitSectionEntry: invalid entry"); + qWarning("Invalid entry at descriptor"); } initSectionData(); return; } - int entryLength = ((((quint8(data[10]) & 0xf) << 8) | quint8(data[11])) + 12); + int entryLength = ((((quint8(data[30]) & 0x3) << 8) | quint8(data[31])) + 32); if (entryLength > size) { - Log("DvbEitSectionEntry::initEitSectionEntry: adjusting length"); + qWarning("Adjusting length on descriptor"); entryLength = size; } initSectionData(data, entryLength, size); } -void DvbNitSectionEntry::initNitSectionEntry(const char *data, int size) +DvbLanguageDescriptor::DvbLanguageDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) { - if (size < 6) { - if (size != 0) { - Log("DvbNitSectionEntry::initNitSectionEntry: invalid entry"); - } + if (getLength() < 6) { + qWarning("Invalid descriptor"); + initSectionData(); + return; + } +} +DvbSubtitleDescriptor::DvbSubtitleDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +{ + if (getLength() < 10) { + qWarning("Invalid descriptor"); initSectionData(); return; } +} - int entryLength = ((((quint8(data[4]) & 0xf) << 8) | quint8(data[5])) + 6); +DvbServiceDescriptor::DvbServiceDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +{ + if (getLength() < 5) { + qWarning("Invalid descriptor"); + initSectionData(); + return; + } - if (entryLength > size) { - Log("DvbNitSectionEntry::initNitSectionEntry: adjusting length"); - entryLength = size; + providerNameLength = at(3); + + if (providerNameLength > (getLength() - 5)) { + qWarning("Adjusting length on descriptor"); + providerNameLength = (getLength() - 5); } - initSectionData(data, entryLength, size); + serviceNameLength = at(4 + providerNameLength); + + if (serviceNameLength > (getLength() - (5 + providerNameLength))) { + qWarning("Adjusting length on descriptor"); + serviceNameLength = (getLength() - (5 + providerNameLength)); + } } -void AtscMgtSectionEntry::initMgtSectionEntry(const char *data, int size) +DvbShortEventDescriptor::DvbShortEventDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) { - if (size < 11) { - if (size != 0) { - Log("AtscMgtSectionEntry::initMgtSectionEntry: invalid entry"); - } + if (getLength() < 7) { + qWarning("Invalid descriptor"); + initSectionData(); + return; + } + + eventNameLength = at(5); + if (eventNameLength > (getLength() - 7)) { + qWarning("Adjusting length on descriptor"); + eventNameLength = (getLength() - 7); + } + + textLength = at(6 + eventNameLength); + + if (textLength > (getLength() - (7 + eventNameLength))) { + qWarning("Adjusting length on descriptor"); + textLength = (getLength() - (7 + eventNameLength)); + } +} + +DvbExtendedEventDescriptor::DvbExtendedEventDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +{ + if (getLength() < 8) { + qWarning("Invalid descriptor"); initSectionData(); return; } - int entryLength = ((((quint8(data[9]) & 0xf) << 8) | quint8(data[10])) + 11); + itemsLength = at(6); - if (entryLength > size) { - Log("AtscMgtSectionEntry::initMgtSectionEntry: adjusting length"); - entryLength = size; + if (itemsLength > (getLength() - 8)) { + qWarning("Adjusting length on descriptor"); + itemsLength = (getLength() - 8); } - initSectionData(data, entryLength, size); + textLength = at(7 + itemsLength); + + if (textLength > (getLength() - (8 + itemsLength))) { + qWarning("Adjusting length on descriptor"); + textLength = (getLength() - (8 + itemsLength)); + } } -void AtscVctSectionEntry::initVctSectionEntry(const char *data, int size) +DvbContentDescriptor::DvbContentDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) { - if (size < 32) { - if (size != 0) { - Log("AtscVctSectionEntry::initVctSectionEntry: invalid entry"); - } + if (getLength() < 2) { + qWarning("Invalid descriptor"); + initSectionData(); + return; + } +} +DvbParentalRatingDescriptor::DvbParentalRatingDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +{ + if (getLength() < 2) { + qWarning("Invalid descriptor"); initSectionData(); return; } +} - int entryLength = ((((quint8(data[30]) & 0x3) << 8) | quint8(data[31])) + 32); +DvbCableDescriptor::DvbCableDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +{ + if (getLength() < 13) { + qWarning("Invalid descriptor"); + initSectionData(); + return; + } +} - if (entryLength > size) { - Log("AtscVctSectionEntry::initVctSectionEntry: adjusting length"); - entryLength = size; +DvbSatelliteDescriptor::DvbSatelliteDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +{ + if (getLength() < 13) { + qWarning("Invalid descriptor"); + initSectionData(); + return; } +} - initSectionData(data, entryLength, size); +DvbTerrestrialDescriptor::DvbTerrestrialDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +{ + if (getLength() < 13) { + qWarning("Invalid descriptor"); + initSectionData(); + return; + } +} + +IsdbTerrestrialDescriptor::IsdbTerrestrialDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +{ + if (getLength() < 4) { + qWarning("Invalid descriptor"); + initSectionData(); + return; + } +} + +AtscChannelNameDescriptor::AtscChannelNameDescriptor(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor) +{ + if (getLength() < 2) { + qWarning("Invalid descriptor"); + initSectionData(); + return; + } } void DvbPatSection::initPatSection(const char *data, int size) @@ -1578,7 +1646,7 @@ descriptorsLength = ((at(10) & 0xf) << 8) | at(11); if (descriptorsLength > (getLength() - 16)) { - Log("DvbPmtSection::initPmtSection: adjusting length"); + qWarning("Adjusting length on descriptor"); descriptorsLength = (getLength() - 16); } } @@ -1614,21 +1682,21 @@ descriptorsLength = ((at(8) & 0xf) << 8) | at(9); if (descriptorsLength > (getLength() - 16)) { - Log("DvbNitSection::initNitSection: adjusting length"); + qWarning("Adjusting length on descriptor"); descriptorsLength = (getLength() - 16); } entriesLength = ((at(10 + descriptorsLength) & 0xf) << 8) | at(11 + descriptorsLength); if (entriesLength > (getLength() - (16 + descriptorsLength))) { - Log("DvbNitSection::initNitSection: adjusting length"); + qWarning("Adjusting length on descriptor"); entriesLength = (getLength() - (16 + descriptorsLength)); } } void AtscMgtSection::initMgtSection(const char *data, int size) { - if (size < 15) { + if (size < 17) { initSectionData(); return; } diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbsi.h kaffeine-2.0.4+git20160916/src/dvb/dvbsi.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbsi.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbsi.h 2016-09-17 17:18:56.000000000 +0000 @@ -22,6 +22,10 @@ #define DVBSI_H #include +#include +#include +#include +#include #include "dvbbackenddevice.h" class DvbPmtSection; @@ -114,6 +118,12 @@ class DvbStandardSection : public DvbSection { public: + + int tableIdExtension() const + { + return (at(3) << 8 | at(4)); + } + int versionNumber() const { return (at(5) >> 1) & ((1 << 5) - 1); @@ -171,10 +181,12 @@ Iso8859_13 = 12, Iso8859_14 = 13, Iso8859_15 = 14, - Gb2312 = 15, - Big5 = 16, - Utf_8 = 17, - EncodingTypeMax = 17 + Iso2022_kr = 15, + Iso10646_ucs2 = 16, + Gb2312 = 17, + Utf_16be = 18, + Utf_8 = 19, + EncodingTypeMax = 19 }; static QTextCodec *codecTable[EncodingTypeMax + 1]; @@ -360,281 +372,255 @@ // everything below this line is automatically generated -class DvbLanguageDescriptor : public DvbDescriptor +class DvbPatSectionEntry : public DvbSectionData { public: - explicit DvbLanguageDescriptor(const DvbDescriptor &descriptor); - ~DvbLanguageDescriptor() { } + DvbPatSectionEntry(const char *data, int size) + { + initPatSectionEntry(data, size); + } - int languageCode1() const + ~DvbPatSectionEntry() { } + + void advance() { - return at(2); + initPatSectionEntry(getData() + getLength(), getSize() - getLength()); } - int languageCode2() const + int programNumber() const { - return at(3); + return (at(0) << 8) | at(1); } - int languageCode3() const + int pid() const { - return at(4); + return ((at(2) & 0x1f) << 8) | at(3); } private: - Q_DISABLE_COPY(DvbLanguageDescriptor) + void initPatSectionEntry(const char *data, int size); }; -class DvbSubtitleDescriptor : public DvbDescriptor +class DvbPmtSectionEntry : public DvbSectionData { public: - explicit DvbSubtitleDescriptor(const DvbDescriptor &descriptor); - ~DvbSubtitleDescriptor() { } + DvbPmtSectionEntry(const char *data, int size) + { + initPmtSectionEntry(data, size); + } - int languageCode1() const + ~DvbPmtSectionEntry() { } + + void advance() { - return at(2); + initPmtSectionEntry(getData() + getLength(), getSize() - getLength()); } - int languageCode2() const + int streamType() const { - return at(3); + return at(0); } - int languageCode3() const + int pid() const { - return at(4); + return ((at(1) & 0x1f) << 8) | at(2); } - int subtitleType() const + DvbDescriptor descriptors() const { - return at(5); + return DvbDescriptor(getData() + 5, getLength() - 5); } private: - Q_DISABLE_COPY(DvbSubtitleDescriptor) + void initPmtSectionEntry(const char *data, int size); }; -class DvbServiceDescriptor : public DvbDescriptor +class DvbSdtSectionEntry : public DvbSectionData { public: - explicit DvbServiceDescriptor(const DvbDescriptor &descriptor); - ~DvbServiceDescriptor() { } - - QString providerName() const + DvbSdtSectionEntry(const char *data, int size) { - return DvbSiText::convertText(getData() + 4, providerNameLength); + initSdtSectionEntry(data, size); } - QString serviceName() const + ~DvbSdtSectionEntry() { } + + void advance() { - return DvbSiText::convertText(getData() + 5 + providerNameLength, serviceNameLength); + initSdtSectionEntry(getData() + getLength(), getSize() - getLength()); } -private: - Q_DISABLE_COPY(DvbServiceDescriptor) - - int providerNameLength; - int serviceNameLength; -}; - -class DvbShortEventDescriptor : public DvbDescriptor -{ -public: - explicit DvbShortEventDescriptor(const DvbDescriptor &descriptor); - ~DvbShortEventDescriptor() { } + int serviceId() const + { + return (at(0) << 8) | at(1); + } - QString eventName() const + bool isScrambled() const { - return DvbSiText::convertText(getData() + 6, eventNameLength); + return ((at(3) & 0x10) != 0); } - QString text() const + DvbDescriptor descriptors() const { - return DvbSiText::convertText(getData() + 7 + eventNameLength, textLength); + return DvbDescriptor(getData() + 5, getLength() - 5); } private: - Q_DISABLE_COPY(DvbShortEventDescriptor) - - int eventNameLength; - int textLength; + void initSdtSectionEntry(const char *data, int size); }; -class DvbExtendedEventDescriptor : public DvbDescriptor +class DvbEitSectionEntry : public DvbSectionData { public: - explicit DvbExtendedEventDescriptor(const DvbDescriptor &descriptor); - ~DvbExtendedEventDescriptor() { } - - QString text() const + DvbEitSectionEntry(const char *data, int size) { - return DvbSiText::convertText(getData() + 8 + itemsLength, textLength); + initEitSectionEntry(data, size); } -private: - Q_DISABLE_COPY(DvbExtendedEventDescriptor) - - int itemsLength; - int textLength; -}; + ~DvbEitSectionEntry() { } -class DvbCableDescriptor : public DvbDescriptor -{ -public: - explicit DvbCableDescriptor(const DvbDescriptor &descriptor); - ~DvbCableDescriptor() { } + void advance() + { + initEitSectionEntry(getData() + getLength(), getSize() - getLength()); + } - int frequency() const + int startDate() const { - return (at(2) << 24) | (at(3) << 16) | (at(4) << 8) | at(5); + return (at(2) << 8) | at(3); } - int modulation() const + int startTime() const { - return at(8); + return (at(4) << 16) | (at(5) << 8) | at(6); } - int symbolRate() const + int duration() const { - return (at(9) << 20) | (at(10) << 12) | (at(11) << 4) | (at(12) >> 4); + return (at(7) << 16) | (at(8) << 8) | at(9); } - int fecRate() const + DvbDescriptor descriptors() const { - return (at(12) & 0xf); + return DvbDescriptor(getData() + 12, getLength() - 12); } private: - Q_DISABLE_COPY(DvbCableDescriptor) + void initEitSectionEntry(const char *data, int size); }; -class DvbSatelliteDescriptor : public DvbDescriptor +class DvbEitContentEntry : public DvbSectionData { public: - explicit DvbSatelliteDescriptor(const DvbDescriptor &descriptor); - ~DvbSatelliteDescriptor() { } - - int frequency() const - { - return (at(2) << 24) | (at(3) << 16) | (at(4) << 8) | at(5); - } - - int polarization() const + DvbEitContentEntry(const char *data, int size) { - return ((at(8) & 0x7f) >> 5); + initEitContentEntry(data, size); } - int rollOff() const - { - return ((at(8) & 0x1f) >> 3); - } + ~DvbEitContentEntry() { } - bool isDvbS2() const + void advance() { - return ((at(8) & 0x4) != 0); + initEitContentEntry(getData() + getLength(), getSize() - getLength()); } - int modulation() const + int contentNibbleLevel1() const { - return (at(8) & 0x3); + return (at(0) >> 4); } - int symbolRate() const + int contentNibbleLevel2() const { - return (at(9) << 20) | (at(10) << 12) | (at(11) << 4) | (at(12) >> 4); + return (at(0) & 0xf); } - int fecRate() const + int userByte() const { - return (at(12) & 0xf); + return at(1); } private: - Q_DISABLE_COPY(DvbSatelliteDescriptor) + void initEitContentEntry(const char *data, int size); }; -class DvbTerrestrialDescriptor : public DvbDescriptor +class DvbParentalRatingEntry : public DvbSectionData { public: - explicit DvbTerrestrialDescriptor(const DvbDescriptor &descriptor); - ~DvbTerrestrialDescriptor() { } - - int frequency() const - { - return (at(2) << 24) | (at(3) << 16) | (at(4) << 8) | at(5); - } - - int bandwidth() const + DvbParentalRatingEntry(const char *data, int size) { - return (at(6) >> 5); + initParentalRatingEntry(data, size); } - int constellation() const - { - return (at(7) >> 6); - } + ~DvbParentalRatingEntry() { } - int hierarchy() const + void advance() { - return ((at(7) & 0x3f) >> 3); + initParentalRatingEntry(getData() + getLength(), getSize() - getLength()); } - int fecRateHigh() const + int languageCode1() const { - return (at(7) & 0x7); + return at(0); } - int fecRateLow() const + int languageCode2() const { - return (at(8) >> 5); + return at(1); } - int guardInterval() const + int languageCode3() const { - return ((at(8) & 0x1f) >> 3); + return at(2); } - int transmissionMode() const + int rating() const { - return ((at(8) & 0x7) >> 1); + return at(3); } private: - Q_DISABLE_COPY(DvbTerrestrialDescriptor) + void initParentalRatingEntry(const char *data, int size); }; -class AtscChannelNameDescriptor : public DvbDescriptor +class DvbNitSectionEntry : public DvbSectionData { public: - explicit AtscChannelNameDescriptor(const DvbDescriptor &descriptor); - ~AtscChannelNameDescriptor() { } + DvbNitSectionEntry(const char *data, int size) + { + initNitSectionEntry(data, size); + } - QString name() const + ~DvbNitSectionEntry() { } + + void advance() { - return AtscPsipText::convertText(getData() + 2, getLength() - 2); + initNitSectionEntry(getData() + getLength(), getSize() - getLength()); + } + + DvbDescriptor descriptors() const + { + return DvbDescriptor(getData() + 6, getLength() - 6); } private: - Q_DISABLE_COPY(AtscChannelNameDescriptor) + void initNitSectionEntry(const char *data, int size); }; -class DvbPatSectionEntry : public DvbSectionData +class AtscMgtSectionEntry : public DvbSectionData { public: - DvbPatSectionEntry(const char *data, int size) + AtscMgtSectionEntry(const char *data, int size) { - initPatSectionEntry(data, size); + initMgtSectionEntry(data, size); } - ~DvbPatSectionEntry() { } + ~AtscMgtSectionEntry() { } void advance() { - initPatSectionEntry(getData() + getLength(), getSize() - getLength()); + initMgtSectionEntry(getData() + getLength(), getSize() - getLength()); } - int programNumber() const + int tableType() const { return (at(0) << 8) | at(1); } @@ -644,257 +630,422 @@ return ((at(2) & 0x1f) << 8) | at(3); } + DvbDescriptor descriptors() const + { + return DvbDescriptor(getData() + 11, getLength() - 11); + } + private: - void initPatSectionEntry(const char *data, int size); + void initMgtSectionEntry(const char *data, int size); }; -class DvbPmtSectionEntry : public DvbSectionData +class AtscVctSectionEntry : public DvbSectionData { public: - DvbPmtSectionEntry(const char *data, int size) + AtscVctSectionEntry(const char *data, int size) { - initPmtSectionEntry(data, size); + initVctSectionEntry(data, size); } - ~DvbPmtSectionEntry() { } + ~AtscVctSectionEntry() { } void advance() { - initPmtSectionEntry(getData() + getLength(), getSize() - getLength()); + initVctSectionEntry(getData() + getLength(), getSize() - getLength()); } - int streamType() const + int shortName1() const { - return at(0); + return (at(0) << 8) | at(1); } - int pid() const + int shortName2() const { - return ((at(1) & 0x1f) << 8) | at(2); + return (at(2) << 8) | at(3); } - DvbDescriptor descriptors() const + int shortName3() const { - return DvbDescriptor(getData() + 5, getLength() - 5); + return (at(4) << 8) | at(5); } -private: - void initPmtSectionEntry(const char *data, int size); -}; + int shortName4() const + { + return (at(6) << 8) | at(7); + } -class DvbSdtSectionEntry : public DvbSectionData -{ -public: - DvbSdtSectionEntry(const char *data, int size) + int shortName5() const { - initSdtSectionEntry(data, size); + return (at(8) << 8) | at(9); } - ~DvbSdtSectionEntry() { } + int shortName6() const + { + return (at(10) << 8) | at(11); + } - void advance() + int shortName7() const { - initSdtSectionEntry(getData() + getLength(), getSize() - getLength()); + return (at(12) << 8) | at(13); } - int serviceId() const + int majorNumber() const { - return (at(0) << 8) | at(1); + return ((at(14) & 0xf) << 6) | (at(15) >> 2); + } + + int minorNumber() const + { + return ((at(15) & 0x3) << 8) | at(16); + } + + int programNumber() const + { + return (at(24) << 8) | at(25); } bool isScrambled() const { - return ((at(3) & 0x10) != 0); + return ((at(26) & 0x20) != 0); + } + + int sourceId() const + { + return (at(28) << 8) | at(29); } DvbDescriptor descriptors() const { - return DvbDescriptor(getData() + 5, getLength() - 5); + return DvbDescriptor(getData() + 32, getLength() - 32); } private: - void initSdtSectionEntry(const char *data, int size); + void initVctSectionEntry(const char *data, int size); }; -class DvbEitSectionEntry : public DvbSectionData +class DvbLanguageDescriptor : public DvbDescriptor { public: - DvbEitSectionEntry(const char *data, int size) + explicit DvbLanguageDescriptor(const DvbDescriptor &descriptor); + ~DvbLanguageDescriptor() { } + + int languageCode1() const { - initEitSectionEntry(data, size); + return at(2); } - ~DvbEitSectionEntry() { } + int languageCode2() const + { + return at(3); + } - void advance() + int languageCode3() const { - initEitSectionEntry(getData() + getLength(), getSize() - getLength()); + return at(4); } - int startDate() const +private: + Q_DISABLE_COPY(DvbLanguageDescriptor) +}; + +class DvbSubtitleDescriptor : public DvbDescriptor +{ +public: + explicit DvbSubtitleDescriptor(const DvbDescriptor &descriptor); + ~DvbSubtitleDescriptor() { } + + int languageCode1() const { - return (at(2) << 8) | at(3); + return at(2); } - int startTime() const + int languageCode2() const { - return (at(4) << 16) | (at(5) << 8) | at(6); + return at(3); } - int duration() const + int languageCode3() const { - return (at(7) << 16) | (at(8) << 8) | at(9); + return at(4); } - DvbDescriptor descriptors() const + int subtitleType() const { - return DvbDescriptor(getData() + 12, getLength() - 12); + return at(5); } private: - void initEitSectionEntry(const char *data, int size); + Q_DISABLE_COPY(DvbSubtitleDescriptor) }; -class DvbNitSectionEntry : public DvbSectionData +class DvbServiceDescriptor : public DvbDescriptor { public: - DvbNitSectionEntry(const char *data, int size) + explicit DvbServiceDescriptor(const DvbDescriptor &descriptor); + ~DvbServiceDescriptor() { } + + QString providerName() const { - initNitSectionEntry(data, size); + return DvbSiText::convertText(getData() + 4, providerNameLength); } - ~DvbNitSectionEntry() { } + QString serviceName() const + { + return DvbSiText::convertText(getData() + 5 + providerNameLength, serviceNameLength); + } - void advance() +private: + Q_DISABLE_COPY(DvbServiceDescriptor) + + int providerNameLength; + int serviceNameLength; +}; + +class DvbShortEventDescriptor : public DvbDescriptor +{ +public: + explicit DvbShortEventDescriptor(const DvbDescriptor &descriptor); + ~DvbShortEventDescriptor() { } + + QString eventName() const { - initNitSectionEntry(getData() + getLength(), getSize() - getLength()); + return DvbSiText::convertText(getData() + 6, eventNameLength); } - DvbDescriptor descriptors() const + QString text() const { - return DvbDescriptor(getData() + 6, getLength() - 6); + return DvbSiText::convertText(getData() + 7 + eventNameLength, textLength); } private: - void initNitSectionEntry(const char *data, int size); + Q_DISABLE_COPY(DvbShortEventDescriptor) + + int eventNameLength; + int textLength; }; -class AtscMgtSectionEntry : public DvbSectionData +class DvbExtendedEventDescriptor : public DvbDescriptor { public: - AtscMgtSectionEntry(const char *data, int size) + explicit DvbExtendedEventDescriptor(const DvbDescriptor &descriptor); + ~DvbExtendedEventDescriptor() { } + + QString text() const { - initMgtSectionEntry(data, size); + return DvbSiText::convertText(getData() + 8 + itemsLength, textLength); } - ~AtscMgtSectionEntry() { } +private: + Q_DISABLE_COPY(DvbExtendedEventDescriptor) - void advance() + int itemsLength; + int textLength; +}; + +class DvbContentDescriptor : public DvbDescriptor +{ +public: + explicit DvbContentDescriptor(const DvbDescriptor &descriptor); + ~DvbContentDescriptor() { } + + DvbEitContentEntry contents() const { - initMgtSectionEntry(getData() + getLength(), getSize() - getLength()); + return DvbEitContentEntry(getData() + 2, getLength() - 2); } - int tableType() const +private: + Q_DISABLE_COPY(DvbContentDescriptor) +}; + +class DvbParentalRatingDescriptor : public DvbDescriptor +{ +public: + explicit DvbParentalRatingDescriptor(const DvbDescriptor &descriptor); + ~DvbParentalRatingDescriptor() { } + + DvbParentalRatingEntry contents() const { - return (at(0) << 8) | at(1); + return DvbParentalRatingEntry(getData() + 2, getLength() - 2); } - int pid() const +private: + Q_DISABLE_COPY(DvbParentalRatingDescriptor) +}; + +class DvbCableDescriptor : public DvbDescriptor +{ +public: + explicit DvbCableDescriptor(const DvbDescriptor &descriptor); + ~DvbCableDescriptor() { } + + int frequency() const { - return ((at(2) & 0x1f) << 8) | at(3); + return (at(2) << 24) | (at(3) << 16) | (at(4) << 8) | at(5); } - DvbDescriptor descriptors() const + int modulation() const { - return DvbDescriptor(getData() + 11, getLength() - 11); + return at(8); + } + + int symbolRate() const + { + return (at(9) << 20) | (at(10) << 12) | (at(11) << 4) | (at(12) >> 4); + } + + int fecRate() const + { + return (at(12) & 0xf); } private: - void initMgtSectionEntry(const char *data, int size); + Q_DISABLE_COPY(DvbCableDescriptor) }; -class AtscVctSectionEntry : public DvbSectionData +class DvbSatelliteDescriptor : public DvbDescriptor { public: - AtscVctSectionEntry(const char *data, int size) + explicit DvbSatelliteDescriptor(const DvbDescriptor &descriptor); + ~DvbSatelliteDescriptor() { } + + int frequency() const { - initVctSectionEntry(data, size); + return (at(2) << 24) | (at(3) << 16) | (at(4) << 8) | at(5); } - ~AtscVctSectionEntry() { } + int polarization() const + { + return ((at(8) & 0x7f) >> 5); + } - void advance() + int rollOff() const { - initVctSectionEntry(getData() + getLength(), getSize() - getLength()); + return ((at(8) & 0x1f) >> 3); } - int shortName1() const + bool isDvbS2() const { - return (at(0) << 8) | at(1); + return ((at(8) & 0x4) != 0); } - int shortName2() const + int modulation() const { - return (at(2) << 8) | at(3); + return (at(8) & 0x3); } - int shortName3() const + int symbolRate() const { - return (at(4) << 8) | at(5); + return (at(9) << 20) | (at(10) << 12) | (at(11) << 4) | (at(12) >> 4); } - int shortName4() const + int fecRate() const { - return (at(6) << 8) | at(7); + return (at(12) & 0xf); } - int shortName5() const +private: + Q_DISABLE_COPY(DvbSatelliteDescriptor) +}; + +class DvbTerrestrialDescriptor : public DvbDescriptor +{ +public: + explicit DvbTerrestrialDescriptor(const DvbDescriptor &descriptor); + ~DvbTerrestrialDescriptor() { } + + int frequency() const { - return (at(8) << 8) | at(9); + return (at(2) << 24) | (at(3) << 16) | (at(4) << 8) | at(5); } - int shortName6() const + int bandwidth() const { - return (at(10) << 8) | at(11); + return (at(6) >> 5); } - int shortName7() const + int constellation() const { - return (at(12) << 8) | at(13); + return (at(7) >> 6); } - int majorNumber() const + int hierarchy() const { - return ((at(14) & 0xf) << 6) | (at(15) >> 2); + return ((at(7) & 0x3f) >> 3); } - int minorNumber() const + int fecRateHigh() const { - return ((at(15) & 0x3) << 8) | at(16); + return (at(7) & 0x7); } - int programNumber() const + int fecRateLow() const { - return (at(24) << 8) | at(25); + return (at(8) >> 5); } - bool isScrambled() const + int guardInterval() const { - return ((at(26) & 0x20) != 0); + return ((at(8) & 0x1f) >> 3); } - int sourceId() const + int transmissionMode() const { - return (at(28) << 8) | at(29); + return ((at(8) & 0x7) >> 1); } - DvbDescriptor descriptors() const +private: + Q_DISABLE_COPY(DvbTerrestrialDescriptor) +}; + +class IsdbTerrestrialDescriptor : public DvbDescriptor +{ +public: + explicit IsdbTerrestrialDescriptor(const DvbDescriptor &descriptor); + ~IsdbTerrestrialDescriptor() { } + + int areaCode() const { - return DvbDescriptor(getData() + 32, getLength() - 32); + return (at(2) << 4) | (at(3) >> 4); + } + + int guardInterval() const + { + return ((at(3) & 0xf) >> 2); + } + + int transmissionMode() const + { + return (at(3) & 0x3); + } + + int frequencyLength() const + { + return (getLength() - 4) / 2; + } + + int frequency(int idx) const + { + int pos = (idx * 2) + 4; + return (at(pos) << 8) | at(pos + 1); } private: - void initVctSectionEntry(const char *data, int size); + Q_DISABLE_COPY(IsdbTerrestrialDescriptor) +}; + +class AtscChannelNameDescriptor : public DvbDescriptor +{ +public: + explicit AtscChannelNameDescriptor(const DvbDescriptor &descriptor); + ~AtscChannelNameDescriptor() { } + + QString name() const + { + return AtscPsipText::convertText(getData() + 2, getLength() - 2); + } + +private: + Q_DISABLE_COPY(AtscChannelNameDescriptor) }; class DvbPatSection : public DvbStandardSection @@ -1089,7 +1240,7 @@ AtscMgtSectionEntry entries() const { - return AtscMgtSectionEntry(getData() + 11, getLength() - 15); + return AtscMgtSectionEntry(getData() + 11, getLength() - 17); } private: diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbtab.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbtab.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbtab.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbtab.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,21 +18,26 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbtab.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include +#include +#include +#include +#include #include #include #include +#include +#include #include #include #include -#include -#include -#include -#include -#include -#include -#include "../log.h" + #include "../osdwidget.h" #include "dvbchanneldialog.h" #include "dvbconfigdialog.h" @@ -42,6 +47,7 @@ #include "dvbmanager.h" #include "dvbrecordingdialog.h" #include "dvbscandialog.h" +#include "dvbtab.h" class DvbTimeShiftCleaner : public QThread { @@ -78,27 +84,27 @@ } } -DvbTab::DvbTab(KMenu *menu, KActionCollection *collection, MediaWidget *mediaWidget_) : +DvbTab::DvbTab(QMenu *menu, KActionCollection *collection, MediaWidget *mediaWidget_) : mediaWidget(mediaWidget_) { manager = new DvbManager(mediaWidget, this); - KAction *channelsAction = new KAction(KIcon(QLatin1String("video-television")), i18n("Channels"), this); + QAction *channelsAction = new QAction(QIcon::fromTheme(QLatin1String("video-television"), QIcon(":video-television")), i18n("Channels"), this); channelsAction->setShortcut(Qt::Key_C); connect(channelsAction, SIGNAL(triggered(bool)), this, SLOT(showChannelDialog())); menu->addAction(collection->addAction(QLatin1String("dvb_channels"), channelsAction)); - KAction *epgAction = new KAction(KIcon(QLatin1String("view-list-details")), i18n("Program Guide"), this); + QAction *epgAction = new QAction(QIcon::fromTheme(QLatin1String("view-list-details"), QIcon(":view-list-details")), i18n("Program Guide"), this); epgAction->setShortcut(Qt::Key_G); connect(epgAction, SIGNAL(triggered(bool)), this, SLOT(toggleEpgDialog())); menu->addAction(collection->addAction(QLatin1String("dvb_epg"), epgAction)); - KAction *osdAction = new KAction(KIcon(QLatin1String("dialog-information")), i18n("OSD"), this); + QAction *osdAction = new QAction(QIcon::fromTheme(QLatin1String("dialog-information"), QIcon(":dialog-information")), i18n("OSD"), this); osdAction->setShortcut(Qt::Key_O); connect(osdAction, SIGNAL(triggered(bool)), manager->getLiveView(), SLOT(toggleOsd())); menu->addAction(collection->addAction(QLatin1String("dvb_osd"), osdAction)); - KAction *recordingsAction = new KAction(KIcon(QLatin1String("view-pim-calendar")), + QAction *recordingsAction = new QAction(QIcon::fromTheme(QLatin1String("view-pim-calendar"), QIcon(":view-pim-calendar")), i18nc("dialog", "Recording Schedule"), this); recordingsAction->setShortcut(Qt::Key_R); connect(recordingsAction, SIGNAL(triggered(bool)), this, SLOT(showRecordingDialog())); @@ -106,14 +112,14 @@ menu->addSeparator(); - instantRecordAction = new KAction(KIcon(QLatin1String("document-save")), i18n("Instant Record"), this); + instantRecordAction = new QAction(QIcon::fromTheme(QLatin1String("document-save"), QIcon(":document-save")), i18n("Instant Record"), this); instantRecordAction->setCheckable(true); connect(instantRecordAction, SIGNAL(triggered(bool)), this, SLOT(instantRecord(bool))); menu->addAction(collection->addAction(QLatin1String("dvb_instant_record"), instantRecordAction)); menu->addSeparator(); - KAction *configureAction = new KAction(KIcon(QLatin1String("configure")), + QAction *configureAction = new QAction(QIcon::fromTheme(QLatin1String("configure"), QIcon(":configure")), i18nc("@action:inmenu", "Configure Television..."), this); connect(configureAction, SIGNAL(triggered()), this, SLOT(configureDvb())); menu->addAction(collection->addAction(QLatin1String("settings_dvb"), configureAction)); @@ -136,8 +142,8 @@ boxLayout = new QHBoxLayout(); boxLayout->addWidget(new QLabel(i18n("Search:"))); - KLineEdit *lineEdit = new KLineEdit(leftWidget); - lineEdit->setClearButtonShown(true); + QLineEdit *lineEdit = new QLineEdit(leftWidget); + lineEdit->setClearButtonEnabled(true); boxLayout->addWidget(lineEdit); leftLayout->addLayout(boxLayout); @@ -148,7 +154,7 @@ channelView->setRootIsDecorated(false); if (!channelView->header()->restoreState(QByteArray::fromBase64( - KGlobal::config()->group("DVB").readEntry("ChannelViewState", QByteArray())))) { + KSharedConfig::openConfig()->group("DVB").readEntry("ChannelViewState", QByteArray())))) { channelView->sortByColumn(0, Qt::AscendingOrder); } @@ -197,10 +203,10 @@ connect(mediaWidget, SIGNAL(osdKeyPressed(int)), this, SLOT(osdKeyPressed(int))); connect(&osdChannelTimer, SIGNAL(timeout()), this, SLOT(tuneOsdChannel())); - lastChannel = KGlobal::config()->group("DVB").readEntry("LastChannel"); + lastChannel = KSharedConfig::openConfig()->group("DVB").readEntry("LastChannel"); splitter->restoreState(QByteArray::fromBase64( - KGlobal::config()->group("DVB").readEntry("TabSplitterState", QByteArray()))); + KSharedConfig::openConfig()->group("DVB").readEntry("TabSplitterState", QByteArray()))); timeShiftCleaner = new DvbTimeShiftCleaner(this); @@ -211,16 +217,16 @@ DvbTab::~DvbTab() { - KGlobal::config()->group("DVB").writeEntry("TabSplitterState", + KSharedConfig::openConfig()->group("DVB").writeEntry("TabSplitterState", splitter->saveState().toBase64()); - KGlobal::config()->group("DVB").writeEntry("ChannelViewState", + KSharedConfig::openConfig()->group("DVB").writeEntry("ChannelViewState", channelView->header()->saveState().toBase64()); if (!currentChannel.isEmpty()) { lastChannel = currentChannel; } - KGlobal::config()->group("DVB").writeEntry("LastChannel", lastChannel); + KSharedConfig::openConfig()->group("DVB").writeEntry("LastChannel", lastChannel); } void DvbTab::playChannel(const QString &nameOrNumber) @@ -311,7 +317,7 @@ void DvbTab::showChannelDialog() { - KDialog *dialog = new DvbScanDialog(manager, this); + QDialog *dialog = new DvbScanDialog(manager, this); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setModal(true); dialog->show(); @@ -384,7 +390,7 @@ void DvbTab::configureDvb() { - KDialog *dialog = new DvbConfigDialog(manager, this); + QDialog *dialog = new DvbConfigDialog(manager, this); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setModal(true); dialog->show(); @@ -456,7 +462,7 @@ void DvbTab::playChannel(const DvbSharedChannel &channel, const QModelIndex &index) { if (!channel.isValid()) { - Log("DvbTab::playChannel: channel is invalid"); + qWarning("Channel is invalid"); return; } @@ -467,7 +473,7 @@ channelView->setCurrentIndex(index); currentChannel = channel->name; manager->getLiveView()->playChannel(channel); - + if (!epgDialog.isNull()) { epgDialog->setCurrentChannel(manager->getLiveView()->getChannel()); } diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbtab.h kaffeine-2.0.4+git20160916/src/dvb/dvbtab.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbtab.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbtab.h 2016-09-17 17:18:56.000000000 +0000 @@ -29,9 +29,9 @@ class QModelIndex; class QSplitter; -class KAction; +class QAction; class KActionCollection; -class KMenu; +class QMenu; class DvbChannelTableModel; class DvbChannelView; class DvbEpgDialog; @@ -42,7 +42,7 @@ { Q_OBJECT public: - DvbTab(KMenu *menu, KActionCollection *collection, MediaWidget *mediaWidget_); + DvbTab(QMenu *menu, KActionCollection *collection, MediaWidget *mediaWidget_); ~DvbTab(); void playChannel(const QString &nameOrNumber); @@ -81,7 +81,7 @@ MediaWidget *mediaWidget; DvbManager *manager; - KAction *instantRecordAction; + QAction *instantRecordAction; DvbSharedRecording instantRecording; QSplitter *splitter; DvbChannelTableModel *channelProxyModel; diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbtransponder.cpp kaffeine-2.0.4+git20160916/src/dvb/dvbtransponder.cpp --- kaffeine-1.3.1+git20151128/src/dvb/dvbtransponder.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbtransponder.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,10 +18,11 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "dvbtransponder.h" - #include #include +#include + +#include "dvbtransponder.h" static const char *enumToLinuxtv(DvbTransponderBase::FecRate fecRate) { @@ -67,6 +68,7 @@ case DvbSTransponder::Vertical: return "V"; case DvbSTransponder::CircularLeft: return "L"; case DvbSTransponder::CircularRight: return "R"; + case DvbSTransponder::Off: return "-"; } return NULL; @@ -100,6 +102,7 @@ static const char *enumToLinuxtv(DvbTTransponder::Bandwidth bandwidth) { switch (bandwidth) { + case DvbTTransponder::Bandwidth5MHz: return "5MHz"; case DvbTTransponder::Bandwidth6MHz: return "6MHz"; case DvbTTransponder::Bandwidth7MHz: return "7MHz"; case DvbTTransponder::Bandwidth8MHz: return "8MHz"; @@ -159,6 +162,164 @@ return NULL; } +static const char *enumToLinuxtv(DvbT2Transponder::Bandwidth bandwidth) +{ + switch (bandwidth) { + case DvbT2Transponder::Bandwidth1_7MHz: return "1.7MHz"; + case DvbT2Transponder::Bandwidth5MHz: return "5MHz"; + case DvbT2Transponder::Bandwidth6MHz: return "6MHz"; + case DvbT2Transponder::Bandwidth7MHz: return "7MHz"; + case DvbT2Transponder::Bandwidth8MHz: return "8MHz"; + case DvbT2Transponder::Bandwidth10MHz: return "10MHz"; + case DvbT2Transponder::BandwidthAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbT2Transponder::Modulation modulation) +{ + switch (modulation) { + case DvbT2Transponder::Qpsk: return "QPSK"; + case DvbT2Transponder::Qam16: return "QAM16"; + case DvbT2Transponder::Qam64: return "QAM64"; + case DvbT2Transponder::Qam256: return "QAM256"; + case DvbT2Transponder::ModulationAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbT2Transponder::TransmissionMode transmissionMode) +{ + switch (transmissionMode) { + case DvbT2Transponder::TransmissionMode1k: return "1k"; + case DvbT2Transponder::TransmissionMode2k: return "2k"; + case DvbT2Transponder::TransmissionMode4k: return "4k"; + case DvbT2Transponder::TransmissionMode8k: return "8k"; + case DvbT2Transponder::TransmissionMode16k: return "16k"; + case DvbT2Transponder::TransmissionMode32k: return "32k"; + case DvbT2Transponder::TransmissionModeAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbT2Transponder::GuardInterval guardInterval) +{ + switch (guardInterval) { + case DvbT2Transponder::GuardInterval1_4: return "1/4"; + case DvbT2Transponder::GuardInterval19_128: return "19/128"; + case DvbT2Transponder::GuardInterval1_8: return "1/8"; + case DvbT2Transponder::GuardInterval19_256: return "19/256"; + case DvbT2Transponder::GuardInterval1_16: return "1/16"; + case DvbT2Transponder::GuardInterval1_32: return "1/32"; + case DvbT2Transponder::GuardInterval1_128: return "1/128"; + case DvbT2Transponder::GuardIntervalAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(DvbT2Transponder::Hierarchy hierarchy) +{ + switch (hierarchy) { + case DvbT2Transponder::HierarchyNone: return "NONE"; + case DvbT2Transponder::Hierarchy1: return "1"; + case DvbT2Transponder::Hierarchy2: return "2"; + case DvbT2Transponder::Hierarchy4: return "4"; + case DvbT2Transponder::HierarchyAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(IsdbTTransponder::Bandwidth bandwidth) +{ + switch (bandwidth) { + case IsdbTTransponder::Bandwidth6MHz: return "6MHz"; + case IsdbTTransponder::Bandwidth7MHz: return "7MHz"; + case IsdbTTransponder::Bandwidth8MHz: return "8MHz"; + } + + return NULL; +} + +static const char *enumToLinuxtv(IsdbTTransponder::Modulation modulation) +{ + switch (modulation) { + case IsdbTTransponder::Qpsk: return "QPSK"; + case IsdbTTransponder::Dqpsk: return "DQPSK"; + case IsdbTTransponder::Qam16: return "QAM16"; + case IsdbTTransponder::Qam64: return "QAM64"; + case IsdbTTransponder::ModulationAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(IsdbTTransponder::TransmissionMode transmissionMode) +{ + switch (transmissionMode) { + case IsdbTTransponder::TransmissionMode2k: return "2k"; + case IsdbTTransponder::TransmissionMode4k: return "4k"; + case IsdbTTransponder::TransmissionMode8k: return "8k"; + case IsdbTTransponder::TransmissionModeAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(IsdbTTransponder::GuardInterval guardInterval) +{ + switch (guardInterval) { + case IsdbTTransponder::GuardInterval1_4: return "1/4"; + case IsdbTTransponder::GuardInterval1_8: return "1/8"; + case IsdbTTransponder::GuardInterval1_16: return "1/16"; + case IsdbTTransponder::GuardInterval1_32: return "1/32"; + case IsdbTTransponder::GuardIntervalAuto: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(IsdbTTransponder::Interleaving interleaving) +{ + switch (interleaving) { + case IsdbTTransponder::I_0: return "0"; + case IsdbTTransponder::I_1: return "1"; + case IsdbTTransponder::I_2: return "2"; + case IsdbTTransponder::I_4: return "4"; + case IsdbTTransponder::I_8: return "8"; + case IsdbTTransponder::I_16: return "16"; + case IsdbTTransponder::I_AUTO: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(IsdbTTransponder::PartialReception partialReception) +{ + switch (partialReception) { + case IsdbTTransponder::PR_disabled: return "0"; + case IsdbTTransponder::PR_enabled: return "1"; + case IsdbTTransponder::PR_AUTO: return "AUTO"; + } + + return NULL; +} + +static const char *enumToLinuxtv(IsdbTTransponder::SoundBroadcasting soundBroadcasting) +{ + switch (soundBroadcasting) { + case IsdbTTransponder::SB_disabled: return "0"; + case IsdbTTransponder::SB_enabled: return "1"; + case IsdbTTransponder::SB_AUTO: return "AUTO"; + } + + return NULL; +} + static const char *enumToLinuxtv(AtscTransponder::Modulation modulation) { switch (modulation) { @@ -471,6 +632,59 @@ (qAbs(dvbTTransponder->frequency - frequency) <= 2000000)); } +void DvbT2Transponder::readTransponder(QDataStream &stream) +{ + stream >> frequency; + bandwidth = readEnum(stream); + modulation = readEnum(stream); + fecRateHigh = readEnum(stream); + fecRateLow = readEnum(stream); + transmissionMode = readEnum(stream); + guardInterval = readEnum(stream); + hierarchy = readEnum(stream); + stream >> streamId; +} + +bool DvbT2Transponder::fromString(const QString &string) +{ + DvbChannelStringReader reader(string); + reader.checkString(QLatin1String("T2")); + reader.readInt(frequency); + bandwidth = reader.readEnum(); + fecRateHigh = reader.readEnum(); + fecRateLow = reader.readEnum(); + modulation = reader.readEnum(); + transmissionMode = reader.readEnum(); + guardInterval = reader.readEnum(); + hierarchy = reader.readEnum(); + reader.readInt(streamId); + return reader.isValid(); +} + +QString DvbT2Transponder::toString() const +{ + DvbChannelStringWriter writer; + writer.writeString(QLatin1String("T2")); + writer.writeInt(frequency); + writer.writeEnum(bandwidth); + writer.writeEnum(fecRateHigh); + writer.writeEnum(fecRateLow); + writer.writeEnum(modulation); + writer.writeEnum(transmissionMode); + writer.writeEnum(guardInterval); + writer.writeEnum(hierarchy); + writer.writeInt(streamId); + return writer.getString(); +} + +bool DvbT2Transponder::corresponds(const DvbTransponder &transponder) const +{ + const DvbT2Transponder *dvbT2Transponder = transponder.as(); + + return ((dvbT2Transponder != NULL) && + (qAbs(dvbT2Transponder->frequency - frequency) <= 2000000)); +} + void AtscTransponder::readTransponder(QDataStream &stream) { stream >> frequency; @@ -503,6 +717,103 @@ (qAbs(atscTransponder->frequency - frequency) <= 2000000)); } +void IsdbTTransponder::readTransponder(QDataStream &stream) +{ + int layers; + stream >> frequency; + bandwidth = readEnum(stream); + transmissionMode = readEnum(stream); + guardInterval = readEnum(stream); + partialReception = readEnum(stream); + soundBroadcasting = readEnum(stream); + stream >> subChannelId; + stream >> sbSegmentCount; + stream >> subChannelId; + + stream >> layers; + for (int i = 0; i < 3; i ++) { + if ((1 << i) && layers) + layerEnabled[i] = true; + else + layerEnabled[i] = false; + + modulation[i] = readEnum(stream); + fecRate[i] = readEnum(stream); + stream >> segmentCount[i]; + interleaving[i] = readEnum(stream); + } +} + +bool IsdbTTransponder::fromString(const QString &string) +{ + int layers; + DvbChannelStringReader reader(string); + reader.checkChar(QLatin1Char('I')); + reader.readInt(frequency); + bandwidth = reader.readEnum(); + transmissionMode = reader.readEnum(); + guardInterval = reader.readEnum(); + partialReception = reader.readEnum(); + soundBroadcasting = reader.readEnum(); + reader.readInt(subChannelId); + reader.readInt(sbSegmentCount); + reader.readInt(subChannelId); + + reader.readInt(layers); + for (int i = 0; i < 3; i ++) { + if ((1 << i) && layers) + layerEnabled[i] = true; + else + layerEnabled[i] = false; + + modulation[i] = reader.readEnum(); + fecRate[i] = reader.readEnum(); + reader.readInt(segmentCount[i]); + interleaving[i] = reader.readEnum(); + } + + return reader.isValid(); +} + +QString IsdbTTransponder::toString() const +{ + int layers = 0; + DvbChannelStringWriter writer; + writer.writeChar(QLatin1Char('I')); + writer.writeInt(frequency); + writer.writeEnum(bandwidth); + writer.writeEnum(transmissionMode); + writer.writeEnum(guardInterval); + writer.writeEnum(partialReception); + writer.writeEnum(soundBroadcasting); + writer.writeInt(subChannelId); + writer.writeInt(sbSegmentCount); + writer.writeInt(subChannelId); + + for (int i = 0; i < 3; i ++) { + if (layerEnabled[i]) + layers |= 1 << i; + } + writer.writeInt(layers); + + for (int i = 0; i < 3; i ++) { + writer.writeEnum(modulation[i]); + writer.writeEnum(fecRate[i]); + writer.writeInt(segmentCount[i]); + writer.writeEnum(interleaving[i]); + } + + return writer.getString(); +} + +bool IsdbTTransponder::corresponds(const DvbTransponder &transponder) const +{ + const IsdbTTransponder *dvbTTransponder = transponder.as(); + + return ((dvbTTransponder != NULL) && + (qAbs(dvbTTransponder->frequency - frequency) <= 2000000)); +} + bool DvbTransponder::corresponds(const DvbTransponder &transponder) const { switch (data.transmissionType) { @@ -516,8 +827,12 @@ return as()->corresponds(transponder); case DvbTransponderBase::DvbT: return as()->corresponds(transponder); + case DvbTransponderBase::DvbT2: + return as()->corresponds(transponder); case DvbTransponderBase::Atsc: return as()->corresponds(transponder); + case DvbTransponderBase::IsdbT: + return as()->corresponds(transponder); } return false; @@ -536,13 +851,41 @@ return as()->toString(); case DvbTransponderBase::DvbT: return as()->toString(); + case DvbTransponderBase::DvbT2: + return as()->toString(); case DvbTransponderBase::Atsc: return as()->toString(); + case DvbTransponderBase::IsdbT: + return as()->toString(); } return QString(); } +int DvbTransponder::frequency() +{ + switch (data.transmissionType) { + case DvbTransponderBase::Invalid: + return 0; + case DvbTransponderBase::DvbC: + return as()->frequency; + case DvbTransponderBase::DvbS: + return as()->frequency; + case DvbTransponderBase::DvbS2: + return as()->frequency; + case DvbTransponderBase::DvbT: + return as()->frequency; + case DvbTransponderBase::DvbT2: + return as()->frequency; + case DvbTransponderBase::Atsc: + return as()->frequency; + case DvbTransponderBase::IsdbT: + return as()->frequency; + } + + return 0; +} + DvbTransponder DvbTransponder::fromString(const QString &string) { if (string.size() >= 2) { @@ -573,13 +916,23 @@ break; case 'T': { - DvbTransponder transponder(DvbTransponderBase::DvbT); + if (string.at(1) != QLatin1Char('2')) { + DvbTransponder transponder(DvbTransponderBase::DvbT); - if (transponder.as()->fromString(string)) { - return transponder; - } + if (transponder.as()->fromString(string)) { + return transponder; + } - break; + break; + } else { + DvbTransponder transponder(DvbTransponderBase::DvbT2); + + if (transponder.as()->fromString(string)) { + return transponder; + } + + break; + } } case 'A': { DvbTransponder transponder(DvbTransponderBase::Atsc); @@ -588,6 +941,15 @@ return transponder; } + break; + } + case 'I': { + DvbTransponder transponder(DvbTransponderBase::IsdbT); + + if (transponder.as()->fromString(string)) { + return transponder; + } + break; } } diff -Nru kaffeine-1.3.1+git20151128/src/dvb/dvbtransponder.h kaffeine-2.0.4+git20160916/src/dvb/dvbtransponder.h --- kaffeine-1.3.1+git20151128/src/dvb/dvbtransponder.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/dvb/dvbtransponder.h 2016-09-17 17:18:56.000000000 +0000 @@ -31,12 +31,14 @@ { public: enum TransmissionType { - Invalid = 5, + Invalid = 7, DvbC = 0, DvbS = 1, DvbS2 = 4, DvbT = 2, - Atsc = 3 + DvbT2 = 6, + Atsc = 3, + IsdbT = 5, }; enum FecRate { @@ -91,7 +93,8 @@ Horizontal = 0, Vertical = 1, CircularLeft = 2, - CircularRight = 3 + CircularRight = 3, + Off = 4, }; void readTransponder(QDataStream &stream); @@ -130,6 +133,7 @@ Modulation modulation : 8; RollOff rollOff : 8; + // FIXME: add stream ID }; class DvbTTransponder : public DvbTransponderBase @@ -139,7 +143,8 @@ Bandwidth6MHz = 0, Bandwidth7MHz = 1, Bandwidth8MHz = 2, - BandwidthAuto = 3 + Bandwidth5MHz = 3, // Used only on DVB-T2, but present on Terrestrial descriptor + BandwidthAuto = 4 }; enum Modulation { @@ -187,6 +192,72 @@ int frequency; // Hz }; +class DvbT2Transponder : public DvbTransponderBase +{ +public: + enum Bandwidth { + Bandwidth6MHz = 0, + Bandwidth7MHz = 1, + Bandwidth8MHz = 2, + Bandwidth5MHz = 3, + Bandwidth1_7MHz = 4, + Bandwidth10MHz = 5, + BandwidthAuto = 6 + }; + + enum Modulation { + Qpsk = 0, + Qam16 = 1, + Qam64 = 2, + Qam256 = 3, + ModulationAuto = 4 + }; + + enum TransmissionMode { + TransmissionMode1k = 0, + TransmissionMode2k = 1, + TransmissionMode4k = 2, + TransmissionMode8k = 3, + TransmissionMode16k = 4, + TransmissionMode32k = 5, + TransmissionModeAuto = 6 + }; + + enum GuardInterval { + GuardInterval1_4 = 0, + GuardInterval19_128 = 1, + GuardInterval1_8 = 2, + GuardInterval19_256 = 3, + GuardInterval1_16 = 4, + GuardInterval1_32 = 5, + GuardInterval1_128 = 6, + GuardIntervalAuto = 7 + }; + + enum Hierarchy { + HierarchyNone = 0, + Hierarchy1 = 1, + Hierarchy2 = 2, + Hierarchy4 = 3, + HierarchyAuto = 4 + }; + + void readTransponder(QDataStream &stream); + bool fromString(const QString &string); + QString toString() const; + bool corresponds(const DvbTransponder &transponder) const; + + Bandwidth bandwidth : 8; + Modulation modulation : 8; + FecRate fecRateHigh : 8; // high priority stream + FecRate fecRateLow : 8; // low priority stream + TransmissionMode transmissionMode : 8; + GuardInterval guardInterval : 8; + Hierarchy hierarchy : 8; + int streamId; // called as PLP at the DVB-T2 standard specs + int frequency; // Hz +}; + class AtscTransponder : public DvbTransponderBase { public: @@ -207,6 +278,84 @@ int frequency; // Hz }; +class IsdbTTransponder : public DvbTransponderBase +{ +public: + enum Bandwidth { + Bandwidth6MHz = 0, + Bandwidth7MHz = 1, + Bandwidth8MHz = 2, + }; + + enum Modulation { + Qpsk = 0, + Dqpsk = 1, + Qam16 = 2, + Qam64 = 3, + ModulationAuto = 4 + }; + + enum TransmissionMode { + TransmissionMode2k = 0, + TransmissionMode4k = 1, + TransmissionMode8k = 2, + TransmissionModeAuto = 3, + }; + + enum GuardInterval { + GuardInterval1_4 = 0, + GuardInterval1_8 = 1, + GuardInterval1_16 = 2, + GuardInterval1_32 = 3, + GuardIntervalAuto = 4 + }; + + enum Interleaving { + I_0 = 0, + I_1 = 1, + I_2 = 2, + I_4 = 4, + I_8 = 8, + I_16 = 16, /* Only on SB */ + I_AUTO = 3 + }; + + enum PartialReception { + PR_disabled = 0, + PR_enabled = 1, + PR_AUTO = 2 + }; + + enum SoundBroadcasting { + SB_disabled = 0, + SB_enabled = 1, + SB_AUTO = 2 + }; + + void readTransponder(QDataStream &stream); + bool fromString(const QString &string); + QString toString() const; + bool corresponds(const DvbTransponder &transponder) const; + + Bandwidth bandwidth : 8; + TransmissionMode transmissionMode : 8; + GuardInterval guardInterval : 8; + PartialReception partialReception : 2; + SoundBroadcasting soundBroadcasting : 2; + int subChannelId; + int sbSegmentCount; + int sbSegmentIdx; + + /* Per-Layer parameters */ + bool layerEnabled[3]; + FecRate fecRate[3]; + Modulation modulation[3]; + int segmentCount[3]; + Interleaving interleaving[3]; + + int frequency; // Hz +}; + class DvbTransponder { public: @@ -228,11 +377,18 @@ return data.transmissionType; } + void setTransmissionType(const DvbTransponderBase::TransmissionType type) + { + data.transmissionType = type; + } + bool isValid() const { return (data.transmissionType != DvbTransponderBase::Invalid); } + int frequency(); + static DvbTransponder fromString(const QString &string); // linuxtv scan file format QString toString() const; // linuxtv scan file format @@ -284,18 +440,29 @@ return DvbTransponderBase::DvbT; } + DvbTransponderBase::TransmissionType transmissionTypeFor(const DvbT2Transponder *) const + { + return DvbTransponderBase::DvbT2; + } + DvbTransponderBase::TransmissionType transmissionTypeFor(const AtscTransponder *) const { return DvbTransponderBase::Atsc; } + DvbTransponderBase::TransmissionType transmissionTypeFor(const IsdbTTransponder *) const + { + return DvbTransponderBase::IsdbT; + } union { DvbTransponderBase::TransmissionType transmissionType : 8; DvbCTransponder dvbCTransponder; DvbSTransponder dvbSTransponder; DvbS2Transponder dvbS2Transponder; DvbTTransponder dvbTTransponder; + DvbT2Transponder dvbT2Transponder; AtscTransponder atscTransponder; + IsdbTTransponder isdbTTransponder; } data; }; diff -Nru kaffeine-1.3.1+git20151128/src/ensurenopendingoperation.cpp kaffeine-2.0.4+git20160916/src/ensurenopendingoperation.cpp --- kaffeine-1.3.1+git20151128/src/ensurenopendingoperation.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/ensurenopendingoperation.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,11 +18,15 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "ensurenopendingoperation.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif -#include "log.h" +#include "ensurenopendingoperation.h" void EnsureNoPendingOperation::printFatalErrorMessage() { - Log("EnsureNoPendingOperation::printFatalErrorMessage: illegal recursive call"); + qWarning("Illegal recursive call"); } diff -Nru kaffeine-1.3.1+git20151128/src/kaffeine.appdata.xml kaffeine-2.0.4+git20160916/src/kaffeine.appdata.xml --- kaffeine-1.3.1+git20151128/src/kaffeine.appdata.xml 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/kaffeine.appdata.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,109 +0,0 @@ - - - kaffeine.desktop - CC0-1.0 - GPL-2.0+ - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Kaffeine - Кафеин - Kaffeine - Кафеин - Kaffeine - Kaffeine - Kaffeine - xxKaffeinexx - Multimedia Player - Multimedijalni plejer - Reproductor multimèdia - Reproductor multimèdia - Přehrávač multimédií - Multimedieafspiller - Multimediawiedergabe - Αναπαραγωγός μουσικής - Multimedia Player - Reproductor multimedia - Multimediasoitin - Lecteur multimédia - Reprodutor de son e vídeo - Pemutar Multimedia - Lettore multimediale - 멀티미디어 재생기 - Multimediaspeler - Odtwarzacz multimedialny - Leitor Multimédia - Reprodutor Multimídia - Multimediálny prehrávač - Predstavnostni predvajalnik - Мултимедијски плејер - Multimedijski plejer - Мултимедијски плејер - Multimedijski plejer - Multimediaspelare - Програвач мультимедійних файлів - xxMultimedia Playerxx - -

- Kaffeine is a media player. What makes it different from the others is its excellent support of digital TV (DVB). - Kaffeine has user-friendly interface, so that even first time users can start immediately playing their movies: - from DVD (including DVD menus, titles, chapters, etc.), VCD, or a file. -

-

Kaffeine je media player. Ono što ga razlikuje od drugih je odličnu podrška digitalne TV (DVB). Kaffeine ima user-friendly sučelje, tako da čak i novi korisnici mogu odmah početi da igraju svoje filmove: od DVD (uključujući DVD izbornike, naslova, poglavlja, itd), VCD, ili datoteke.

-

El Kaffeine és un reproductor de suports. El que el fa diferent dels altres és el seu excel·lent suport per a la televisió digital (DVB). El Kaffeine té una interfície fàcil d'usar, de manera que fins i tot els usuaris principiants poden començar immediatament a reproduir les seves pel·lícules: des d'un DVD (incloent-hi els menús del DVD, títols, capítols, etc.), VCD o un fitxer.

-

El Kaffeine és un reproductor de suports. El que el fa diferent dels altres és el seu excel·lent suport per a la televisió digital (DVB). El Kaffeine té una interfície fàcil d'usar, de manera que fins i tot els usuaris principiants poden començar immediatament a reproduir les seues pel·lícules: des d'un DVD (incloent-hi els menús del DVD, títols, capítols, etc.), VCD o un fitxer.

-

Kaffeine er en medieafspiller. Det der gør den anderledes end andre afspillere er dens glimrende understøttelse af digitalt tv (DVB). Kaffeine har en nem brugerflade, så selv helt nye brugere straks kan begynde at afspille deres film fra dvd (inklusiv dvd-menuer, titler, kapitler osv.), VCD eller en fil.

-

Το Kaffeine είναι ένας αναπαραγωγός μουσικής. Αυτό που το κάνει διαφορετικό από άλλους είναι η εξαιρετική υποστήριξη για ψηφιακή τηλεόραση (DVB) που διαθέτει. Το Kaffeine έχει φιλικό περιβάλλον χρήσης, έτσι ώστε ακόμη και οι χρήστες που το δοκιμάζουν για πρώτη φορά μπορούν να ξεκινήσουν αμέσως να προβάλλουν ταινίες: από DVD (με DVD μενού, τίτλους, κεφάλαια, κτλ.), VCD ή από αρχείο.

-

Kaffeine is a media player. What makes it different from the others is its excellent support of digital TV (DVB). Kaffeine has user-friendly interface, so that even first time users can start immediately playing their movies: from DVD (including DVD menus, titles, chapters, etc.), VCD, or a file.

-

Kaffeine es un reproductor multimedia. Lo que lo hace distinto del resto es su excelente implementación de TV digital (DVB). Kaffeine tiene una interfaz de usuario amigable, por lo que incluso los usuarios que lo usan por primera vez pueden comenzar a reproducir sus películas de forma inmediata, ya se trate de un DVD (incluyendo menús de DVD, títulos, capítulos, etc), de un VCD o de un archivo.

-

Kaffeine on mediasoitin. Erilaisen siitä tekee sen erinomainen digi-TV-tuki (DVB). Kaffeinen käyttöliittymä on niin käyttäjäyställinen, että ensikertalainenkin käyttäjä osaa välittömästi toistaa sillä videoita DVD:ltä (Kaffeine hallitsee myös DVD:n valikot, otsikot, luvut jne.), VCD:ltä tai tiedostosta.

-

Kaffeine est un lecteur de média. Il se distingue des autres par son excellente prise en charge de la télévision numérique (DVB, aussi appelée TNT). Kaffeine a une interface conviviale, de sorte que même les novices peuvent lire leurs films immédiatement : à partir d'un DVD (incluant les menus, titres, chapitres, etc.), d'un VCD, ou d'un fichier.

-

Kaffeine é un reprodutor de son e vídeo que se distingue doutros reprodutores pola súa excelente compatibilidade coa televisión dixital (DVB). A interface de Kaffeine é fácil de usar, de xeito que mesmo os usuarios novos poden comezar a reproducir filmes inmediatamente desde DVD (incluíndo menús de DVD, títulos, capítulos, etc.), VCD ou un ficheiro.

-

Kaffeine adalah sebuah pemutar media. Apa yang membuatnya berbeda dari yang lainnya adalah dukungan baik pada TV digital (DVB). Kaffeine memiliki antarmuka yang mudah, jadi pengguna pertama pun dapat memulai dengan seketika memutar bioskop mereka: dari DVD (termasuk menu-menu DVD, judul, bab, dll), VCD, atau sebuah berkas file.

-

Kaffeine è un lettore multimediale. Ciò che lo rende diverso dagli altri è il suo eccellente supporto della TV digitale (DVB). Kaffeine ha un'interfaccia amichevole, perciò anche i nuovi utenti saranno in grado di riprodurre subito i loro film: da DVD (inclusi i menu dei DVD, titoli, capitoli, ecc.), VCD o un file.

-

Kaffeine은 미디어 재생기입니다. 다른 미디어 재생기와 다른 점은 강력한 디지털 TV(DVB) 지원입니다. Kaffeine은 첫 사용자라도 DVD(DVD 메뉴, 타이틀, 챕터 지원), VCD, 파일에 저장된 동영상을 쉽게 재생할 수 있습니다.

-

Kaffeine is een mediaspeler. Wat het anders maakt ten opzichte van de anderen is zijn uitmuntende ondersteuning van digitale TV (DVB). Kaffeine heeft een gebruikersvriendelijk interface, zodat zelfs gebruikers de eerste keer onmiddellijk kunnen beginnen met het afspelen van hun films: van dvd's (inclusief dvd-menu's, titels, hoofdstukken, etc.), vcd of een bestand.

-

Kaffeine jest odtwarzaczem multimedialny. Od reszty odróżnia go doskonała obsługa telewizji cyfrowej (DVB). Kaffeine posiada interfejs przyjazny użytkownikowi, tak że nawet początkujący użytkownicy mogą od razu zacząć odtwarzać swoje film: z DVD (uwzględniając w tym DVD z menu, tytułami, rozdziałami, itp.), VCD lub pliku.

-

O Kaffeine é um leitor de conteúdos multimédia. O que o torna diferente dos outros é o seu suporte excelente para TV digital (DVB). O Kaffeine tem uma interface de utilizador amigável, para que mesmos os utilizadores iniciais comecem logo a ver os seus filmes: desde os DVD's (incluindo os menus, títulos, capítulos, etc.) aos VCD's e ficheiros individuais.

-

Kaffeine é um reprodutor de mídias. O que o torna diferente dos outros é o seu excelente suporte para TV digital (DVB). O Kaffeine tem uma interface amigável, para que até mesmo os usuários iniciantes possam rapidamente assistir a seus filmes, em DVDs (incluindo os menus, títulos, capítulos, etc.) VCDs e arquivos individuais.

-

Kaffeine prehrávač médií. Čo ho odlišuje od iných prehrávačov médií, je výborná podpora digitálnej TV (DVB). Kaffeine má priateľské rozhranie, takže aj úplne noví používatelia môžu hneď začať prehrávať svoje filmy: z DVD (vrátane DVD ponuky, titulov, kapitol atď.), VCD alebo súbor.

-

Kaffeine je predstavnostni predvajalnik. Od drugih se razlikuje po odlični podpori za digitalno televizijo (DVB). Kaffeine ima uporabniku prijazen vmesnik, ki poenostavi predvajanje filmov iz DVD-jev (vključno z meniji in poglavji), VCD-jev ali datotek .

-

Кафеин је медија плејер. Од осталих плејера издваја се изврсном подршком за дигиталну телевизију (ДВБ). Поседује предусретљиво сучеље, тако да и нови корисници могу одмах да пусте своје филмове: са ДВД‑а (укључујући ДВД меније, наслове, поглавља, итд), ВЦД‑а, или из фајла.

-

Kaffeine je medija plejer. Od ostalih plejera izdvaja se izvrsnom podrškom za digitalnu televiziju (DVB). Poseduje predusretljivo sučelje, tako da i novi korisnici mogu odmah da puste svoje filmove: sa DVD‑a (uključujući DVD menije, naslove, poglavlja, itd), VCD‑a, ili iz fajla.

-

Кафеин је медија плејер. Од осталих плејера издваја се изврсном подршком за дигиталну телевизију (ДВБ). Поседује предусретљиво сучеље, тако да и нови корисници могу одмах да пусте своје филмове: са ДВД‑а (укључујући ДВД меније, наслове, поглавља, итд), ВЦД‑а, или из фајла.

-

Kaffeine je medija plejer. Od ostalih plejera izdvaja se izvrsnom podrškom za digitalnu televiziju (DVB). Poseduje predusretljivo sučelje, tako da i novi korisnici mogu odmah da puste svoje filmove: sa DVD‑a (uključujući DVD menije, naslove, poglavlja, itd), VCD‑a, ili iz fajla.

-

Kaffeine är en mediaspelare. Vad som skiljer den från övriga är dess utmärkta stöd för digital-tv (DVB). Kaffeine har ett användarvänligt gränssnitt, så att även förstagångsanvändare kan omedelbart börja spela sina filmer: från dvd (inklusive dvd-menyer, titlar, kapitel, etc.), vcd, eller en fil.

-

Kaffeine — мультимедійний програвач. Від інших програвачів його відрізняє чудова підтримка цифрового телебачення (DVB). У Kaffeine передбачено зручний для користувачів інтерфейс: насолодитися фільмами у ньому зможуть навіть початківці. Можна переглянути будь-що: від DVD (з використанням меню DVD, субтитрів, частин тощо) до VCD або окремого файла.

-

xxKaffeine is a media player. What makes it different from the others is its excellent support of digital TV (DVB). Kaffeine has user-friendly interface, so that even first time users can start immediately playing their movies: from DVD (including DVD menus, titles, chapters, etc.), VCD, or a file.xx

-
- http://kaffeine.kde.org - https://bugs.kde.org/enter_bug.cgi?format=guided&product=kaffeine - - - http://kde.org/images/screenshots/kaffeine.png - - - KDE - - kaffeine - -
diff -Nru kaffeine-1.3.1+git20151128/src/kaffeine.desktop kaffeine-2.0.4+git20160916/src/kaffeine.desktop --- kaffeine-1.3.1+git20151128/src/kaffeine.desktop 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/kaffeine.desktop 1970-01-01 00:00:00.000000000 +0000 @@ -1,136 +0,0 @@ -[Desktop Entry] -Name=Kaffeine -Name[ast]=Kaffeine -Name[bg]=Kaffeine -Name[bs]=Kaffeine -Name[ca]=Kaffeine -Name[ca@valencia]=Kaffeine -Name[cs]=Kaffeine -Name[csb]=Kaffeine -Name[da]=Kaffeine -Name[de]=Kaffeine -Name[el]=Kaffeine -Name[en_GB]=Kaffeine -Name[eo]=Kaffeine -Name[es]=Kaffeine -Name[et]=Kaffeine -Name[eu]=Kaffeine -Name[fa]=کافئین -Name[fi]=Kaffeine -Name[fr]=Kaffeine -Name[ga]=Kaffeine -Name[gl]=Kaffeine -Name[hne]=कैफीन -Name[hr]=Kaffeine -Name[hu]=Kaffeine -Name[id]=Kaffeine -Name[is]=Kaffeine -Name[it]=Kaffeine -Name[ja]=Kaffeine -Name[km]=Kaffeine -Name[ko]=Kaffeine -Name[ku]=Kaffeine -Name[lt]=Kaffeine -Name[lv]=Kaffeine -Name[mai]=Kaffeine -Name[mr]=केफ्फेन -Name[nb]=Kaffeine -Name[nds]=Kaffeine -Name[ne]=क्याफिन -Name[nl]=Kaffeine -Name[nn]=Kaffeine -Name[pa]=ਕੈਫ਼ੀਨ -Name[pl]=Kaffeine -Name[pt]=Kaffeine -Name[pt_BR]=Kaffeine -Name[ro]=Kaffeine -Name[ru]=Kaffeine -Name[sk]=Kaffeine -Name[sl]=Kaffeine -Name[sq]=Kaffeine -Name[sr]=Кафеин -Name[sr@ijekavian]=Кафеин -Name[sr@ijekavianlatin]=Kaffeine -Name[sr@latin]=Kaffeine -Name[sv]=Kaffeine -Name[tg]=Kaffeine -Name[th]=แคฟเฟอีน-K -Name[tr]=Kaffeine -Name[ug]=Kaffeine -Name[uk]=Kaffeine -Name[x-test]=xxKaffeinexx -Name[zh_CN]=Kaffeine -Name[zh_TW]=Kaffeine -Exec=kaffeine %U -GenericName=Media Player -GenericName[bg]=Медия плеър -GenericName[bs]=Izvođač medija -GenericName[ca]=Reproductor multimèdia -GenericName[ca@valencia]=Reproductor multimèdia -GenericName[cs]=Přehrávač médií -GenericName[csb]=Mùltimedialny grôcz -GenericName[da]=Medieafspiller -GenericName[de]=Medienwiedergabe -GenericName[el]=Αναπαραγωγέας πολυμέσων -GenericName[en_GB]=Media Player -GenericName[eo]=Medioludilo -GenericName[es]=Reproductor de medios -GenericName[et]=Meediafailide mängija -GenericName[eu]=Multimedia-erreproduzitzailea -GenericName[fa]=پخش کننده‌ی رسانه -GenericName[fi]=Mediasoitin -GenericName[fr]=Lecteur multimédia -GenericName[ga]=Seinnteoir Meán -GenericName[gl]=Reprodutor multimedia -GenericName[hi]=मीडिया-प्लेयर -GenericName[hne]=मीडिया-प्लेयर -GenericName[hr]=Svirač medija -GenericName[hu]=Médialejátszó -GenericName[id]=Pemutar Media -GenericName[is]=Margmiðlunarspilari -GenericName[it]=Lettore multimediale -GenericName[ja]=メディアプレーヤー -GenericName[km]=កម្មវិធី​ចាក់​មេឌៀ -GenericName[ko]=미디어 재생기 -GenericName[ku]=Lêdarê Medya -GenericName[lt]=Media grotuvas -GenericName[lv]=Mediju atskaņotājs -GenericName[mai]=मीडिया-प्लेयर -GenericName[mr]=मीडिया प्लेयर -GenericName[nb]=Mediespiller -GenericName[nds]=Medienafspeler -GenericName[ne]=मिडिया प्लेयर -GenericName[nl]=Mediaspeler -GenericName[nn]=Mediespelar -GenericName[oc]=Media Player -GenericName[pa]=ਮੀਡਿਆ ਪਲੇਅਰ -GenericName[pl]=Odtwarzacz multimedialny -GenericName[pt]=Leitor Multimédia -GenericName[pt_BR]=Reprodutor de mídia -GenericName[ro]=Redare multimedia -GenericName[ru]=Медиаплеер -GenericName[sk]=Mediálny prehrávač -GenericName[sl]=Predstavnostni predvajalnik -GenericName[sq]=Luaj Media -GenericName[sr]=Медија плејер -GenericName[sr@ijekavian]=Медија плејер -GenericName[sr@ijekavianlatin]=Medija plejer -GenericName[sr@latin]=Medija plejer -GenericName[sv]=Mediaspelare -GenericName[tg]=Навозишгари Медиа -GenericName[th]=เครื่องเล่นสื่อ -GenericName[tr]=Ortam Oynatıcı -GenericName[ug]=ۋاسىتە قويغۇ -GenericName[uk]=Програвач мультимедіа -GenericName[x-test]=xxMedia Playerxx -GenericName[zh_CN]=媒体播放器 -GenericName[zh_TW]=媒體播放器 -Categories=Qt;KDE;AudioVideo;Player; -Icon=kaffeine -MimeType=application/ogg;application/ram;application/vnd.rn-realmedia;application/x-quicktime-media-link;application/x-shorten;application/xspf+xml;audio/ac3;audio/basic;audio/flac;audio/mp4;audio/mpeg;audio/ogg;audio/vnd.rn-realaudio;audio/x-aiff;audio/x-it;audio/x-m4b;audio/x-matroska;audio/x-mod;audio/x-mpegurl;audio/x-ms-asx;audio/x-ms-wma;audio/x-musepack;audio/x-s3m;audio/x-scpls;audio/x-stm;audio/x-tta;audio/x-voc;audio/x-wav;audio/x-wavpack;audio/x-xm;video/dv;video/mp2t;video/mp4;video/mpeg;video/ogg;video/quicktime;video/vnd.rn-realvideo;video/x-anim;video/x-flic;video/x-flv;video/x-matroska;video/x-mng;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-ogm+ogg; -Terminal=false -Type=Application -X-KDE-HasTempFileOption=true -#Change back to Kaffeine/index.html when docbooks will be available -X-DocPath=http://userbase.kde.org/Kaffeine -X-Desktop-File-Install-Version=0.15 diff -Nru kaffeine-1.3.1+git20151128/src/kaffeine.qrc kaffeine-2.0.4+git20160916/src/kaffeine.qrc --- kaffeine-1.3.1+git20151128/src/kaffeine.qrc 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/kaffeine.qrc 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,146 @@ + + + ../icons/sc-actions-arrow-left.svg + + + ../icons/sc-actions-arrow-right.svg + + + ../icons/sc-actions-configure.svg + + + ../icons/sc-actions-dialog-cancel.svg + + + ../icons/sc-actions-dialog-ok-apply.svg + + + ../icons/sc-actions-document-open-folder.svg + + + ../icons/sc-actions-document-save.svg + + + ../icons/sc-actions-edit-clear-list.svg + + + ../icons/sc-actions-edit-delete.svg + + + ../icons/sc-actions-edit-find.svg + + + ../icons/sc-actions-edit-rename.svg + + + ../icons/sc-actions-edit-undo.svg + + + ../icons/sc-actions-format-justify-center.svg + + + ../icons/sc-actions-go-jump.svg + + + ../icons/sc-actions-list-add.svg + + + ../icons/sc-actions-media-playback-pause.svg + + + ../icons/sc-actions-media-playback-start.svg + + + ../icons/sc-actions-media-playback-stop.svg + + + ../icons/sc-actions-media-record.svg + + + ../icons/sc-actions-media-skip-backward.svg + + + ../icons/sc-actions-media-skip-forward.svg + + + ../icons/sc-actions-page-zoom.svg + + + ../icons/sc-actions-player-time.svg + + + ../icons/sc-actions-text-speak.svg + + + ../icons/sc-actions-view-fullscreen.svg + + + ../icons/sc-actions-view-list-details.svg + + + ../icons/sc-actions-view-media-playlist.svg + + + ../icons/sc-actions-view-pim-calendar.svg + + + ../icons/sc-actions-view-refresh.svg + + + ../icons/sc-actions-view-restore.svg + + + ../icons/sc-apps-kaffeine.svg + + + ../icons/sc-devices-audio-card.svg + + + ../icons/sc-devices-media-optical-audio.svg + + + ../icons/sc-devices-media-optical.svg + + + ../icons/sc-devices-media-optical-video.svg + + + ../icons/sc-devices-video-television.svg + + + ../icons/sc-mimetypes-application-x-subrip.svg + + + ../icons/sc-mimetypes-text-html.svg + + + ../icons/sc-mimetypes-video-x-generic.svg + + + ../icons/sc-places-start-here-kde.svg + + + ../icons/sc-status-audio-volume-high.svg + + + ../icons/sc-status-audio-volume-low.svg + + + ../icons/sc-status-audio-volume-medium.svg + + + ../icons/sc-status-audio-volume-muted.svg + + + ../icons/sc-status-dialog-error.svg + + + ../icons/sc-status-dialog-information.svg + + + ../icons/sc-actions-audio-radio-encrypted.svg + + + ../icons/sc-actions-video-television-encrypted.svg + + diff -Nru kaffeine-1.3.1+git20151128/src/log.cpp kaffeine-2.0.4+git20160916/src/log.cpp --- kaffeine-1.3.1+git20151128/src/log.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/log.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,130 +0,0 @@ -/* - * log.cpp - * - * Copyright (C) 2011 Christoph Pfister - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include "log.h" - -#include -#include -#include -#include - -class LogPrivate -{ -public: - LogPrivate() : position(0) - { - buffer.reserve(8176); - } - - ~LogPrivate() - { - } - - void begin(const char *message) - { - mutex.lock(); - - if (buffer.size() > (8176 - 1024)) { - buffer.remove(0, buffer.indexOf(QLatin1Char('\n'), 1023) + 1); - } - - position = buffer.size(); - buffer.append(QTime::currentTime().toString(Qt::ISODate)); - buffer.append(QLatin1Char(' ')); - buffer.append(QLatin1String(message)); - } - - void append(qint64 value) - { - buffer.append(QLatin1Char(' ')); - buffer.append(QString::number(value)); - } - - void append(quint64 value) - { - buffer.append(QLatin1Char(' ')); - buffer.append(QString::number(value)); - } - - void append(const QString &string) - { - buffer.append(QLatin1String(" \"")); - buffer.append(string); - buffer.append(QLatin1Char('"')); - } - - void end() - { - buffer.append(QLatin1Char('\n')); - fprintf(stderr, "%s", QTextCodec::codecForLocale()->fromUnicode( - buffer.constData() + position, buffer.size() - position).constData()); - mutex.unlock(); - } - - QMutex mutex; - QString buffer; - int position; -}; - -QString Log::getLog() -{ - if (data != NULL) { - QMutexLocker locker(&data->mutex); - return data->buffer; - } - - return QString(); -} - -void Log::begin(const char *message) -{ - if (data == NULL) { - LogPrivate *newData = new LogPrivate(); - - if (!data.testAndSetOrdered(NULL, newData)) { - // another thread won the battle - delete newData; - } - } - - data->begin(message); -} - -void Log::append(qint64 value) -{ - data->append(value); -} - -void Log::append(quint64 value) -{ - data->append(value); -} - -void Log::append(const QString &string) -{ - data->append(string); -} - -void Log::end() -{ - data->end(); -} - -QBasicAtomicPointer Log::data = Q_BASIC_ATOMIC_INITIALIZER(0); diff -Nru kaffeine-1.3.1+git20151128/src/log.h kaffeine-2.0.4+git20160916/src/log.h --- kaffeine-1.3.1+git20151128/src/log.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/log.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,85 +0,0 @@ -/* - * log.h - * - * Copyright (C) 2011 Christoph Pfister - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef LOG_H -#define LOG_H - -#include - -class LogPrivate; - -class Log -{ -public: - Log(const char *message) - { - begin(message); - } - - ~Log() - { - end(); - } - - static QString getLog(); - - Log &operator<<(qint32 value) - { - append(qint64(value)); - return (*this); - } - - Log &operator<<(quint32 value) - { - append(quint64(value)); - return (*this); - } - - Log &operator<<(qint64 value) - { - append(value); - return (*this); - } - - Log &operator<<(quint64 value) - { - append(value); - return (*this); - } - - Log &operator<<(const QString &string) - { - append(string); - return (*this); - } - -private: - Q_DISABLE_COPY(Log) - - static void begin(const char *message); - static void append(qint64 value); - static void append(quint64 value); - static void append(const QString &string); - static void end(); - - static QBasicAtomicPointer data; -}; - -#endif /* LOG_H */ diff -Nru kaffeine-1.3.1+git20151128/src/main.cpp kaffeine-2.0.4+git20160916/src/main.cpp --- kaffeine-1.3.1+git20151128/src/main.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/main.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,32 +18,156 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif + #include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include + +extern "C" { + #include +} + +#include "configurationdialog.h" #include "mainwindow.h" #include "sqlhelper.h" -class KaffeineApplication : public KUniqueApplication +void verboseMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg) +{ + static const QString typeStr[] = { + "[Debug ] ", + "[Warning ] ", + "[Critical] ", + "[Fatal ] ", + "[Info ] "}; + static const QString color[] { + "\x1b[0;32m", // Debug + "\x1b[0;33m", // Warning + "\x1b[0;31m", // Critical + "\x1b[1;31m", // Fatal + "\x1b[0;37m"}; // Info + QString contextString, file = context.file; + QByteArray localMsg = msg.toLocal8Bit(); + QString log; + + file.remove(QRegExp(".*/kaffeine/")); + + if (context.line && QLoggingCategory::defaultCategory()->isEnabled(QtDebugMsg)) + contextString = QStringLiteral("%1#%2: %3: ") + .arg(file) + .arg(context.line) + .arg(context.function); + + QString timeStr(QDateTime::currentDateTime().toString("dd-MM-yy HH:mm:ss.zzz ")); + + log.append(timeStr); + if (type <= 4) + log.append(typeStr[type]); + + if (isatty(STDERR_FILENO) && (type <= 4)) + std::cerr << color[type].toLocal8Bit().constData(); + std::cerr << log.toLocal8Bit().constData(); + + if (!contextString.isEmpty()) { + if (isatty(STDERR_FILENO)) + std::cerr << "\x1b[0;33m"; + std::cerr << contextString.toLocal8Bit().constData(); + } + + if (isatty(STDERR_FILENO)) + std::cerr << "\x1b[0;37m"; + + std::cerr << localMsg.constData() << "\n"; + + if (type == QtFatalMsg) + abort(); + + log.append(localMsg.constData()); + log.append("\n"); + + Log newLog; + newLog.storeLog(log); +} + +class KaffeineApplication : public QApplication { public: - KaffeineApplication(); + KaffeineApplication(int &argc, char **argv); ~KaffeineApplication(); + void startWindow(); -private: - int newInstance(); + QCommandLineParser parser; + KAboutData aboutData; +private: QPointer mainWindow; }; -KaffeineApplication::KaffeineApplication() +KaffeineApplication::KaffeineApplication(int &argc, char **argv) : QApplication(argc, argv), + aboutData( + // Program name + QStringLiteral("kaffeine"), + i18n("Kaffeine"), + // Version + QStringLiteral(KAFFEINE_VERSION), + // Short description + i18n("A media player by KDE with digital TV support."), + // License + KAboutLicense::GPL_V2, + // Copyright statement + i18n("(C) 2007-2016 The Kaffeine Authors"), + // Optional additional text + "", + // Home page + QStringLiteral("http://kaffeine.kde.org") + ) { + QString path = QStandardPaths::writableLocation(QStandardPaths::DataLocation); + + QDir dir(path); + if (!dir.exists()) + dir.mkpath(path); + if (!SqlHelper::createInstance()) { return; } - mainWindow = new MainWindow(); + aboutData.addAuthor("Mauro Carvalho Chehab", + i18n("KF5 port"), + QStringLiteral("mchehab@infradead.org")); + aboutData.addAuthor("Christoph Pfister", "", + QStringLiteral("christophpfister@gmail.com")); + aboutData.addAuthor("Lasse Lindqvist", + i18n("Maintainer (for KDE4)"), + QStringLiteral("lasse.k.lindqvist@gmail.com")); + aboutData.addAuthor("Christophe Thommeret"); + aboutData.addAuthor(QString::fromUtf8("Jürgen Kofler")); + aboutData.setTranslator(i18nc("NAME OF TRANSLATORS", "Your names"), + i18nc("EMAIL OF TRANSLATORS", "Your emails")); + + KAboutData::setApplicationData(aboutData); + + mainWindow = new MainWindow(&aboutData, &parser); +} + +void KaffeineApplication::startWindow() +{ + mainWindow->run(); } KaffeineApplication::~KaffeineApplication() @@ -52,29 +176,31 @@ delete mainWindow; // QPointer; needed if kaffeine is closed via QCoreApplication::quit() } -int KaffeineApplication::newInstance() +int main(int argc, char *argv[]) { - if (mainWindow != NULL) { - mainWindow->parseArgs(); - } + qInstallMessageHandler(verboseMessageHandler); - return KUniqueApplication::newInstance(); -} + KLocalizedString::setApplicationDomain("kaffeine"); -int main(int argc, char *argv[]) -{ - KAboutData aboutData("kaffeine", 0, ki18n("Kaffeine"), "1.3-git", - ki18n("A media player for KDE with digital TV support."), - KAboutData::License_GPL_V2, ki18n("(C) 2007-2011 The Kaffeine Authors"), - KLocalizedString(), "http://kaffeine.kde.org"); - - aboutData.addAuthor(ki18n("Christoph Pfister"), ki18n("Maintainer"), - "christophpfister@gmail.com"); - - KCmdLineArgs::init(argc, argv, &aboutData); - KCmdLineArgs::addCmdLineOptions(MainWindow::cmdLineOptions()); - KCmdLineArgs::addTempFileOption(); + KaffeineApplication app(argc, argv); + + KAboutData *aboutData = &app.aboutData; + + app.setApplicationName("kaffeine"); + app.setOrganizationDomain("kde.org"); + app.setWindowIcon(QIcon::fromTheme(QLatin1String("kaffeine"), QIcon(":kaffeine"))); + + app.parser.addVersionOption(); + app.parser.addHelpOption(); + aboutData->setupCommandLine(&app.parser); + + app.parser.process(app); + + aboutData->processCommandLine(&app.parser); + + KDBusService service(KDBusService::Unique); + + app.startWindow(); - KaffeineApplication app; return app.exec(); } diff -Nru kaffeine-1.3.1+git20151128/src/mainwindow.cpp kaffeine-2.0.4+git20160916/src/mainwindow.cpp --- kaffeine-1.3.1+git20151128/src/mainwindow.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/mainwindow.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,28 +18,38 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "mainwindow.h" - -#include -#include -#include +#include #include -#include -#include -#include +#include +#include #include -#include -#include +#include #include +#include #include -#include -#include -#include -#include "dvb/dvbtab.h" -#include "playlist/playlisttab.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #include "configuration.h" #include "configurationdialog.h" #include "dbusobjects.h" +#include "dvb/dvbtab.h" +#include "mainwindow.h" +#include "playlist/playlisttab.h" class StackedLayout : public QStackedLayout { @@ -68,7 +78,7 @@ private: void activate() { } - QAbstractButton *addShortcut(const QString &name, const KIcon &icon, QWidget *parent); + QAbstractButton *addShortcut(const QString &name, const QIcon &icon, QWidget *parent); }; StartTab::StartTab(MainWindow *mainWindow) @@ -82,35 +92,40 @@ gridLayout->setSpacing(15); QAbstractButton *button = - addShortcut(i18n("&1 Play File"), KIcon(QLatin1String("video-x-generic")), this); + addShortcut(i18n("&1 Play File"), QIcon::fromTheme(QLatin1String("video-x-generic"), QIcon(":video-x-generic")), this); button->setShortcut(Qt::Key_1); + button->setWhatsThis(i18n("Open dialog to play a file")); connect(button, SIGNAL(clicked()), mainWindow, SLOT(open())); gridLayout->addWidget(button, 0, 0); - button = addShortcut(i18n("&2 Play Audio CD"), KIcon(QLatin1String("media-optical-audio")), this); + button = addShortcut(i18n("&2 Play Audio CD"), QIcon::fromTheme(QLatin1String("media-optical-audio"), QIcon(":media-optical-audio")), this); button->setShortcut(Qt::Key_2); + button->setWhatsThis(i18n("Start playing an audio CD. It assumes that the CD is already there at the CD driver")); connect(button, SIGNAL(clicked()), mainWindow, SLOT(openAudioCd())); gridLayout->addWidget(button, 0, 1); - button = addShortcut(i18n("&3 Play Video CD"), KIcon(QLatin1String("media-optical")), this); + button = addShortcut(i18n("&3 Play Video CD"), QIcon::fromTheme(QLatin1String("media-optical"), QIcon(":media-optical")), this); button->setShortcut(Qt::Key_3); + button->setWhatsThis(i18n("Start playing a Video CD. It assumes that the CD is already there at the CD driver")); connect(button, SIGNAL(clicked()), mainWindow, SLOT(openVideoCd())); gridLayout->addWidget(button, 0, 2); - button = addShortcut(i18n("&4 Play DVD"), KIcon(QLatin1String("media-optical")), this); + button = addShortcut(i18n("&4 Play DVD"), QIcon::fromTheme(QLatin1String("media-optical"), QIcon(":media-optical")), this); button->setShortcut(Qt::Key_4); + button->setWhatsThis(i18n("Start playing a DVD. It assumes that the DVD is already there at the DVD driver")); connect(button, SIGNAL(clicked()), mainWindow, SLOT(openDvd())); gridLayout->addWidget(button, 1, 0); #if HAVE_DVB == 1 - button = addShortcut(i18n("&5 Digital TV"), KIcon(QLatin1String("video-television")), this); + button = addShortcut(i18n("&5 Digital TV"), QIcon::fromTheme(QLatin1String("video-television"), QIcon(":video-television")), this); button->setShortcut(Qt::Key_5); + button->setWhatsThis("Open the Digital TV live view window. If the TV channels are already scanned, it will start playing the last channel"); connect(button, SIGNAL(clicked()), mainWindow, SLOT(playDvb())); gridLayout->addWidget(button, 1, 1); #endif /* HAVE_DVB == 1 */ } -QAbstractButton *StartTab::addShortcut(const QString &name, const KIcon &icon, QWidget *parent) +QAbstractButton *StartTab::addShortcut(const QString &name, const QIcon &icon, QWidget *parent) { // QPushButton has visual problems with big icons QToolButton *button = new QToolButton(parent); @@ -145,44 +160,53 @@ layout->setMargin(0); } -MainWindow::MainWindow() +void MainWindow::run() { + // Allow the user to enable or disable debugging + // We handle this before the other parameters, as it may affect some + // early debug messages + QLoggingCategory::defaultCategory()->setEnabled(QtDebugMsg, parser->isSet("debug")); + + readSettings(); + + setAttribute(Qt::WA_DeleteOnClose, true); + // menu structure - KMenuBar *menuBar = KMainWindow::menuBar(); + QMenuBar *menuBar = QMainWindow::menuBar(); collection = new KActionCollection(this); - KMenu *menu = new KMenu(i18n("&File"), this); + QMenu *menu = new QMenu(i18n("&File"), this); menuBar->addMenu(menu); - KAction *action = KStandardAction::open(this, SLOT(open()), collection); + QAction *action = KStandardAction::open(this, SLOT(open()), collection); menu->addAction(collection->addAction(QLatin1String("file_open"), action)); - action = new KAction(KIcon(QLatin1String("text-html")), + action = new QAction(QIcon::fromTheme(QLatin1String("text-html"), QIcon(":text-html")), i18nc("@action:inmenu", "Open URL..."), collection); action->setShortcut(Qt::CTRL | Qt::Key_U); connect(action, SIGNAL(triggered(bool)), this, SLOT(openUrl())); menu->addAction(collection->addAction(QLatin1String("file_open_url"), action)); - actionOpenRecent = KStandardAction::openRecent(this, SLOT(openUrl(KUrl)), collection); - actionOpenRecent->loadEntries(KGlobal::config()->group("Recent Files")); + actionOpenRecent = KStandardAction::openRecent(this, SLOT(openUrl(QUrl)), collection); + actionOpenRecent->loadEntries(KSharedConfig::openConfig()->group("Recent Files")); menu->addAction(collection->addAction(QLatin1String("file_open_recent"), actionOpenRecent)); menu->addSeparator(); - action = new KAction(KIcon(QLatin1String("media-optical-audio")), i18n("Play Audio CD"), collection); + action = new QAction(QIcon::fromTheme(QLatin1String("media-optical-audio"), QIcon(":media-optical-audio")), i18n("Play Audio CD"), collection); connect(action, SIGNAL(triggered(bool)), this, SLOT(openAudioCd())); menu->addAction(collection->addAction(QLatin1String("file_play_audiocd"), action)); - action = new KAction(KIcon(QLatin1String("media-optical")), i18n("Play Video CD"), collection); + action = new QAction(QIcon::fromTheme(QLatin1String("media-optical"), QIcon(":media-optical")), i18n("Play Video CD"), collection); connect(action, SIGNAL(triggered(bool)), this, SLOT(openVideoCd())); menu->addAction(collection->addAction(QLatin1String("file_play_videocd"), action)); - action = new KAction(KIcon(QLatin1String("media-optical")), i18n("Play DVD"), collection); + action = new QAction(QIcon::fromTheme(QLatin1String("media-optical"), QIcon(":media-optical")), i18n("Play DVD"), collection); connect(action, SIGNAL(triggered(bool)), this, SLOT(openDvd())); menu->addAction(collection->addAction(QLatin1String("file_play_dvd"), action)); - action = new KAction(KIcon(QLatin1String("media-optical")), i18nc("@action:inmenu", "Play DVD Folder"), + action = new QAction(QIcon::fromTheme(QLatin1String("media-optical"), QIcon(":media-optical")), i18nc("@action:inmenu", "Play DVD Folder"), collection); connect(action, SIGNAL(triggered()), this, SLOT(playDvdFolder())); menu->addAction(collection->addAction(QLatin1String("file_play_dvd_folder"), action)); @@ -192,18 +216,18 @@ action = KStandardAction::quit(this, SLOT(close()), collection); menu->addAction(collection->addAction(QLatin1String("file_quit"), action)); - KMenu *playerMenu = new KMenu(i18n("&Playback"), this); + QMenu *playerMenu = new QMenu(i18n("&Playback"), this); menuBar->addMenu(playerMenu); - KMenu *playlistMenu = new KMenu(i18nc("menu bar", "Play&list"), this); + QMenu *playlistMenu = new QMenu(i18nc("menu bar", "Play&list"), this); menuBar->addMenu(playlistMenu); #if HAVE_DVB == 1 - KMenu *dvbMenu = new KMenu(i18n("&Television"), this); + QMenu *dvbMenu = new QMenu(i18n("&Television"), this); menuBar->addMenu(dvbMenu); #endif /* HAVE_DVB == 1 */ - menu = new KMenu(i18n("&Settings"), this); + menu = new QMenu(i18n("&Settings"), this); menuBar->addMenu(menu); action = KStandardAction::keyBindings(this, SLOT(configureKeys()), collection); @@ -213,29 +237,33 @@ menu->addAction(collection->addAction(QLatin1String("settings_kaffeine"), action)); menuBar->addSeparator(); - menuBar->addMenu(helpMenu()); + KHelpMenu *helpMenu = new KHelpMenu(this, *aboutData); + menuBar->addMenu(helpMenu->menu()); // navigation bar - keep in sync with TabIndex enum! - navigationBar = new KToolBar(QLatin1String("navigation_bar"), this, Qt::LeftToolBarArea); + navigationBar = new QToolBar(QLatin1String("navigation_bar")); + this->addToolBar(Qt::LeftToolBarArea, navigationBar); connect(navigationBar, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(navigationBarOrientationChanged(Qt::Orientation))); - tabBar = new KTabBar(navigationBar); - tabBar->addTab(KIcon(QLatin1String("start-here-kde")), i18n("Start")); - tabBar->addTab(KIcon(QLatin1String("kaffeine")), i18n("Playback")); - tabBar->addTab(KIcon(QLatin1String("view-media-playlist")), i18n("Playlist")); + tabBar = new QTabBar(navigationBar); + tabBar->addTab(QIcon::fromTheme(QLatin1String("start-here-kde"), QIcon(":start-here-kde")), i18n("Start")); + tabBar->addTab(QIcon::fromTheme(QLatin1String("kaffeine"), QIcon(":kaffeine")), i18n("Playback")); + tabBar->addTab(QIcon::fromTheme(QLatin1String("view-media-playlist"), QIcon(":view-media-playlist")), i18n("Playlist")); #if HAVE_DVB == 1 - tabBar->addTab(KIcon(QLatin1String("video-television")), i18n("Television")); + tabBar->addTab(QIcon::fromTheme(QLatin1String("video-television"), QIcon(":video-television")), i18n("Television")); #endif /* HAVE_DVB == 1 */ - tabBar->setShape(KTabBar::RoundedWest); + tabBar->setShape(QTabBar::RoundedWest); tabBar->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); connect(tabBar, SIGNAL(currentChanged(int)), this, SLOT(activateTab(int))); navigationBar->addWidget(tabBar); // control bar - controlBar = new KToolBar(QLatin1String("control_bar"), this, Qt::BottomToolBarArea); + controlBar = new QToolBar(QLatin1String("control_bar")); + this->addToolBar(Qt::BottomToolBarArea, controlBar); + controlBar->setToolButtonStyle(Qt::ToolButtonIconOnly); autoHideControlBar = false; @@ -252,7 +280,7 @@ mediaWidget = new MediaWidget(playerMenu, controlBar, collection, widget); connect(mediaWidget, SIGNAL(displayModeChanged()), this, SLOT(displayModeChanged())); - connect(mediaWidget, SIGNAL(changeCaption(QString)), this, SLOT(setCaption(QString))); + connect(mediaWidget, SIGNAL(changeCaption(QString)), this, SLOT(setWindowTitle(QString))); connect(mediaWidget, SIGNAL(resizeToVideo(MediaWidget::ResizeFactor)), this, SLOT(resizeToVideo(MediaWidget::ResizeFactor))); @@ -287,25 +315,53 @@ // restore custom key bindings collection->readSettings(); - // let KMainWindow save / restore its settings - setAutoSaveSettings(); + // Tray menu + menu = new QMenu(i18n("Kaffeine"), this); + + action = new QAction(i18n("Play &File"), this); + connect(action, SIGNAL(triggered(bool)), this, SLOT(open())); + menu->addAction(action); + + action = new QAction(i18n("Play &Audio CD"), this); + connect(action, SIGNAL(triggered(bool)), this, SLOT(openAudioCd())); + menu->addAction(action); + + action = new QAction(i18n("Play &Video CD"), this); + connect(action, SIGNAL(triggered(bool)), this, SLOT(openVideoCd())); + menu->addAction(action); + + action = new QAction(i18n("Play &DVD"), this); + connect(action, SIGNAL(triggered(bool)), this, SLOT(openDvd())); + menu->addAction(action); + +#if HAVE_DVB == 1 + action = new QAction(i18n("&Watch Digital TV"), this); + connect(action, SIGNAL(triggered(bool)), this, SLOT(playDvb())); + menu->addAction(action); +#endif + action = new QAction(i18n("&Quit"), this); + connect(action, SIGNAL(triggered(bool)), this, SLOT(close())); + menu->addAction(action); + + // Tray Icon and its menu + QMenu *trayMenu = new QMenu(this); + trayIcon = new QSystemTrayIcon(this); + trayIcon->setContextMenu(trayMenu); + trayIcon->setIcon(QIcon::fromTheme(QLatin1String("kaffeine"), QIcon(":kaffeine"))); + trayIcon->setToolTip(i18n("Kaffeine")); + trayIcon->setContextMenu(menu); // make sure that the bars are visible (fullscreen -> quit -> restore -> hidden) menuBar->show(); navigationBar->show(); controlBar->show(); + trayIcon->show(); // workaround setAutoSaveSettings() which doesn't accept "IconOnly" as initial state controlBar->setToolButtonStyle(Qt::ToolButtonIconOnly); - KStatusNotifierItem *trayIcon = new KStatusNotifierItem(this); - trayIcon->setIconByName(QLatin1String("kaffeine")); - trayIcon->setStatus(KStatusNotifierItem::Active); - trayIcon->setToolTipIconByName(QLatin1String("kaffeine")); - trayIcon->setToolTipTitle(i18n("Kaffeine")); - // initialize random number generator - qsrand(QTime().msecsTo(QTime::currentTime())); + qsrand(QTime(0, 0, 0).msecsTo(QTime::currentTime())); // initialize dbus objects QDBusConnection::sessionBus().registerObject(QLatin1String("/"), new MprisRootObject(this), @@ -335,7 +391,7 @@ mediaWidget->setDisplayMode(MediaWidget::FullScreenMode); break; case Configuration::StartupRememberLastSetting: { - int value = KGlobal::config()->group("MainWindow").readEntry("DisplayMode", 0); + int value = KSharedConfig::openConfig()->group("MainWindow").readEntry("DisplayMode", 0); switch (value) { case 0: @@ -352,11 +408,13 @@ break; } } + + parseArgs(); } MainWindow::~MainWindow() { - actionOpenRecent->saveEntries(KGlobal::config()->group("Recent Files")); + actionOpenRecent->saveEntries(KSharedConfig::openConfig()->group("Recent Files")); if (!temporaryUrls.isEmpty()) { KIO::del(temporaryUrls); @@ -371,112 +429,140 @@ case MediaWidget::FullScreenReturnToMinimalMode: value = 2; break; } - KGlobal::config()->group("MainWindow").writeEntry("DisplayMode", value); + KSharedConfig::openConfig()->group("MainWindow").writeEntry("DisplayMode", value); } -KCmdLineOptions MainWindow::cmdLineOptions() +void MainWindow::close() { - KCmdLineOptions options; - options.add("f"); - options.add("fullscreen", ki18n("Start in full screen mode")); - options.add("audiocd", ki18n("Play Audio CD")); - options.add("videocd", ki18n("Play Video CD")); - options.add("dvd", ki18n("Play DVD")); - options.add("tv ", ki18nc("command line option", "(deprecated option)")); - options.add("channel ", ki18nc("command line option", "Play TV channel")); - options.add("lastchannel", ki18nc("command line option", "Play last tuned TV channel")); - options.add("dumpdvb", ki18nc("command line option", "Dump dvb data (debug option)")); - options.add("+[file]", ki18n("Files or URLs to play")); - return options; + bool ok = true; + +#if HAVE_DVB == 1 + dvbTab->mayCloseApplication(&ok, mediaWidget); +#endif /* HAVE_DVB == 1 */ + + if (ok) + QCoreApplication::exit(0); } -void MainWindow::parseArgs() +void MainWindow::readSettings() +{ + QSettings settings(QCoreApplication::organizationName(), QCoreApplication::applicationName()); + const QByteArray geometry = settings.value("geometry", QByteArray()).toByteArray(); + if (geometry.isEmpty()) { + const QRect availableGeometry = QApplication::desktop()->availableGeometry(this); + resize(availableGeometry.width() / 3, availableGeometry.height() / 2); + move((availableGeometry.width() - width()) / 2, + (availableGeometry.height() - height()) / 2); + } else { + restoreGeometry(geometry); + } +} + +void MainWindow::writeSettings() { - KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); + QSettings settings(QCoreApplication::organizationName(), QCoreApplication::applicationName()); + settings.setValue("geometry", saveGeometry()); +} + +MainWindow::MainWindow(KAboutData *aboutData, QCommandLineParser *parser) +{ + this->aboutData = aboutData; + this->parser = parser; + + parser->addOption(QCommandLineOption(QStringList() << QLatin1String("d") << QLatin1String("debug"), i18n("Enable debug messages"))); + parser->addOption(QCommandLineOption(QStringList() << QLatin1String("tempfile"), i18n("The files/URLs opened by the application will be deleted after use"))); + parser->addOption(QCommandLineOption(QStringList() << QLatin1String("f") << QLatin1String("fullscreen"), i18n("Start in full screen mode"))); + parser->addOption(QCommandLineOption(QStringList() << QLatin1String("audiocd"), i18n("Play Audio CD"))); + parser->addOption(QCommandLineOption(QStringList() << QLatin1String("videocd"), i18n("Play Video CD"))); + parser->addOption(QCommandLineOption(QStringList() << QLatin1String("dvd"), i18n("Play DVD"))); + +#if HAVE_DVB == 1 + parser->addOption(QCommandLineOption(QStringList() << QLatin1String("dumpdvb"), i18nc("command line option", "Dump dvb data (debug option)"))); + parser->addOption(QCommandLineOption(QStringList() << QLatin1String("channel"), i18nc("command line option", "Play TV channel"), QLatin1String("name / number"))); + parser->addOption(QCommandLineOption(QStringList() << QLatin1String("tv"), i18nc("command line option", "(deprecated option)"), QLatin1String("channel"))); + parser->addOption(QCommandLineOption(QStringList() << QLatin1String("lastchannel"), i18nc("command line option", "Play last tuned TV channel"))); +#endif + parser->addPositionalArgument(QLatin1String("[file]"), i18n("Files or URLs to play")); +} - if (args->isSet("fullscreen")) { +void MainWindow::parseArgs() +{ + if (parser->isSet("fullscreen")) { mediaWidget->setDisplayMode(MediaWidget::FullScreenMode); } - if (args->isSet("audiocd")) { - if (args->count() > 0) { - openAudioCd(args->arg(0)); + if (parser->isSet("audiocd")) { + if (parser->positionalArguments().count() > 0) { + openAudioCd(parser->positionalArguments().first()); } else { openAudioCd(); } - - args->clear(); return; } - if (args->isSet("videocd")) { - if (args->count() > 0) { - openVideoCd(args->arg(0)); + if (parser->isSet("videocd")) { + if (parser->positionalArguments().count() > 0) { + openVideoCd(parser->positionalArguments().first()); } else { openVideoCd(); } - - args->clear(); return; } - if (args->isSet("dvd")) { - if (args->count() > 0) { - openDvd(args->arg(0)); + if (parser->isSet("dvd")) { + if (parser->positionalArguments().count() > 0) { + openDvd(parser->positionalArguments().first()); } else { openDvd(); } - - args->clear(); return; } #if HAVE_DVB == 1 - if (args->isSet("dumpdvb")) { + QString channel; + + if (parser->isSet("dumpdvb")) { dvbTab->enableDvbDump(); } - QString channel = args->getOption("channel"); + channel = parser->value("channel"); if (!channel.isEmpty()) { activateTab(DvbTabId); dvbTab->playChannel(channel); - args->clear(); return; } - channel = args->getOption("tv"); - + channel = parser->value("tv"); if (!channel.isEmpty()) { activateTab(DvbTabId); dvbTab->playChannel(channel); - args->clear(); return; } - if (args->isSet("lastchannel")) { + if (parser->isSet("lastchannel")) { activateTab(DvbTabId); dvbTab->playLastChannel(); - args->clear(); + return; } #endif /* HAVE_DVB == 1 */ - if (args->count() > 0) { - QList urls; + if (parser->positionalArguments().count() > 0) { + QList urls; - for (int i = 0; i < args->count(); ++i) { - KUrl url = args->url(i); + for (int i = 0; i < parser->positionalArguments().count(); ++i) { + QUrl url = QUrl::fromUserInput(parser->positionalArguments().at(i)); if (url.isValid()) { urls.append(url); } } - if (args->isTempFileSet()) { + if (parser->isSet("tempfile")) { temporaryUrls.append(urls); } @@ -487,8 +573,6 @@ openUrl(urls.at(0)); } } - - args->clear(); } void MainWindow::displayModeChanged() @@ -533,8 +617,12 @@ void MainWindow::open() { - QList urls = KFileDialog::getOpenUrls(KUrl(), MediaWidget::extensionFilter(), this); + if (isMinimized()) + showNormal(); + QList urls = QFileDialog::getOpenFileUrls(this, i18nc("@title:window", "Open files"), QUrl(), MediaWidget::extensionFilter()); + +// trayIcon->showMessage("Open", "Opening file(s)"); if (urls.size() >= 2) { activateTab(PlaylistTabId); playlistTab->appendToVisiblePlaylist(urls, true); @@ -545,47 +633,56 @@ void MainWindow::openUrl() { - openUrl(KInputDialog::getText(i18nc("@title:window", "Open URL"), i18n("Enter a URL:"))); + openUrl(QInputDialog::getText(this, i18nc("@title:window", "Open URL"), i18n("Enter a URL:"))); } -void MainWindow::openUrl(const KUrl &url) +void MainWindow::openUrl(const QUrl &url) { if (!url.isValid()) { return; } // we need to copy "url" because addUrl() may invalidate it - KUrl copy(url); + QUrl copy(url); actionOpenRecent->addUrl(copy); // moves the url to the top of the list if (currentTabIndex != PlaylistTabId) { activateTab(PlayerTabId); } - playlistTab->appendToVisiblePlaylist(QList() << copy, true); + playlistTab->appendToVisiblePlaylist(QList() << copy, true); } void MainWindow::openAudioCd(const QString &device) { + if (isMinimized()) + showNormal(); + activateTab(PlayerTabId); mediaWidget->playAudioCd(device); } void MainWindow::openVideoCd(const QString &device) { + if (isMinimized()) + showNormal(); + activateTab(PlayerTabId); mediaWidget->playVideoCd(device); } void MainWindow::openDvd(const QString &device) { + if (isMinimized()) + showNormal(); + activateTab(PlayerTabId); mediaWidget->playDvd(device); } void MainWindow::playDvdFolder() { - QString folder = KFileDialog::getExistingDirectory(KUrl(), this); + QString folder = QFileDialog::getExistingDirectory(this, QString()); if (!folder.isEmpty()) { openDvd(folder); @@ -594,6 +691,9 @@ void MainWindow::playDvb() { + if (isMinimized()) + showNormal(); + activateTab(DvbTabId); dvbTab->playLastChannel(); } @@ -631,7 +731,7 @@ void MainWindow::configureKaffeine() { - KDialog *dialog = new ConfigurationDialog(this); + QDialog *dialog = new ConfigurationDialog(this); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setModal(true); dialog->show(); @@ -640,9 +740,9 @@ void MainWindow::navigationBarOrientationChanged(Qt::Orientation orientation) { if (orientation == Qt::Horizontal) { - tabBar->setShape(KTabBar::RoundedNorth); + tabBar->setShape(QTabBar::RoundedNorth); } else { - tabBar->setShape(KTabBar::RoundedWest); + tabBar->setShape(QTabBar::RoundedWest); } } @@ -670,13 +770,14 @@ if (!ok) { event->ignore(); } else { - KMainWindow::closeEvent(event); + writeSettings(); + QMainWindow::closeEvent(event); } } bool MainWindow::event(QEvent *event) { - bool retVal = KMainWindow::event(event); // this has to be done before calling setVisible() + bool retVal = QMainWindow::event(event); // this has to be done before calling setVisible() // FIXME we depend on QEvent::HoverMove (instead of QEvent::MouseMove) // but the latter depends on mouse tracking being enabled on this widget @@ -718,7 +819,7 @@ mediaWidget->setDisplayMode(MediaWidget::NormalMode); } - KMainWindow::keyPressEvent(event); + QMainWindow::keyPressEvent(event); } void MainWindow::leaveEvent(QEvent *event) @@ -727,5 +828,5 @@ controlBar->setVisible(false); } - KMainWindow::leaveEvent(event); + QMainWindow::leaveEvent(event); } diff -Nru kaffeine-1.3.1+git20151128/src/mainwindow.h kaffeine-2.0.4+git20160916/src/mainwindow.h --- kaffeine-1.3.1+git20151128/src/mainwindow.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/mainwindow.h 2016-09-17 17:18:56.000000000 +0000 @@ -22,26 +22,28 @@ #define MAINWINDOW_H #include +#include #include "mediawidget.h" +class KAboutData; +class QSystemTrayIcon; class QStackedLayout; class KCmdLineOptions; class KRecentFilesAction; -class KTabBar; +class QTabBar; class DvbTab; class PlayerTab; class PlaylistTab; class TabBase; -class MainWindow : public KMainWindow +class MainWindow : public QMainWindow { Q_OBJECT public: - MainWindow(); + MainWindow(KAboutData *aboutData, QCommandLineParser *parser); ~MainWindow(); - static KCmdLineOptions cmdLineOptions(); - void parseArgs(); + void run(); signals: void mayCloseApplication(bool *ok, QWidget *parent); @@ -49,8 +51,9 @@ private slots: void displayModeChanged(); void open(); + void close(); void openUrl(); - void openUrl(const KUrl &url); + void openUrl(const QUrl &url); void openAudioCd(const QString &device = QString()); void openVideoCd(const QString &device = QString()); void openDvd(const QString &device = QString()); @@ -71,19 +74,27 @@ DvbTabId = 3 }; + void readSettings(); + void writeSettings(); void closeEvent(QCloseEvent *event); bool event(QEvent *event); void keyPressEvent(QKeyEvent *event); void leaveEvent(QEvent *event); + KAboutData *aboutData; + QCommandLineParser *parser; + void parseArgs(); + + QSystemTrayIcon *trayIcon; + KActionCollection *collection; KRecentFilesAction *actionOpenRecent; - KToolBar *navigationBar; - KTabBar *tabBar; - KToolBar *controlBar; + QToolBar *navigationBar; + QTabBar *tabBar; + QToolBar *controlBar; bool autoHideControlBar; QTimer *cursorHideTimer; - QList temporaryUrls; + QList temporaryUrls; MediaWidget *mediaWidget; QStackedLayout *stackedLayout; diff -Nru kaffeine-1.3.1+git20151128/src/mediawidget.cpp kaffeine-2.0.4+git20160916/src/mediawidget.cpp --- kaffeine-1.3.1+git20151128/src/mediawidget.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/mediawidget.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,33 +18,41 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "mediawidget.h" -#include "mediawidget_p.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include +#include +#include +#include #include +#include #include #include +#include #include +#include +#include #include #include #include #include +#include #include #include #include -#include -#include -#include -#include -#include -#include #include + #include "backend-vlc/vlcmediawidget.h" #include "configuration.h" -#include "log.h" +#include "mediawidget.h" +#include "mediawidget_p.h" #include "osdwidget.h" -MediaWidget::MediaWidget(KMenu *menu_, KToolBar *toolBar, KActionCollection *collection, +MediaWidget::MediaWidget(QMenu *menu_, QToolBar *toolBar, KActionCollection *collection, QWidget *parent) : QWidget(parent), menu(menu_), displayMode(NormalMode), automaticResize(ResizeOff), blockBackendUpdates(false), muted(false), screenSaverSuspended(false), showElapsedTime(true) @@ -73,48 +81,56 @@ layout->addWidget(backend); osdWidget = new OsdWidget(this); - actionPrevious = new KAction(KIcon(QLatin1String("media-skip-backward")), i18n("Previous"), this); - actionPrevious->setShortcut(KShortcut(Qt::Key_PageUp, Qt::Key_MediaPrevious)); + actionPrevious = new QWidgetAction(this); + actionPrevious->setIcon(QIcon::fromTheme(QLatin1String("media-skip-backward"), QIcon(":media-skip-backward"))); + actionPrevious->setText(i18n("Previous")); + actionPrevious->setShortcut(QKeySequence(Qt::Key_PageUp, Qt::Key_MediaPrevious)); connect(actionPrevious, SIGNAL(triggered()), this, SLOT(previous())); toolBar->addAction(collection->addAction(QLatin1String("controls_previous"), actionPrevious)); menu->addAction(actionPrevious); - actionPlayPause = new KAction(this); - actionPlayPause->setShortcut(KShortcut(Qt::Key_Space, Qt::Key_MediaPlay)); + actionPlayPause = new QWidgetAction(this); + actionPlayPause->setShortcut(QKeySequence(Qt::Key_Space, Qt::Key_MediaPlay)); textPlay = i18n("Play"); textPause = i18n("Pause"); - iconPlay = KIcon(QLatin1String("media-playback-start")); - iconPause = KIcon(QLatin1String("media-playback-pause")); + iconPlay = QIcon::fromTheme(QLatin1String("media-playback-start"), QIcon(":media-playback-start")); + iconPause = QIcon::fromTheme(QLatin1String("media-playback-pause"), QIcon(":media-playback-pause")); connect(actionPlayPause, SIGNAL(triggered(bool)), this, SLOT(pausedChanged(bool))); toolBar->addAction(collection->addAction(QLatin1String("controls_play_pause"), actionPlayPause)); menu->addAction(actionPlayPause); - actionStop = new KAction(KIcon(QLatin1String("media-playback-stop")), i18n("Stop"), this); - actionStop->setShortcut(KShortcut(Qt::Key_Backspace, Qt::Key_MediaStop)); + actionStop = new QWidgetAction(this); + actionStop->setIcon(QIcon::fromTheme(QLatin1String("media-playback-stop"), QIcon(":media-playback-stop"))); + actionStop->setText(i18n("Stop")); + actionStop->setShortcut(QKeySequence(Qt::Key_Backspace, Qt::Key_MediaStop)); connect(actionStop, SIGNAL(triggered()), this, SLOT(stop())); toolBar->addAction(collection->addAction(QLatin1String("controls_stop"), actionStop)); menu->addAction(actionStop); - actionNext = new KAction(KIcon(QLatin1String("media-skip-forward")), i18n("Next"), this); - actionNext->setShortcut(KShortcut(Qt::Key_PageDown, Qt::Key_MediaNext)); + actionNext = new QWidgetAction(this); + actionNext->setIcon(QIcon::fromTheme(QLatin1String("media-skip-forward"), QIcon(":media-skip-forward"))); + actionNext->setText(i18n("Next")); + actionNext->setShortcut(QKeySequence(Qt::Key_PageDown, Qt::Key_MediaNext)); connect(actionNext, SIGNAL(triggered()), this, SLOT(next())); toolBar->addAction(collection->addAction(QLatin1String("controls_next"), actionNext)); menu->addAction(actionNext); menu->addSeparator(); - fullScreenAction = new KAction(KIcon(QLatin1String("view-fullscreen")), - i18nc("'Playback' menu", "Full Screen Mode"), this); + fullScreenAction = new QWidgetAction(this); + fullScreenAction->setIcon(QIcon::fromTheme(QLatin1String("view-fullscreen"), QIcon(":view-fullscreen"))); + fullScreenAction->setText(i18nc("'Playback' menu", "Full Screen Mode")); fullScreenAction->setShortcut(Qt::Key_F); connect(fullScreenAction, SIGNAL(triggered()), this, SLOT(toggleFullScreen())); menu->addAction(collection->addAction(QLatin1String("view_fullscreen"), fullScreenAction)); - minimalModeAction = new KAction(KIcon(QLatin1String("view-fullscreen")), - i18nc("'Playback' menu", "Minimal Mode"), this); + minimalModeAction = new QWidgetAction(this); + minimalModeAction->setIcon(QIcon::fromTheme(QLatin1String("view-fullscreen"), QIcon(":view-fullscreen"))); + minimalModeAction->setText(i18nc("'Playback' menu", "Minimal Mode")); minimalModeAction->setShortcut(Qt::Key_Period); connect(minimalModeAction, SIGNAL(triggered()), this, SLOT(toggleMinimalMode())); menu->addAction(collection->addAction(QLatin1String("view_minimal_mode"), minimalModeAction)); - audioStreamBox = new KComboBox(toolBar); + audioStreamBox = new QComboBox(toolBar); connect(audioStreamBox, SIGNAL(currentIndexChanged(int)), this, SLOT(currentAudioStreamChanged(int))); toolBar->addWidget(audioStreamBox); @@ -122,104 +138,133 @@ audioStreamModel = new QStringListModel(toolBar); audioStreamBox->setModel(audioStreamModel); - subtitleBox = new KComboBox(toolBar); + QMenu *subtitleMenu = new QMenu(i18nc("'Subtitle' menu", "Subtitle"), this); + subtitleBox = new QComboBox(this); + QWidgetAction *action = new QWidgetAction(this); + action->setDefaultWidget(subtitleBox); textSubtitlesOff = i18nc("subtitle selection entry", "off"); connect(subtitleBox, SIGNAL(currentIndexChanged(int)), this, SLOT(currentSubtitleChanged(int))); - toolBar->addWidget(subtitleBox); - subtitleModel = new QStringListModel(toolBar); subtitleBox->setModel(subtitleModel); - - KMenu *audioMenu = new KMenu(i18nc("'Playback' menu", "Audio"), this); - - KAction *action = new KAction(KIcon(QLatin1String("audio-volume-high")), - i18nc("'Audio' menu", "Increase Volume"), this); - action->setShortcut(KShortcut(Qt::Key_Plus, Qt::Key_VolumeUp)); + subtitleMenu->addAction(action); + menu->addMenu(subtitleMenu); + action = new QWidgetAction(this); + action->setText(i18nc("'Subtitle' menu", "Add subtitle file")); + action->setIcon(QIcon::fromTheme(QLatin1String("application-x-subrip"), QIcon(":application-x-subrip"))); + connect(action, &QWidgetAction::triggered, this, &MediaWidget::openSubtitle); + subtitleMenu->addAction(action); + + menu->addMenu(subtitleMenu); + + QMenu *audioMenu = new QMenu(i18nc("'Playback' menu", "Audio"), this); + action = new QWidgetAction(this); + action->setIcon(QIcon::fromTheme(QLatin1String("audio-card"), QIcon(":audio-card"))); + action->setText(i18nc("'Audio' menu", "Audio Device")); + + audioDevMenu = new QMenu(i18nc("'Playback' menu", "Audio Device"), audioMenu); + action = new QWidgetAction(this); + connect(audioDevMenu, &QMenu::aboutToShow, this, &MediaWidget::getAudioDevices); + audioMenu->addMenu(audioDevMenu); + + action = new QWidgetAction(this); + action->setIcon(QIcon::fromTheme(QLatin1String("audio-volume-high"), QIcon(":audio-volume-high"))); + action->setText(i18nc("'Audio' menu", "Increase Volume")); + action->setShortcut(QKeySequence(Qt::Key_Plus, Qt::Key_VolumeUp)); connect(action, SIGNAL(triggered()), this, SLOT(increaseVolume())); audioMenu->addAction(collection->addAction(QLatin1String("controls_increase_volume"), action)); - action = new KAction(KIcon(QLatin1String("audio-volume-low")), - i18nc("'Audio' menu", "Decrease Volume"), this); - action->setShortcut(KShortcut(Qt::Key_Minus, Qt::Key_VolumeDown)); + action = new QWidgetAction(this); + action->setIcon(QIcon::fromTheme(QLatin1String("audio-volume-low"), QIcon(":audio-volume-low"))); + action->setText(i18nc("'Audio' menu", "Decrease Volume")); + action->setShortcut(QKeySequence(Qt::Key_Minus, Qt::Key_VolumeDown)); connect(action, SIGNAL(triggered()), this, SLOT(decreaseVolume())); audioMenu->addAction(collection->addAction(QLatin1String("controls_decrease_volume"), action)); - muteAction = new KAction(i18nc("'Audio' menu", "Mute Volume"), this); - mutedIcon = KIcon(QLatin1String("audio-volume-muted")); - unmutedIcon = KIcon(QLatin1String("audio-volume-medium")); + muteAction = new QWidgetAction(this); + muteAction->setText(i18nc("'Audio' menu", "Mute Volume")); + mutedIcon = QIcon::fromTheme(QLatin1String("audio-volume-muted"), QIcon(":audio-volume-muted")); + unmutedIcon = QIcon::fromTheme(QLatin1String("audio-volume-medium"), QIcon(":audio-volume-medium")); muteAction->setIcon(unmutedIcon); - muteAction->setShortcut(KShortcut(Qt::Key_M, Qt::Key_VolumeMute)); + muteAction->setShortcut(QKeySequence(Qt::Key_M, Qt::Key_VolumeMute)); connect(muteAction, SIGNAL(triggered()), this, SLOT(mutedChanged())); toolBar->addAction(collection->addAction(QLatin1String("controls_mute_volume"), muteAction)); audioMenu->addAction(muteAction); menu->addMenu(audioMenu); - KMenu *videoMenu = new KMenu(i18nc("'Playback' menu", "Video"), this); + QMenu *videoMenu = new QMenu(i18nc("'Playback' menu", "Video"), this); menu->addMenu(videoMenu); menu->addSeparator(); - deinterlaceAction = new KAction(KIcon(QLatin1String("format-justify-center")), - i18nc("'Video' menu", "Deinterlace"), this); + deinterlaceAction = new QWidgetAction(this); + deinterlaceAction->setIcon(QIcon::fromTheme(QLatin1String("format-justify-center"), QIcon(":format-justify-center"))); + deinterlaceAction->setText(i18nc("'Video' menu", "Deinterlace")); deinterlaceAction->setCheckable(true); deinterlaceAction->setChecked( - KGlobal::config()->group("MediaObject").readEntry("Deinterlace", true)); + KSharedConfig::openConfig()->group("MediaObject").readEntry("Deinterlace", true)); deinterlaceAction->setShortcut(Qt::Key_I); connect(deinterlaceAction, SIGNAL(toggled(bool)), this, SLOT(deinterlacingChanged(bool))); backend->setDeinterlacing(deinterlaceAction->isChecked()); videoMenu->addAction(collection->addAction(QLatin1String("controls_deinterlace"), deinterlaceAction)); - KMenu *aspectMenu = new KMenu(i18nc("'Video' menu", "Aspect Ratio"), this); + QMenu *aspectMenu = new QMenu(i18nc("'Video' menu", "Aspect Ratio"), this); QActionGroup *aspectGroup = new QActionGroup(this); connect(aspectGroup, SIGNAL(triggered(QAction*)), this, SLOT(aspectRatioChanged(QAction*))); - action = new KAction(i18nc("'Aspect Ratio' menu", "Automatic"), aspectGroup); + action = new QWidgetAction(aspectGroup); + action->setText(i18nc("'Aspect Ratio' menu", "Automatic")); action->setCheckable(true); action->setChecked(true); action->setData(AspectRatioAuto); aspectMenu->addAction(collection->addAction(QLatin1String("controls_aspect_auto"), action)); - action = new KAction(i18nc("'Aspect Ratio' menu", "Fit to Window"), aspectGroup); + action = new QWidgetAction(aspectGroup); + action->setText(i18nc("'Aspect Ratio' menu", "Fit to Window")); action->setCheckable(true); action->setData(AspectRatioWidget); aspectMenu->addAction(collection->addAction(QLatin1String("controls_aspect_widget"), action)); - action = new KAction(i18nc("'Aspect Ratio' menu", "4:3"), aspectGroup); + action = new QWidgetAction(aspectGroup); + action->setText(i18nc("'Aspect Ratio' menu", "4:3")); action->setCheckable(true); action->setData(AspectRatio4_3); aspectMenu->addAction(collection->addAction(QLatin1String("controls_aspect_4_3"), action)); - action = new KAction(i18nc("'Aspect Ratio' menu", "16:9"), aspectGroup); + action = new QWidgetAction(aspectGroup); + action->setText(i18nc("'Aspect Ratio' menu", "16:9")); action->setCheckable(true); action->setData(AspectRatio16_9); aspectMenu->addAction(collection->addAction(QLatin1String("controls_aspect_16_9"), action)); videoMenu->addMenu(aspectMenu); - KMenu *autoResizeMenu = new KMenu(i18n("Automatic Resize"), this); + QMenu *autoResizeMenu = new QMenu(i18n("Automatic Resize"), this); QActionGroup *autoResizeGroup = new QActionGroup(this); // we need an event even if you select the currently selected item autoResizeGroup->setExclusive(false); connect(autoResizeGroup, SIGNAL(triggered(QAction*)), this, SLOT(autoResizeTriggered(QAction*))); - action = new KAction(i18nc("automatic resize", "Off"), autoResizeGroup); + action = new QWidgetAction(autoResizeGroup); + action->setText(i18nc("automatic resize", "Off")); action->setCheckable(true); action->setData(0); autoResizeMenu->addAction(collection->addAction(QLatin1String("controls_autoresize_off"), action)); - action = new KAction(i18nc("automatic resize", "Original Size"), autoResizeGroup); + action = new QWidgetAction(autoResizeGroup); + action->setText(i18nc("automatic resize", "Original Size")); action->setCheckable(true); action->setData(1); autoResizeMenu->addAction(collection->addAction(QLatin1String("controls_autoresize_original"), action)); - action = new KAction(i18nc("automatic resize", "Double Size"), autoResizeGroup); + action = new QWidgetAction(autoResizeGroup); + action->setText(i18nc("automatic resize", "Double Size")); action->setCheckable(true); action->setData(2); autoResizeMenu->addAction(collection->addAction(QLatin1String("controls_autoresize_double"), action)); int autoResizeFactor = - KGlobal::config()->group("MediaObject").readEntry("AutoResizeFactor", 0); + KSharedConfig::openConfig()->group("MediaObject").readEntry("AutoResizeFactor", 0); switch (autoResizeFactor) { case 1: @@ -238,26 +283,28 @@ videoMenu->addMenu(autoResizeMenu); - action = new KAction(i18n("Volume Slider"), this); + action = new QWidgetAction(this); + action->setText(i18n("Volume Slider")); volumeSlider = new QSlider(toolBar); volumeSlider->setFocusPolicy(Qt::NoFocus); volumeSlider->setOrientation(Qt::Horizontal); volumeSlider->setRange(0, 100); volumeSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); volumeSlider->setToolTip(action->text()); - volumeSlider->setValue(KGlobal::config()->group("MediaObject").readEntry("Volume", 100)); + volumeSlider->setValue(KSharedConfig::openConfig()->group("MediaObject").readEntry("Volume", 100)); connect(volumeSlider, SIGNAL(valueChanged(int)), this, SLOT(volumeChanged(int))); backend->setVolume(volumeSlider->value()); action->setDefaultWidget(volumeSlider); toolBar->addAction(collection->addAction(QLatin1String("controls_volume_slider"), action)); - jumpToPositionAction = new KAction(KIcon(QLatin1String("go-jump")), - i18nc("@action:inmenu", "Jump to Position..."), this); + jumpToPositionAction = new QWidgetAction(this); + jumpToPositionAction->setIcon(QIcon::fromTheme(QLatin1String("go-jump"), QIcon(":go-jump"))); + jumpToPositionAction->setText(i18nc("@action:inmenu", "Jump to Position...")); jumpToPositionAction->setShortcut(Qt::CTRL + Qt::Key_J); connect(jumpToPositionAction, SIGNAL(triggered()), this, SLOT(jumpToPosition())); menu->addAction(collection->addAction(QLatin1String("controls_jump_to_position"), jumpToPositionAction)); - navigationMenu = new KMenu(i18nc("playback menu", "Skip"), this); + navigationMenu = new QMenu(i18nc("playback menu", "Skip"), this); menu->addMenu(navigationMenu); menu->addSeparator(); @@ -268,37 +315,46 @@ connect(Configuration::instance(), SIGNAL(longSkipDurationChanged(int)), this, SLOT(longSkipDurationChanged(int))); - longSkipBackwardAction = new KAction(KIcon(QLatin1String("media-skip-backward")), - i18nc("submenu of 'Skip'", "Skip %1s Backward", longSkipDuration), this); + longSkipBackwardAction = new QWidgetAction(this); + longSkipBackwardAction->setIcon(QIcon::fromTheme(QLatin1String("media-skip-backward"), QIcon(":media-skip-backward"))); + // xgettext:no-c-format + longSkipBackwardAction->setText(i18nc("submenu of 'Skip'", "Skip %1s Backward", longSkipDuration)); longSkipBackwardAction->setShortcut(Qt::SHIFT + Qt::Key_Left); connect(longSkipBackwardAction, SIGNAL(triggered()), this, SLOT(longSkipBackward())); navigationMenu->addAction( collection->addAction(QLatin1String("controls_long_skip_backward"), longSkipBackwardAction)); - shortSkipBackwardAction = new KAction(KIcon(QLatin1String("media-skip-backward")), - i18nc("submenu of 'Skip'", "Skip %1s Backward", shortSkipDuration), this); + shortSkipBackwardAction = new QWidgetAction(this); + shortSkipBackwardAction->setIcon(QIcon::fromTheme(QLatin1String("media-skip-backward"), QIcon(":media-skip-backward"))); + // xgettext:no-c-format + shortSkipBackwardAction->setText(i18nc("submenu of 'Skip'", "Skip %1s Backward", shortSkipDuration)); shortSkipBackwardAction->setShortcut(Qt::Key_Left); connect(shortSkipBackwardAction, SIGNAL(triggered()), this, SLOT(shortSkipBackward())); navigationMenu->addAction( collection->addAction(QLatin1String("controls_skip_backward"), shortSkipBackwardAction)); - shortSkipForwardAction = new KAction(KIcon(QLatin1String("media-skip-forward")), - i18nc("submenu of 'Skip'", "Skip %1s Forward", shortSkipDuration), this); + shortSkipForwardAction = new QWidgetAction(this); + shortSkipForwardAction->setIcon(QIcon::fromTheme(QLatin1String("media-skip-forward"), QIcon(":media-skip-forward"))); + // xgettext:no-c-format + shortSkipForwardAction->setText(i18nc("submenu of 'Skip'", "Skip %1s Forward", shortSkipDuration)); shortSkipForwardAction->setShortcut(Qt::Key_Right); connect(shortSkipForwardAction, SIGNAL(triggered()), this, SLOT(shortSkipForward())); navigationMenu->addAction( collection->addAction(QLatin1String("controls_skip_forward"), shortSkipForwardAction)); - longSkipForwardAction = new KAction(KIcon(QLatin1String("media-skip-forward")), - i18nc("submenu of 'Skip'", "Skip %1s Forward", longSkipDuration), this); + longSkipForwardAction = new QWidgetAction(this); + longSkipForwardAction->setIcon(QIcon::fromTheme(QLatin1String("media-skip-forward"), QIcon(":media-skip-forward"))); + // xgettext:no-c-format + longSkipForwardAction->setText(i18nc("submenu of 'Skip'", "Skip %1s Forward", longSkipDuration)); longSkipForwardAction->setShortcut(Qt::SHIFT + Qt::Key_Right); connect(longSkipForwardAction, SIGNAL(triggered()), this, SLOT(longSkipForward())); navigationMenu->addAction( collection->addAction(QLatin1String("controls_long_skip_forward"), longSkipForwardAction)); - toolBar->addAction(KIcon(QLatin1String("player-time")), i18n("Seek Slider"))->setEnabled(false); + toolBar->addAction(QIcon::fromTheme(QLatin1String("player-time"), QIcon(":player-time")), i18n("Seek Slider"))->setEnabled(false); - action = new KAction(i18n("Seek Slider"), this); + action = new QWidgetAction(this); + action->setText(i18n("Seek Slider")); seekSlider = new SeekSlider(toolBar); seekSlider->setFocusPolicy(Qt::NoFocus); seekSlider->setOrientation(Qt::Horizontal); @@ -307,30 +363,32 @@ action->setDefaultWidget(seekSlider); toolBar->addAction(collection->addAction(QLatin1String("controls_position_slider"), action)); - menuAction = new KAction(KIcon(QLatin1String("media-optical-video")), - i18nc("dvd navigation", "DVD Menu"), this); + menuAction = new QWidgetAction(this); + menuAction->setIcon(QIcon::fromTheme(QLatin1String("media-optical-video"), QIcon(":media-optical-video"))); + menuAction->setText(i18nc("dvd navigation", "DVD Menu")); connect(menuAction, SIGNAL(triggered()), this, SLOT(toggleMenu())); menu->addAction(collection->addAction(QLatin1String("controls_toggle_menu"), menuAction)); - titleMenu = new KMenu(i18nc("dvd navigation", "Title"), this); + titleMenu = new QMenu(i18nc("dvd navigation", "Title"), this); titleGroup = new QActionGroup(this); connect(titleGroup, SIGNAL(triggered(QAction*)), this, SLOT(currentTitleChanged(QAction*))); menu->addMenu(titleMenu); - chapterMenu = new KMenu(i18nc("dvd navigation", "Chapter"), this); + chapterMenu = new QMenu(i18nc("dvd navigation", "Chapter"), this); chapterGroup = new QActionGroup(this); connect(chapterGroup, SIGNAL(triggered(QAction*)), this, SLOT(currentChapterChanged(QAction*))); menu->addMenu(chapterMenu); - angleMenu = new KMenu(i18nc("dvd navigation", "Angle"), this); + angleMenu = new QMenu(i18nc("dvd navigation", "Angle"), this); angleGroup = new QActionGroup(this); connect(angleGroup, SIGNAL(triggered(QAction*)), this, SLOT(currentAngleChanged(QAction*))); menu->addMenu(angleMenu); - action = new KAction(i18n("Switch between elapsed and remaining time display"), this); + action = new QWidgetAction(this); + action->setText(i18n("Switch between elapsed and remaining time display")); timeButton = new QPushButton(toolBar); timeButton->setFocusPolicy(Qt::NoFocus); timeButton->setToolTip(action->text()); @@ -341,12 +399,15 @@ QTimer *timer = new QTimer(this); timer->start(50000); connect(timer, SIGNAL(timeout()), this, SLOT(checkScreenSaver())); + + // Set the play/pause icons accordingly + playbackStatusChanged(); } MediaWidget::~MediaWidget() { - KGlobal::config()->group("MediaObject").writeEntry("Volume", volumeSlider->value()); - KGlobal::config()->group("MediaObject").writeEntry("Deinterlace", + KSharedConfig::openConfig()->group("MediaObject").writeEntry("Volume", volumeSlider->value()); + KSharedConfig::openConfig()->group("MediaObject").writeEntry("Deinterlace", deinterlaceAction->isChecked()); int autoResizeFactor = 0; @@ -363,25 +424,26 @@ break; } - KGlobal::config()->group("MediaObject").writeEntry("AutoResizeFactor", autoResizeFactor); + KSharedConfig::openConfig()->group("MediaObject").writeEntry("AutoResizeFactor", autoResizeFactor); } QString MediaWidget::extensionFilter() { return QLatin1String( + "Supported Media Files (" // generated from kaffeine.desktop's mime types - "*.669 *.aac *.ac3 *.aif *.aifc *.aiff *.anim1 *.anim2 *.anim3 *.anim4 *.anim5 " - "*.anim6 *.anim7 *.anim8 *.anim9 *.animj *.asf *.asx *.au *.avi *.bdm *.bdmv " - "*.clpi *.cpi *.divx *.dv *.f4a *.f4b *.f4v *.flac *.flc *.fli *.flv *.it *.m15 " - "*.m2t *.m2ts *.m3u *.m3u8 *.m4a *.m4b *.m4v *.med *.mka *.mkv *.mng *.mod *.moov " - "*.mov *.mp+ *.mp2 *.mp3 *.mp4 *.mpc *.mpe *.mpeg *.mpg *.mpga *.mpl *.mpls *.mpp " - "*.mtm *.mts *.nsv *.oga *.ogg *.ogm *.ogv *.ogx *.pls *.qt *.qtl *.qtvr *.ra " - "*.ram *.rax *.rm *.rmj *.rmm *.rms *.rmvb *.rmx *.rv *.rvx *.s3m *.shn *.snd " - "*.spx *.stm *.ts *.tta *.ult *.uni *.vlc *.vob *.voc *.wav *.wax *.wma *.wmv " - "*.wmx *.wv *.wvp *.wvx *.xm *.xspf " + "*.3ga *.3gp *.3gpp *.669 *.ac3 *.aif *.aiff *.anim1 *.anim2 *.anim3 *.anim4 " + "*.anim5 *.anim6 *.anim7 *.anim8 *.anim9 *.animj *.asf *.asx *.au *.avf *.avi " + "*.bdm *.bdmv *.clpi *.cpi *.divx *.dv *.f4a *.f4b *.f4v *.flac *.flc *.fli *.flv " + "*.it *.lrv *.m15 *.m2t *.m2ts *.m3u *.m3u8 *.m4a *.m4b *.m4v *.med *.mka *.mkv " + "*.mng *.mod *.moov *.mov *.mp+ *.mp2 *.mp3 *.mp4 *.mpc *.mpe *.mpeg *.mpg *.mpga " + "*.mpl *.mpls *.mpp *.mtm *.mts *.nsv *.oga *.ogg *.ogm *.ogv *.ogx *.opus *.pls " + "*.qt *.qtl *.qtvr *.ra *.ram *.rax *.rm *.rmj *.rmm *.rms *.rmvb *.rmx *.rp *.rv " + "*.rvx *.s3m *.shn *.snd *.spl *.stm *.swf *.ts *.tta *.ult *.uni *.vdr *.vlc " + "*.vob *.voc *.wav *.wax *.webm *.wma *.wmv *.wmx *.wv *.wvp *.wvx *.xm *.xspf " // manual entries - "*.kaffeine *.iso|") + i18nc("file filter", "Supported Media Files") + - QLatin1String("\n*|") + i18nc("file filter", "All Files"); + "*.kaffeine *.iso);;" + "All Files (*)"); } MediaWidget::DisplayMode MediaWidget::getDisplayMode() const @@ -397,12 +459,12 @@ switch (displayMode) { case NormalMode: case MinimalMode: - fullScreenAction->setIcon(KIcon(QLatin1String("view-fullscreen"))); + fullScreenAction->setIcon(QIcon::fromTheme(QLatin1String("view-fullscreen"), QIcon(":view-fullscreen"))); fullScreenAction->setText(i18nc("'Playback' menu", "Full Screen Mode")); break; case FullScreenMode: case FullScreenReturnToMinimalMode: - fullScreenAction->setIcon(KIcon(QLatin1String("view-restore"))); + fullScreenAction->setIcon(QIcon::fromTheme(QLatin1String("view-restore"), QIcon(":view-restore"))); fullScreenAction->setText(i18nc("'Playback' menu", "Exit Full Screen Mode")); break; @@ -412,11 +474,11 @@ case NormalMode: case FullScreenMode: case FullScreenReturnToMinimalMode: - minimalModeAction->setIcon(KIcon(QLatin1String("view-restore"))); + minimalModeAction->setIcon(QIcon::fromTheme(QLatin1String("view-restore"), QIcon(":view-restore"))); minimalModeAction->setText(i18nc("'Playback' menu", "Minimal Mode")); break; case MinimalMode: - minimalModeAction->setIcon(KIcon(QLatin1String("view-fullscreen"))); + minimalModeAction->setIcon(QIcon::fromTheme(QLatin1String("view-fullscreen"), QIcon(":view-fullscreen"))); minimalModeAction->setText(i18nc("'Playback' menu", "Exit Minimal Mode")); break; } @@ -447,7 +509,30 @@ } } -void MediaWidget::play(const KUrl &url, const KUrl &subtitleUrl) +void MediaWidget::openSubtitle() +{ + QUrl url = QFileDialog::getOpenFileName(this, i18nc("@title:window", "Open subtitle"),".", i18n("Subtitles (*.cdg *.idx *.srt " \ + "*.sub *.utf *.ass " \ + "*.ssa *.aqt " \ + "*.jss *.psb " \ + "*.rt *.smi *.txt " \ + "*.smil *.stl *.usf " \ + "*.dks *.pjs *.mpl2 *.mks " \ + "*.vtt *.ttml *.dfxp")); + + setSubtitle(url); +} + +void MediaWidget::setSubtitle(QUrl url) +{ + if (!url.isValid()) { + return; + } + + backend->setExternalSubtitle(url); +} + +void MediaWidget::play(const QUrl &url, const QUrl &subtitleUrl) { // FIXME mem-leak play(new MediaSourceUrl(url, subtitleUrl)); @@ -455,10 +540,10 @@ void MediaWidget::playAudioCd(const QString &device) { - KUrl devicePath; + QUrl devicePath; if (!device.isEmpty()) { - devicePath = KUrl::fromLocalFile(device); + devicePath = QUrl::fromLocalFile(device); } else { QList devices = Solid::Device::listFromQuery(QLatin1String("OpticalDisc.availableContent & 'Audio'")); @@ -467,7 +552,7 @@ Solid::Block *block = devices.first().as(); if (block != NULL) { - devicePath = KUrl::fromLocalFile(block->device()); + devicePath = QUrl::fromLocalFile(block->device()); } } } @@ -478,10 +563,10 @@ void MediaWidget::playVideoCd(const QString &device) { - KUrl devicePath; + QUrl devicePath; if (!device.isEmpty()) { - devicePath = KUrl::fromLocalFile(device); + devicePath = QUrl::fromLocalFile(device); } else { QList devices = Solid::Device::listFromQuery( QLatin1String("OpticalDisc.availableContent & 'VideoCd|SuperVideoCd'")); @@ -490,7 +575,7 @@ Solid::Block *block = devices.first().as(); if (block != NULL) { - devicePath = KUrl::fromLocalFile(block->device()); + devicePath = QUrl::fromLocalFile(block->device()); } } } @@ -501,10 +586,10 @@ void MediaWidget::playDvd(const QString &device) { - KUrl devicePath; + QUrl devicePath; if (!device.isEmpty()) { - devicePath = KUrl::fromLocalFile(device); + devicePath = QUrl::fromLocalFile(device); } else { QList devices = Solid::Device::listFromQuery(QLatin1String("OpticalDisc.availableContent & 'VideoDvd'")); @@ -513,7 +598,7 @@ Solid::Block *block = devices.first().as(); if (block != NULL) { - devicePath = KUrl::fromLocalFile(block->device()); + devicePath = QUrl::fromLocalFile(block->device()); } } } @@ -570,11 +655,15 @@ void MediaWidget::previous() { + if (source->getType() == MediaSource::Url) + emit playlistPrevious(); source->previous(); } void MediaWidget::next() { + if (source->getType() == MediaSource::Url) + emit playlistNext(); source->next(); } @@ -590,8 +679,14 @@ } backend->stop(); + source->playbackStatusChanged(Idle); } +void MediaWidget::setAudioCard() +{ + QAction *action = qobject_cast(sender()); + backend->setAudioDevice(action->data().toString()); +} void MediaWidget::increaseVolume() { // QSlider ensures that the value is within the range @@ -718,7 +813,7 @@ return; } - Log("MediaWidget::aspectRatioChanged: internal error"); + qWarning("Internal error"); } void MediaWidget::autoResizeTriggered(QAction *action) @@ -746,7 +841,7 @@ } } - Log("MediaWidget::autoResizeTriggered: internal error"); + qWarning("Internal error"); } void MediaWidget::pausedChanged(bool paused) @@ -806,7 +901,7 @@ void MediaWidget::jumpToPosition() { - KDialog *dialog = new JumpToPositionDialog(this); + QDialog *dialog = new JumpToPositionDialog(this); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setModal(true); dialog->show(); @@ -835,24 +930,17 @@ void MediaWidget::currentSubtitleChanged(int currentSubtitle) { - if (!blockBackendUpdates) { - --currentSubtitle; - - if (source->overrideSubtitles()) { - source->setCurrentSubtitle(currentSubtitle); - return; - } + if (blockBackendUpdates) + return; - source->setCurrentSubtitle(currentSubtitle - backend->getSubtitles().size()); + if (source->overrideSubtitles()) { + source->setCurrentSubtitle(currentSubtitle - 1); + return; + } - if (currentSubtitle >= backend->getSubtitles().size()) { - currentSubtitle = -1; - } + source->setCurrentSubtitle(currentSubtitle - 1 - backend->getSubtitles().size()); - if (backend->getCurrentSubtitle() != currentSubtitle) { - backend->setCurrentSubtitle(currentSubtitle); - } - } + backend->setCurrentSubtitle(currentSubtitle); } void MediaWidget::toggleMenu() @@ -877,20 +965,39 @@ void MediaWidget::shortSkipDurationChanged(int shortSkipDuration) { + // xgettext:no-c-format shortSkipBackwardAction->setText(i18nc("submenu of 'Skip'", "Skip %1s Backward", shortSkipDuration)); + // xgettext:no-c-format shortSkipForwardAction->setText(i18nc("submenu of 'Skip'", "Skip %1s Forward", shortSkipDuration)); } void MediaWidget::longSkipDurationChanged(int longSkipDuration) { + // xgettext:no-c-format longSkipBackwardAction->setText(i18nc("submenu of 'Skip'", "Skip %1s Backward", longSkipDuration)); + // xgettext:no-c-format longSkipForwardAction->setText(i18nc("submenu of 'Skip'", "Skip %1s Forward", longSkipDuration)); } +void MediaWidget::getAudioDevices() +{ + foreach(QAction *action, audioDevMenu->actions()) { + audioDevMenu->removeAction(action); + } + + foreach(const QString &device, backend->getAudioDevices()) { + QAction *action = new QWidgetAction(this); + action->setText(device); + action->setData(device); + connect(action, SIGNAL(triggered()), this, SLOT(setAudioCard())); + audioDevMenu->addAction(action); + } +} + void MediaWidget::audioStreamsChanged() { QStringList items; @@ -918,7 +1025,7 @@ void MediaWidget::subtitlesChanged() { QStringList items(textSubtitlesOff); - int currentIndex; + int currentIndex = 0; if (source->overrideSubtitles()) { items += source->getSubtitles(); @@ -937,7 +1044,7 @@ } else { items += backend->getSubtitles(); items += source->getSubtitles(); - currentIndex = (backend->getCurrentSubtitle() + 1); + currentIndex = (backend->getCurrentSubtitle()); int currentSourceIndex = source->getCurrentSubtitle(); if (currentSourceIndex >= 0) { @@ -951,6 +1058,9 @@ subtitleModel->setStringList(items); } + if (currentIndex < 0) + currentIndex = 0; + subtitleBox->setCurrentIndex(currentIndex); subtitleBox->setEnabled(items.size() > 1); blockBackendUpdates = false; @@ -962,10 +1072,12 @@ int totalTime = backend->getTotalTime(); source->trackLengthChanged(totalTime); - if (source->hideCurrentTotalTime()) { - currentTime = 0; - totalTime = 0; - } + if (source->getType() == MediaSource::Url) + emit playlistTrackLengthChanged(totalTime); + + // If the player backend doesn't implement currentTime and/or + // totalTime, the source can implement such logic + source->validateCurrentTotalTime(currentTime, totalTime); blockBackendUpdates = true; seekSlider->setRange(0, totalTime); @@ -987,6 +1099,7 @@ seekSlider->setEnabled(seekable); navigationMenu->setEnabled(seekable); jumpToPositionAction->setEnabled(seekable); + timeButton->setEnabled(seekable); } void MediaWidget::contextMenuEvent(QContextMenuEvent *event) @@ -1012,7 +1125,7 @@ const QMimeData *mimeData = event->mimeData(); if (mimeData->hasUrls()) { - emit playlistUrlsDropped(KUrl::List::fromMimeData(mimeData)); + emit playlistUrlsDropped(mimeData->urls()); event->acceptProposedAction(); } } @@ -1049,6 +1162,9 @@ void MediaWidget::playbackFinished() { + if (source->getType() == MediaSource::Url) + emit playlistNext(); + source->playbackFinished(); } @@ -1087,6 +1203,9 @@ QMap metadata = backend->getMetadata(); source->metadataChanged(metadata); + if (source->getType() == MediaSource::Url) + emit playlistTrackMetadataChanged(metadata); + if (source->overrideCaption()) { emit changeCaption(source->getDefaultCaption()); return; @@ -1239,10 +1358,10 @@ } } -JumpToPositionDialog::JumpToPositionDialog(MediaWidget *mediaWidget_) : KDialog(mediaWidget_), +JumpToPositionDialog::JumpToPositionDialog(MediaWidget *mediaWidget_) : QDialog(mediaWidget_), mediaWidget(mediaWidget_) { - setCaption(i18nc("@title:window", "Jump to Position")); + setWindowTitle(i18nc("@title:window", "Jump to Position")); QWidget *widget = new QWidget(this); QBoxLayout *layout = new QVBoxLayout(widget); @@ -1256,7 +1375,9 @@ timeEdit->setFocus(); - setMainWidget(widget); + QVBoxLayout *mainLayout = new QVBoxLayout; + setLayout(mainLayout); + mainLayout->addWidget(widget); } JumpToPositionDialog::~JumpToPositionDialog() @@ -1265,8 +1386,8 @@ void JumpToPositionDialog::accept() { - mediaWidget->setPosition(QTime().msecsTo(timeEdit->time())); - KDialog::accept(); + mediaWidget->setPosition(QTime(0, 0, 0).msecsTo(timeEdit->time())); + QDialog::accept(); } void SeekSlider::mousePressEvent(QMouseEvent *event) diff -Nru kaffeine-1.3.1+git20151128/src/mediawidget.h kaffeine-2.0.4+git20160916/src/mediawidget.h --- kaffeine-1.3.1+git20151128/src/mediawidget.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/mediawidget.h 2016-09-17 17:18:56.000000000 +0000 @@ -22,18 +22,22 @@ #define MEDIAWIDGET_H #include -#include -#include +#include +#include +#include +#include +#include +class KActionCollection; +class KToolBar; class QActionGroup; +class QComboBox; +class QMenu; class QPushButton; class QSlider; class QStringListModel; -class KAction; -class KActionCollection; -class KComboBox; -class KMenu; -class KToolBar; +class QWidgetAction; + class AbstractMediaWidget; class MediaSource; class OsdWidget; @@ -43,7 +47,7 @@ { Q_OBJECT public: - MediaWidget(KMenu *menu_, KToolBar *toolBar, KActionCollection *collection, + MediaWidget(QMenu *menu_, QToolBar *toolBar, KActionCollection *collection, QWidget *parent); ~MediaWidget(); @@ -95,7 +99,7 @@ */ void play(MediaSource *source_); - void play(const KUrl &url, const KUrl &subtitleUrl = KUrl()); + void play(const QUrl &url, const QUrl &subtitleUrl = QUrl()); void playAudioCd(const QString &device); void playVideoCd(const QString &device); void playDvd(const QString &device); @@ -125,6 +129,9 @@ void shortSkipForward(); void longSkipBackward(); void longSkipForward(); + void getAudioDevices(); + void openSubtitle(); + void setSubtitle(QUrl text); public: void playbackFinished(); @@ -145,12 +152,17 @@ void changeCaption(const QString &caption); void resizeToVideo(MediaWidget::ResizeFactor resizeFactor); - void playlistUrlsDropped(const QList &urls); + void playlistPrevious(); + void playlistNext(); + void playlistUrlsDropped(const QList &urls); + void playlistTrackLengthChanged(int length); + void playlistTrackMetadataChanged(const QMap &metadata); void osdKeyPressed(int key); private slots: void checkScreenSaver(); + void setAudioCard(); void mutedChanged(); void volumeChanged(int volume); void seek(int position); @@ -178,44 +190,45 @@ void resizeEvent(QResizeEvent *event); void wheelEvent(QWheelEvent *event); - KMenu *menu; + QMenu *menu; AbstractMediaWidget *backend; OsdWidget *osdWidget; - KAction *actionPrevious; - KAction *actionPlayPause; + QWidgetAction *actionPrevious; + QWidgetAction *actionPlayPause; QString textPlay; QString textPause; - KIcon iconPlay; - KIcon iconPause; - KAction *actionStop; - KAction *actionNext; - KAction *fullScreenAction; - KAction *minimalModeAction; - KComboBox *audioStreamBox; - KComboBox *subtitleBox; + QIcon iconPlay; + QIcon iconPause; + QWidgetAction *actionStop; + QWidgetAction *actionNext; + QWidgetAction *fullScreenAction; + QWidgetAction *minimalModeAction; + QComboBox *audioStreamBox; + QComboBox *subtitleBox; QStringListModel *audioStreamModel; QStringListModel *subtitleModel; QString textSubtitlesOff; - KAction *muteAction; - KIcon mutedIcon; - KIcon unmutedIcon; + QWidgetAction *muteAction; + QIcon mutedIcon; + QIcon unmutedIcon; QSlider *volumeSlider; SeekSlider *seekSlider; - KAction *longSkipBackwardAction; - KAction *shortSkipBackwardAction; - KAction *shortSkipForwardAction; - KAction *longSkipForwardAction; - KAction *deinterlaceAction; - KAction *menuAction; - KMenu *titleMenu; - KMenu *chapterMenu; - KMenu *angleMenu; + QWidgetAction *longSkipBackwardAction; + QWidgetAction *shortSkipBackwardAction; + QWidgetAction *shortSkipForwardAction; + QWidgetAction *longSkipForwardAction; + QWidgetAction *deinterlaceAction; + QWidgetAction *menuAction; + QMenu *audioDevMenu; + QMenu *titleMenu; + QMenu *chapterMenu; + QMenu *angleMenu; QActionGroup *titleGroup; QActionGroup *chapterGroup; QActionGroup *angleGroup; - KMenu *navigationMenu; - KAction *jumpToPositionAction; + QMenu *navigationMenu; + QWidgetAction *jumpToPositionAction; QPushButton *timeButton; DisplayMode displayMode; @@ -248,7 +261,8 @@ }; virtual Type getType() const { return Url; } - virtual KUrl getUrl() const { return KUrl(); } + virtual QUrl getUrl() const { return QUrl(); } + virtual void validateCurrentTotalTime(int &, int &) const { } virtual bool hideCurrentTotalTime() const { return false; } virtual bool overrideAudioStreams() const { return false; } virtual bool overrideSubtitles() const { return false; } @@ -268,7 +282,7 @@ virtual void previous() { } virtual void next() { } - void setMediaWidget(MediaWidget *mediaWidget) + void setMediaWidget(const MediaWidget *mediaWidget) { MediaWidget *oldMediaWidget = weakMediaWidget.data(); @@ -276,11 +290,10 @@ if (oldMediaWidget != NULL) { oldMediaWidget->mediaSourceDestroyed(this); } - - weakMediaWidget = mediaWidget; +// FIXME: +// weakMediaWidget = mediaWidget; } } - private: QWeakPointer weakMediaWidget; }; diff -Nru kaffeine-1.3.1+git20151128/src/mediawidget_p.h kaffeine-2.0.4+git20160916/src/mediawidget_p.h --- kaffeine-1.3.1+git20151128/src/mediawidget_p.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/mediawidget_p.h 2016-09-17 17:18:56.000000000 +0000 @@ -22,12 +22,12 @@ #define MEDIAWIDGET_P_H #include -#include +#include #include "mediawidget.h" class QTimeEdit; -class JumpToPositionDialog : public KDialog +class JumpToPositionDialog : public QDialog { public: explicit JumpToPositionDialog(MediaWidget *mediaWidget_); @@ -53,51 +53,51 @@ class MediaSourceUrl : public MediaSource { public: - MediaSourceUrl(const KUrl &url_, const KUrl &subtitleUrl_) : url(url_), + MediaSourceUrl(const QUrl &url_, const QUrl &subtitleUrl_) : url(url_), subtitleUrl(subtitleUrl_) { } ~MediaSourceUrl() { } Type getType() const { return Url; } - KUrl getUrl() const { return url; } + QUrl getUrl() const { return url; } - KUrl url; - KUrl subtitleUrl; + QUrl url; + QUrl subtitleUrl; }; class MediaSourceAudioCd : public MediaSource { public: - explicit MediaSourceAudioCd(const KUrl &url_) : url(url_) { } + explicit MediaSourceAudioCd(const QUrl &url_) : url(url_) { } ~MediaSourceAudioCd() { } Type getType() const { return AudioCd; } - KUrl getUrl() const { return url; } + QUrl getUrl() const { return url; } - KUrl url; + QUrl url; }; class MediaSourceVideoCd : public MediaSource { public: - explicit MediaSourceVideoCd(const KUrl &url_) : url(url_) { } + explicit MediaSourceVideoCd(const QUrl &url_) : url(url_) { } ~MediaSourceVideoCd() { } Type getType() const { return VideoCd; } - KUrl getUrl() const { return url; } + QUrl getUrl() const { return url; } - KUrl url; + QUrl url; }; class MediaSourceDvd : public MediaSource { public: - explicit MediaSourceDvd(const KUrl &url_) : url(url_) { } + explicit MediaSourceDvd(const QUrl &url_) : url(url_) { } ~MediaSourceDvd() { } Type getType() const { return Dvd; } - KUrl getUrl() const { return url; } + QUrl getUrl() const { return url; } - KUrl url; + QUrl url; }; #endif /* MEDIAWIDGET_P_H */ diff -Nru kaffeine-1.3.1+git20151128/src/Messages.sh kaffeine-2.0.4+git20160916/src/Messages.sh --- kaffeine-1.3.1+git20151128/src/Messages.sh 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/Messages.sh 2016-09-17 17:18:56.000000000 +0000 @@ -1,3 +1,2 @@ #!/bin/sh $XGETTEXT *.cpp */*.cpp -o $podir/kaffeine.pot -sed "s/, c-format/, no-c-format/" -i $podir/kaffeine.pot diff -Nru kaffeine-1.3.1+git20151128/src/org.kde.kaffeine.appdata.xml kaffeine-2.0.4+git20160916/src/org.kde.kaffeine.appdata.xml --- kaffeine-1.3.1+git20151128/src/org.kde.kaffeine.appdata.xml 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/org.kde.kaffeine.appdata.xml 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,112 @@ + + + org.kde.kaffeine.desktop + CC0-1.0 + GPL-2.0+ + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Kaffeine + Кафеин + Kaffeine + Кафеин + Kaffeine + Kaffeine + Kaffeine + xxKaffeinexx + Multimedia Player + Multimedijalni plejer + Reproductor multimèdia + Reproductor multimèdia + Přehrávač multimédií + Multimedieafspiller + Multimediawiedergabe + Αναπαραγωγός μουσικής + Multimedia Player + Reproductor multimedia + Multimediasoitin + Lecteur multimédia + Reprodutor de son e vídeo + Pemutar Multimedia + Lettore multimediale + 멀티미디어 재생기 + Multimediaspeler + Odtwarzacz multimedialny + Leitor Multimédia + Reprodutor Multimídia + Мультимедийный проигрыватель + Multimediálny prehrávač + Predstavnostni predvajalnik + Мултимедијски плејер + Multimedijski plejer + Мултимедијски плејер + Multimedijski plejer + Multimediaspelare + Програвач мультимедійних файлів + xxMultimedia Playerxx + +

+ Kaffeine is a media player. What makes it different from the others is its excellent support of digital TV (DVB). + Kaffeine has user-friendly interface, so that even first time users can start immediately playing their movies: + from DVD (including DVD menus, titles, chapters, etc.), VCD, or a file. +

+

Kaffeine je media player. Ono što ga razlikuje od drugih je odličnu podrška digitalne TV (DVB). Kaffeine ima user-friendly sučelje, tako da čak i novi korisnici mogu odmah početi da igraju svoje filmove: od DVD (uključujući DVD izbornike, naslova, poglavlja, itd), VCD, ili datoteke.

+

El Kaffeine és un reproductor de suports. El que el fa diferent dels altres és el seu excel·lent suport per a la televisió digital (DVB). El Kaffeine té una interfície fàcil d'usar, de manera que fins i tot els usuaris principiants poden començar immediatament a reproduir les seves pel·lícules: des d'un DVD (incloent-hi els menús del DVD, títols, capítols, etc.), VCD o un fitxer.

+

El Kaffeine és un reproductor de suports. El que el fa diferent dels altres és el seu excel·lent suport per a la televisió digital (DVB). El Kaffeine té una interfície fàcil d'usar, de manera que fins i tot els usuaris principiants poden començar immediatament a reproduir les seues pel·lícules: des d'un DVD (incloent-hi els menús del DVD, títols, capítols, etc.), VCD o un fitxer.

+

Kaffeine er en medieafspiller. Det der gør den anderledes end andre afspillere er dens glimrende understøttelse af digitalt tv (DVB). Kaffeine har en nem brugerflade, så selv helt nye brugere straks kan begynde at afspille deres film fra dvd (inklusiv dvd-menuer, titler, kapitler osv.), VCD eller en fil.

+

Το Kaffeine είναι ένας αναπαραγωγός μουσικής. Αυτό που το κάνει διαφορετικό από άλλους είναι η εξαιρετική υποστήριξη για ψηφιακή τηλεόραση (DVB) που διαθέτει. Το Kaffeine έχει φιλικό περιβάλλον χρήσης, έτσι ώστε ακόμη και οι χρήστες που το δοκιμάζουν για πρώτη φορά μπορούν να ξεκινήσουν αμέσως να προβάλλουν ταινίες: από DVD (με DVD μενού, τίτλους, κεφάλαια, κτλ.), VCD ή από αρχείο.

+

Kaffeine is a media player. What makes it different from the others is its excellent support of digital TV (DVB). Kaffeine has user-friendly interface, so that even first time users can start immediately playing their movies: from DVD (including DVD menus, titles, chapters, etc.), VCD, or a file.

+

Kaffeine es un reproductor multimedia. Lo que lo hace distinto del resto es su excelente implementación de TV digital (DVB). Kaffeine tiene una interfaz de usuario amigable, por lo que incluso los usuarios que lo usan por primera vez pueden comenzar a reproducir sus películas de forma inmediata, ya se trate de un DVD (incluyendo menús de DVD, títulos, capítulos, etc), de un VCD o de un archivo.

+

Kaffeine on mediasoitin. Erilaisen siitä tekee sen erinomainen digi-TV-tuki (DVB). Kaffeinen käyttöliittymä on niin käyttäjäyställinen, että ensikertalainenkin käyttäjä osaa välittömästi toistaa sillä videoita DVD:ltä (Kaffeine hallitsee myös DVD:n valikot, otsikot, luvut jne.), VCD:ltä tai tiedostosta.

+

Kaffeine est un lecteur de média. Il se distingue des autres par son excellente prise en charge de la télévision numérique (DVB, aussi appelée TNT). Kaffeine a une interface conviviale, de sorte que même les novices peuvent lire leurs films immédiatement : à partir d'un DVD (incluant les menus, titres, chapitres, etc.), d'un VCD, ou d'un fichier.

+

Kaffeine é un reprodutor de son e vídeo que se distingue doutros reprodutores pola súa excelente compatibilidade coa televisión dixital (DVB). A interface de Kaffeine é fácil de usar, de xeito que mesmo os usuarios novos poden comezar a reproducir filmes inmediatamente desde DVD (incluíndo menús de DVD, títulos, capítulos, etc.), VCD ou un ficheiro.

+

Kaffeine adalah sebuah pemutar media. Apa yang membuatnya berbeda dari yang lainnya adalah dukungan baik pada TV digital (DVB). Kaffeine memiliki antarmuka yang mudah, jadi pengguna pertama pun dapat memulai dengan seketika memutar bioskop mereka: dari DVD (termasuk menu-menu DVD, judul, bab, dll), VCD, atau sebuah berkas file.

+

Kaffeine è un lettore multimediale. Ciò che lo rende diverso dagli altri è il suo eccellente supporto della TV digitale (DVB). Kaffeine ha un'interfaccia amichevole, perciò anche i nuovi utenti saranno in grado di riprodurre subito i loro film: da DVD (inclusi i menu dei DVD, titoli, capitoli, ecc.), VCD o un file.

+

Kaffeine은 미디어 재생기입니다. 다른 미디어 재생기와 다른 점은 강력한 디지털 TV(DVB) 지원입니다. Kaffeine은 첫 사용자라도 DVD(DVD 메뉴, 타이틀, 챕터 지원), VCD, 파일에 저장된 동영상을 쉽게 재생할 수 있습니다.

+

Kaffeine is een mediaspeler. Wat het anders maakt ten opzichte van de anderen is zijn uitmuntende ondersteuning van digitale TV (DVB). Kaffeine heeft een gebruikersvriendelijk interface, zodat zelfs gebruikers de eerste keer onmiddellijk kunnen beginnen met het afspelen van hun films: van dvd's (inclusief dvd-menu's, titels, hoofdstukken, etc.), vcd of een bestand.

+

Kaffeine jest odtwarzaczem multimedialny. Od reszty odróżnia go doskonała obsługa telewizji cyfrowej (DVB). Kaffeine posiada interfejs przyjazny użytkownikowi, tak że nawet początkujący użytkownicy mogą od razu zacząć odtwarzać swoje film: z DVD (uwzględniając w tym DVD z menu, tytułami, rozdziałami, itp.), VCD lub pliku.

+

O Kaffeine é um leitor de conteúdos multimédia. O que o torna diferente dos outros é o seu suporte excelente para TV digital (DVB). O Kaffeine tem uma interface de utilizador amigável, para que mesmos os utilizadores iniciais comecem logo a ver os seus filmes: desde os DVD's (incluindo os menus, títulos, capítulos, etc.) aos VCD's e ficheiros individuais.

+

Kaffeine é um reprodutor de mídias. O que o torna diferente dos outros é o seu excelente suporte para TV digital (DVB). O Kaffeine tem uma interface amigável, para que até mesmo os usuários iniciantes possam rapidamente assistir a seus filmes, em DVDs (incluindo os menus, títulos, capítulos, etc.) VCDs e arquivos individuais.

+

Kaffeine — проигрыватель мультимедиа. Его отличие от других проигрывателей — поддержка цифрового телевидения (DVB). У программы понятный интерфейс, поэтому новым пользователям несложно сразу начать смотреть фильмы с DVD, VCD или из файлов. При запуске видео с DVD доступно меню DVD, субтитры, а также разбиение на главы и разделы.

+

Kaffeine prehrávač médií. Čo ho odlišuje od iných prehrávačov médií, je výborná podpora digitálnej TV (DVB). Kaffeine má priateľské rozhranie, takže aj úplne noví používatelia môžu hneď začať prehrávať svoje filmy: z DVD (vrátane DVD ponuky, titulov, kapitol atď.), VCD alebo súbor.

+

Kaffeine je predstavnostni predvajalnik. Od drugih se razlikuje po odlični podpori za digitalno televizijo (DVB). Kaffeine ima uporabniku prijazen vmesnik, ki poenostavi predvajanje filmov iz DVD-jev (vključno z meniji in poglavji), VCD-jev ali datotek .

+

Кафеин је медија плејер. Од осталих плејера издваја се изврсном подршком за дигиталну телевизију (ДВБ). Поседује предусретљиво сучеље, тако да и нови корисници могу одмах да пусте своје филмове: са ДВД‑а (укључујући ДВД меније, наслове, поглавља, итд), ВЦД‑а, или из фајла.

+

Kaffeine je medija plejer. Od ostalih plejera izdvaja se izvrsnom podrškom za digitalnu televiziju (DVB). Poseduje predusretljivo sučelje, tako da i novi korisnici mogu odmah da puste svoje filmove: sa DVD‑a (uključujući DVD menije, naslove, poglavlja, itd), VCD‑a, ili iz fajla.

+

Кафеин је медија плејер. Од осталих плејера издваја се изврсном подршком за дигиталну телевизију (ДВБ). Поседује предусретљиво сучеље, тако да и нови корисници могу одмах да пусте своје филмове: са ДВД‑а (укључујући ДВД меније, наслове, поглавља, итд), ВЦД‑а, или из фајла.

+

Kaffeine je medija plejer. Od ostalih plejera izdvaja se izvrsnom podrškom za digitalnu televiziju (DVB). Poseduje predusretljivo sučelje, tako da i novi korisnici mogu odmah da puste svoje filmove: sa DVD‑a (uključujući DVD menije, naslove, poglavlja, itd), VCD‑a, ili iz fajla.

+

Kaffeine är en mediaspelare. Vad som skiljer den från övriga är dess utmärkta stöd för digital-tv (DVB). Kaffeine har ett användarvänligt gränssnitt, så att även förstagångsanvändare kan omedelbart börja spela sina filmer: från dvd (inklusive dvd-menyer, titlar, kapitel, etc.), vcd, eller en fil.

+

Kaffeine — мультимедійний програвач. Від інших програвачів його відрізняє чудова підтримка цифрового телебачення (DVB). У Kaffeine передбачено зручний для користувачів інтерфейс: насолодитися фільмами у ньому зможуть навіть початківці. Можна переглянути будь-що: від DVD (з використанням меню DVD, субтитрів, частин тощо) до VCD або окремого файла.

+

xxKaffeine is a media player. What makes it different from the others is its excellent support of digital TV (DVB). Kaffeine has user-friendly interface, so that even first time users can start immediately playing their movies: from DVD (including DVD menus, titles, chapters, etc.), VCD, or a file.xx

+
+ http://kaffeine.kde.org + https://bugs.kde.org/enter_bug.cgi?format=guided&product=kaffeine + + + http://kde.org/images/screenshots/kaffeine.png + + + KDE + + kaffeine + +
diff -Nru kaffeine-1.3.1+git20151128/src/org.kde.kaffeine.desktop kaffeine-2.0.4+git20160916/src/org.kde.kaffeine.desktop --- kaffeine-1.3.1+git20151128/src/org.kde.kaffeine.desktop 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/org.kde.kaffeine.desktop 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,136 @@ +[Desktop Entry] +Name=Kaffeine +Name[ast]=Kaffeine +Name[bg]=Kaffeine +Name[bs]=Kaffeine +Name[ca]=Kaffeine +Name[ca@valencia]=Kaffeine +Name[cs]=Kaffeine +Name[csb]=Kaffeine +Name[da]=Kaffeine +Name[de]=Kaffeine +Name[el]=Kaffeine +Name[en_GB]=Kaffeine +Name[eo]=Kaffeine +Name[es]=Kaffeine +Name[et]=Kaffeine +Name[eu]=Kaffeine +Name[fa]=کافئین +Name[fi]=Kaffeine +Name[fr]=Kaffeine +Name[ga]=Kaffeine +Name[gl]=Kaffeine +Name[hne]=कैफीन +Name[hr]=Kaffeine +Name[hu]=Kaffeine +Name[id]=Kaffeine +Name[is]=Kaffeine +Name[it]=Kaffeine +Name[ja]=Kaffeine +Name[km]=Kaffeine +Name[ko]=Kaffeine +Name[ku]=Kaffeine +Name[lt]=Kaffeine +Name[lv]=Kaffeine +Name[mai]=Kaffeine +Name[mr]=केफ्फेन +Name[nb]=Kaffeine +Name[nds]=Kaffeine +Name[ne]=क्याफिन +Name[nl]=Kaffeine +Name[nn]=Kaffeine +Name[pa]=ਕੈਫ਼ੀਨ +Name[pl]=Kaffeine +Name[pt]=Kaffeine +Name[pt_BR]=Kaffeine +Name[ro]=Kaffeine +Name[ru]=Kaffeine +Name[sk]=Kaffeine +Name[sl]=Kaffeine +Name[sq]=Kaffeine +Name[sr]=Кафеин +Name[sr@ijekavian]=Кафеин +Name[sr@ijekavianlatin]=Kaffeine +Name[sr@latin]=Kaffeine +Name[sv]=Kaffeine +Name[tg]=Kaffeine +Name[th]=แคฟเฟอีน-K +Name[tr]=Kaffeine +Name[ug]=Kaffeine +Name[uk]=Kaffeine +Name[x-test]=xxKaffeinexx +Name[zh_CN]=Kaffeine +Name[zh_TW]=Kaffeine +Exec=kaffeine %U +GenericName=Media Player +GenericName[bg]=Медия плеър +GenericName[bs]=Izvođač medija +GenericName[ca]=Reproductor multimèdia +GenericName[ca@valencia]=Reproductor multimèdia +GenericName[cs]=Přehrávač médií +GenericName[csb]=Mùltimedialny grôcz +GenericName[da]=Medieafspiller +GenericName[de]=Medienwiedergabe +GenericName[el]=Αναπαραγωγέας πολυμέσων +GenericName[en_GB]=Media Player +GenericName[eo]=Medioludilo +GenericName[es]=Reproductor de medios +GenericName[et]=Meediafailide mängija +GenericName[eu]=Multimedia-erreproduzitzailea +GenericName[fa]=پخش کننده‌ی رسانه +GenericName[fi]=Mediasoitin +GenericName[fr]=Lecteur multimédia +GenericName[ga]=Seinnteoir Meán +GenericName[gl]=Reprodutor multimedia +GenericName[hi]=मीडिया-प्लेयर +GenericName[hne]=मीडिया-प्लेयर +GenericName[hr]=Svirač medija +GenericName[hu]=Médialejátszó +GenericName[id]=Pemutar Media +GenericName[is]=Margmiðlunarspilari +GenericName[it]=Lettore multimediale +GenericName[ja]=メディアプレーヤー +GenericName[km]=កម្មវិធី​ចាក់​មេឌៀ +GenericName[ko]=미디어 재생기 +GenericName[ku]=Lêdarê Medya +GenericName[lt]=Media grotuvas +GenericName[lv]=Mediju atskaņotājs +GenericName[mai]=मीडिया-प्लेयर +GenericName[mr]=मीडिया प्लेयर +GenericName[nb]=Mediespiller +GenericName[nds]=Medienafspeler +GenericName[ne]=मिडिया प्लेयर +GenericName[nl]=Mediaspeler +GenericName[nn]=Mediespelar +GenericName[oc]=Media Player +GenericName[pa]=ਮੀਡਿਆ ਪਲੇਅਰ +GenericName[pl]=Odtwarzacz multimedialny +GenericName[pt]=Leitor Multimédia +GenericName[pt_BR]=Reprodutor de mídia +GenericName[ro]=Redare multimedia +GenericName[ru]=Медиаплеер +GenericName[sk]=Mediálny prehrávač +GenericName[sl]=Predstavnostni predvajalnik +GenericName[sq]=Luaj Media +GenericName[sr]=Медија плејер +GenericName[sr@ijekavian]=Медија плејер +GenericName[sr@ijekavianlatin]=Medija plejer +GenericName[sr@latin]=Medija plejer +GenericName[sv]=Mediaspelare +GenericName[tg]=Навозишгари Медиа +GenericName[th]=เครื่องเล่นสื่อ +GenericName[tr]=Ortam Oynatıcı +GenericName[ug]=ۋاسىتە قويغۇ +GenericName[uk]=Програвач мультимедіа +GenericName[x-test]=xxMedia Playerxx +GenericName[zh_CN]=媒体播放器 +GenericName[zh_TW]=媒體播放器 +Categories=Qt;KDE;AudioVideo;Player; +Icon=kaffeine +MimeType=application/ogg;application/ram;application/vnd.rn-realmedia;application/x-matroska;application/x-ogg;application/x-quicktime-media-link;application/x-shockwave-flash;application/x-shorten;application/xspf+xml;audio/ac3;audio/amr;audio/amr-wb;audio/basic;audio/flac;audio/mp4;audio/mpeg;audio/ogg;audio/vnd.rn-realaudio;audio/webm;audio/x-aiff;audio/x-flac;audio/x-it;audio/x-m4a;audio/x-m4b;audio/x-matroska;audio/x-mod;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-ms-asx;audio/x-ms-wma;audio/x-musepack;audio/x-pn-realaudio;audio/x-pn-realaudio-plugin;audio/x-s3m;audio/x-scpls;audio/x-stm;audio/x-tta;audio/x-voc;audio/x-vorbis+ogg;audio/x-wav;audio/x-wavpack;audio/x-xm;image/vnd.rn-realpix;misc/ultravox;video/dv;video/mp2t;video/mp4;video/mp4v-es;video/mpeg;video/msvideo;video/ogg;video/quicktime;video/vnd.rn-realvideo;video/webm;video/x-anim;video/x-avi;video/x-fli;video/x-flic;video/x-flv;video/x-matroska;video/x-mng;video/x-mpeg;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-ogm+ogg;x-content/audio-cdda;x-content/audio-player;x-content/video-dvd;x-content/video-svcd;x-content/video-vcd;x-scheme-handler/mms;x-scheme-handler/rtmp;x-scheme-handler/rtsp; +Terminal=false +Type=Application +X-KDE-HasTempFileOption=true +#Change back to Kaffeine/index.html when docbooks will be available +X-DocPath=kaffeine/index.html +X-Desktop-File-Install-Version=0.15 diff -Nru kaffeine-1.3.1+git20151128/src/osdwidget.cpp kaffeine-2.0.4+git20160916/src/osdwidget.cpp --- kaffeine-1.3.1+git20151128/src/osdwidget.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/osdwidget.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,11 +18,11 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "osdwidget.h" - #include #include +#include "osdwidget.h" + OsdWidget::OsdWidget(QWidget *parent) : QWidget(parent), osdObject(NULL) { timer = new QTimer(this); diff -Nru kaffeine-1.3.1+git20151128/src/playlist/playlistmodel.cpp kaffeine-2.0.4+git20160916/src/playlist/playlistmodel.cpp --- kaffeine-1.3.1+git20151128/src/playlist/playlistmodel.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/playlist/playlistmodel.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,19 +18,23 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "playlistmodel.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif #include #include +#include #include #include #include #include -#include -#include -#include "../log.h" -bool Playlist::load(const KUrl &url_, Format format) +#include "playlistmodel.h" + +bool Playlist::load(const QUrl &url_, Format format) { url = url_; title = url.fileName(); @@ -38,14 +42,14 @@ if (localFile.isEmpty()) { // FIXME - Log("Playlist::load: opening remote playlists not supported yet"); + qInfo("Opening remote playlists not supported yet"); return false; } QFile file(localFile); if (!file.open(QIODevice::ReadOnly)) { - Log("Playlist::load: cannot open file") << file.fileName(); + qWarning("Cannot open file %s", qPrintable(file.fileName())); return false; } @@ -71,14 +75,14 @@ if (localFile.isEmpty()) { // FIXME - Log("Playlist::save: opening remote playlists not supported yet"); + qInfo("Opening remote playlists not supported yet"); return false; } QFile file(localFile); if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) { - Log("Playlist::save: cannot open file") << file.fileName(); + qWarning("Cannot open file %s", qPrintable(file.fileName())); return false; } @@ -112,28 +116,28 @@ } } -KUrl Playlist::fromFileOrUrl(const QString &fileOrUrl) const +QUrl Playlist::fromFileOrUrl(const QString &fileOrUrl) const { if (!QFileInfo(fileOrUrl).isRelative()) { - return KUrl::fromLocalFile(fileOrUrl); + return QUrl::fromLocalFile(fileOrUrl); } - KUrl trackUrl(fileOrUrl); + QUrl trackUrl(fileOrUrl); if (trackUrl.isRelative()) { - trackUrl = url.resolved(KUrl::fromLocalFile(fileOrUrl)); + trackUrl = url.resolved(QUrl::fromLocalFile(fileOrUrl)); - if (trackUrl.encodedPath() == url.encodedPath()) { - return KUrl(); + if (trackUrl.toEncoded() == url.toEncoded()) { + return QUrl(); } } return trackUrl; } -KUrl Playlist::fromRelativeUrl(const QString &trackUrlString) const +QUrl Playlist::fromRelativeUrl(const QString &trackUrlString) const { - KUrl trackUrl(trackUrlString); + QUrl trackUrl(trackUrlString); if (trackUrl.isRelative()) { trackUrl = url.resolved(trackUrl); @@ -142,7 +146,7 @@ return trackUrl; } -QString Playlist::toFileOrUrl(const KUrl &trackUrl) const +QString Playlist::toFileOrUrl(const QUrl &trackUrl) const { QString localFile = trackUrl.toLocalFile(); @@ -161,21 +165,33 @@ } } -QString Playlist::toRelativeUrl(const KUrl &trackUrl) const +QString Playlist::toRelativeUrl(const QUrl &trackUrl) const { if ((trackUrl.scheme() == url.scheme()) && (trackUrl.authority() == url.authority())) { - QByteArray playlistPath = url.encodedPath(); + QByteArray playlistPath = url.toEncoded(); int index = playlistPath.lastIndexOf('/'); playlistPath.truncate(index + 1); - QByteArray trackPath = trackUrl.encodedPath(); + QByteArray trackPath = trackUrl.toEncoded(); if (trackPath.startsWith(playlistPath)) { trackPath.remove(0, index + 1); - KUrl relativeUrl; - relativeUrl.setEncodedPath(trackPath); - relativeUrl.setEncodedQuery(trackUrl.encodedQuery()); - relativeUrl.setEncodedFragment(trackUrl.encodedFragment()); - return relativeUrl.url(); + QUrl absolute (playlistPath); + QStringList sBase = trackUrl.toString().split("/"); + QStringList sAbsolute = absolute.toString().split("/"); + QStringList res = QStringList(sAbsolute); + + if (trackUrl.isParentOf(absolute)) { + foreach(QString s, sBase) { + res.removeFirst(); + } + } else { + //Chop of the domain part + res.removeFirst(); + res.removeFirst(); + res.removeFirst(); + } + + return res.join("/"); } } @@ -222,8 +238,8 @@ track.length = QTime::fromString(length, Qt::ISODate); - if (QTime().msecsTo(track.length) == 0) { - track.length = QTime(); + if (QTime(0, 0, 0).msecsTo(track.length) == 0) { + track.length = QTime(0, 0, 0); } appendTrack(track); @@ -248,7 +264,7 @@ int length = line.mid(8, index - 8).toInt(&ok); if (ok && (length >= 0)) { - track.length = QTime().addSecs(length); + track.length = QTime(0, 0, 0).addSecs(length); } track.title = line.mid(index + 1); @@ -273,7 +289,7 @@ int length = -1; if (track.length.isValid()) { - length = QTime().secsTo(track.length); + length = QTime(0, 0, 0).secsTo(track.length); } stream << "#EXTINF:" << length << QLatin1Char(',') << track.title << QLatin1Char('\n'); @@ -336,7 +352,7 @@ int length = content.toInt(&ok); if (ok && (length >= 0)) { - track.length = QTime().addSecs(content.toInt()); + track.length = QTime(0, 0, 0).addSecs(content.toInt()); } break; @@ -363,7 +379,7 @@ int length = -1; if (track.length.isValid()) { - length = QTime().secsTo(track.length); + length = QTime(0, 0, 0).secsTo(track.length); } stream << "File" << index << '=' << toFileOrUrl(track.url) << '\n'; @@ -438,7 +454,7 @@ trackNode.toElement().text().toInt(&ok); if (ok && (length >= 0)) { - track.length = QTime().addMSecs(length); + track.length = QTime(0, 0, 0).addMSecs(length); } } } @@ -485,7 +501,7 @@ if (track.length.isValid()) { stream.writeTextElement(QLatin1String("duration"), - QString::number(QTime().msecsTo(track.length))); + QString::number(QTime(0, 0, 0).msecsTo(track.length))); } stream.writeEndElement(); @@ -499,7 +515,6 @@ PlaylistModel::PlaylistModel(Playlist *visiblePlaylist_, QObject *parent) : QAbstractTableModel(parent), visiblePlaylist(visiblePlaylist_) { - setSupportedDragActions(Qt::MoveAction); } PlaylistModel::~PlaylistModel() @@ -509,8 +524,9 @@ void PlaylistModel::setVisiblePlaylist(Playlist *visiblePlaylist_) { if (visiblePlaylist != visiblePlaylist_) { + QAbstractItemModel::beginResetModel(); visiblePlaylist = visiblePlaylist_; - reset(); + QAbstractItemModel::endResetModel(); } } @@ -519,7 +535,7 @@ return visiblePlaylist; } -void PlaylistModel::appendUrls(Playlist *playlist, const QList &urls, bool playImmediately) +void PlaylistModel::appendUrls(Playlist *playlist, const QList &urls, bool playImmediately) { insertUrls(playlist, playlist->tracks.size(), urls, playImmediately); } @@ -568,8 +584,8 @@ void PlaylistModel::updateTrackLength(Playlist *playlist, int length) { if (playlist->currentTrack >= 0) { - if (QTime().msecsTo(playlist->tracks.at(playlist->currentTrack).length) < length) { - playlist->tracks[playlist->currentTrack].length = QTime().addMSecs(length); + if (QTime(0, 0, 0).msecsTo(playlist->tracks.at(playlist->currentTrack).length) < length) { + playlist->tracks[playlist->currentTrack].length = QTime(0, 0, 0).addMSecs(length); if (playlist == visiblePlaylist) { QModelIndex modelIndex = index(playlist->currentTrack, 4); @@ -635,6 +651,8 @@ void PlaylistModel::clearVisiblePlaylist() { + QAbstractItemModel::beginResetModel(); + visiblePlaylist->tracks.clear(); if (visiblePlaylist->currentTrack >= 0) { @@ -642,15 +660,15 @@ emit playTrack(visiblePlaylist, -1); } - reset(); + QAbstractItemModel::endResetModel(); } -void PlaylistModel::insertUrls(Playlist *playlist, int row, const QList &urls, +void PlaylistModel::insertUrls(Playlist *playlist, int row, const QList &urls, bool playImmediately) { - QList processedUrls; + QList processedUrls; - foreach (const KUrl &url, urls) { + foreach (const QUrl &url, urls) { QString fileName = url.fileName(); Playlist::Format format = Playlist::Invalid; @@ -689,7 +707,7 @@ for (int i = 0; i < entries.size(); ++i) { const QString &entry = entries.at(i); - processedUrls.append(KUrl::fromLocalFile(dir.filePath(entry))); + processedUrls.append(QUrl::fromLocalFile(dir.filePath(entry))); } } else { processedUrls.append(url); @@ -744,7 +762,7 @@ { if (role == Qt::DecorationRole) { if ((index.row() == visiblePlaylist->currentTrack) && (index.column() == 0)) { - return KIcon(QLatin1String("arrow-right")); + return QIcon::fromTheme(QLatin1String("arrow-right"), QIcon(":arrow-right")); } } else if (role == Qt::DisplayRole) { switch (index.column()) { @@ -767,7 +785,7 @@ QTime length = visiblePlaylist->at(index.row()).length; if (length.isValid()) { - return KGlobal::locale()->formatTime(length, true, true); + return length.toString("HH:mm:ss.zzz"); } else { return QVariant(); } @@ -975,7 +993,7 @@ } if (data->hasUrls()) { - insertUrls(visiblePlaylist, row, KUrl::List::fromMimeData(data), false); + insertUrls(visiblePlaylist, row, data->urls(), false); return true; } diff -Nru kaffeine-1.3.1+git20151128/src/playlist/playlistmodel.h kaffeine-2.0.4+git20160916/src/playlist/playlistmodel.h --- kaffeine-1.3.1+git20151128/src/playlist/playlistmodel.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/playlist/playlistmodel.h 2016-09-17 17:18:56.000000000 +0000 @@ -31,13 +31,13 @@ PlaylistTrack() : trackNumber(-1), currentSubtitle(-1) { } ~PlaylistTrack() { } - KUrl url; + QUrl url; QString title; QString artist; QString album; int trackNumber; QTime length; - QList subtitles; + QList subtitles; int currentSubtitle; }; @@ -60,20 +60,20 @@ XSPF }; - bool load(const KUrl &url_, Format format); + bool load(const QUrl &url_, Format format); bool save(Format format) const; - KUrl url; + QUrl url; QString title; QList tracks; int currentTrack; private: void appendTrack(PlaylistTrack &track); - KUrl fromFileOrUrl(const QString &fileOrUrl) const; - KUrl fromRelativeUrl(const QString &trackUrlString) const; - QString toFileOrUrl(const KUrl &trackUrl) const; - QString toRelativeUrl(const KUrl &trackUrl) const; + QUrl fromFileOrUrl(const QString &fileOrUrl) const; + QUrl fromRelativeUrl(const QString &trackUrlString) const; + QString toFileOrUrl(const QUrl &trackUrl) const; + QString toRelativeUrl(const QUrl &trackUrl) const; bool loadKaffeinePlaylist(QIODevice *device); bool loadM3UPlaylist(QIODevice *device); @@ -94,7 +94,7 @@ void setVisiblePlaylist(Playlist *visiblePlaylist_); Playlist *getVisiblePlaylist() const; - void appendUrls(Playlist *playlist, const QList &urls, bool playImmediately); + void appendUrls(Playlist *playlist, const QList &urls, bool playImmediately); void removeRows(Playlist *playlist, int row, int count); void setCurrentTrack(Playlist *playlist, int track); void updateTrackLength(Playlist *playlist, int length); @@ -109,7 +109,7 @@ void playTrack(Playlist *playlist, int track); private: - void insertUrls(Playlist *playlist, int row, const QList &urls, + void insertUrls(Playlist *playlist, int row, const QList &urls, bool playImmediately); int columnCount(const QModelIndex &parent) const; diff -Nru kaffeine-1.3.1+git20151128/src/playlist/playlisttab.cpp kaffeine-2.0.4+git20160916/src/playlist/playlisttab.cpp --- kaffeine-1.3.1+git20151128/src/playlist/playlisttab.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/playlist/playlisttab.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,23 +18,27 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "playlisttab.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif +#include +#include +#include #include +#include #include #include +#include #include +#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include "../log.h" + #include "playlistmodel.h" +#include "playlisttab.h" PlaylistBrowserModel::PlaylistBrowserModel(PlaylistModel *playlistModel_, Playlist *temporaryPlaylist, QObject *parent) : QAbstractListModel(parent), @@ -42,14 +46,13 @@ { playlists.append(temporaryPlaylist); - QFile file(KStandardDirs::locateLocal("appdata", QLatin1String("playlistsK4"))); + QFile file(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/playlistsK4")); if (!file.open(QIODevice::ReadOnly)) { - file.setFileName(KStandardDirs::locateLocal("appdata", QLatin1String("playlists"))); + file.setFileName(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/playlists")); if (!file.open(QIODevice::ReadOnly)) { - Log("PlaylistBrowserModel::PlaylistBrowserModel: cannot open file") << - file.fileName(); + qWarning("Cannot open file %s", qPrintable(file.fileName())); return; } } @@ -70,8 +73,7 @@ // compatibility code hasSubtitles = false; } else if (version != 0x361c4a3c) { - Log("PlaylistBrowserModel::PlaylistBrowserModel: cannot read file") << - file.fileName(); + qWarning("Cannot read file %s", qPrintable(file.fileName())); return; } @@ -114,8 +116,7 @@ } if (stream.status() != QDataStream::Ok) { - Log("PlaylistBrowserModel::PlaylistBrowserModel: cannot read file") << - file.fileName(); + qWarning("Cannot read file %s", qPrintable(file.fileName())); delete playlist; break; } @@ -126,11 +127,10 @@ PlaylistBrowserModel::~PlaylistBrowserModel() { - QFile file(KStandardDirs::locateLocal("appdata", QLatin1String("playlistsK4"))); + QFile file(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/playlistsK4")); if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) { - Log("PlaylistBrowserModel::~PlaylistBrowserModel: cannot open file") << - file.fileName(); + qWarning("Cannot open file %s", qPrintable(file.fileName())); return; } @@ -157,7 +157,7 @@ QStringList subtitleStrings; for (int j = 0; j < track.subtitles.size(); ++j) { - const KUrl &url = track.subtitles.at(j); + const QUrl &url = track.subtitles.at(j); subtitleStrings.append(url.url()); } @@ -182,7 +182,7 @@ { if (role == Qt::DecorationRole) { if (index.row() == currentPlaylist) { - return KIcon(QLatin1String("arrow-right")); + return QIcon::fromTheme(QLatin1String("arrow-right"), QIcon(":arrow-right")); } } else if (role == Qt::DisplayRole) { return playlists.at(index.row())->title; @@ -365,7 +365,7 @@ QTreeView::keyPressEvent(event); } -PlaylistTab::PlaylistTab(KMenu *menu, KActionCollection *collection, MediaWidget *mediaWidget_) : +PlaylistTab::PlaylistTab(QMenu *menu, KActionCollection *collection, MediaWidget *mediaWidget_) : mediaWidget(mediaWidget_) { Playlist *temporaryPlaylist = new Playlist(); @@ -383,59 +383,58 @@ this, SLOT(playTrack(Playlist*,int))); connect(mediaWidget, SIGNAL(playlistPrevious()), this, SLOT(playPreviousTrack())); - connect(mediaWidget, SIGNAL(playlistPlay()), this, SLOT(playCurrentTrack())); connect(mediaWidget, SIGNAL(playlistNext()), this, SLOT(playNextTrack())); - connect(mediaWidget, SIGNAL(playlistUrlsDropped(QList)), - this, SLOT(appendUrls(QList))); + connect(mediaWidget, SIGNAL(playlistUrlsDropped(QList)), + this, SLOT(appendUrls(QList))); connect(mediaWidget, SIGNAL(playlistTrackLengthChanged(int)), this, SLOT(updateTrackLength(int))); connect(mediaWidget, SIGNAL(playlistTrackMetadataChanged(QMap)), this, SLOT(updateTrackMetadata(QMap))); - repeatAction = new KAction(KIcon(QLatin1String("media-playlist-repeat")), + repeatAction = new QAction(QIcon::fromTheme(QLatin1String("media-playlist-repeat"), QIcon(":media-playlist-repeat")), i18nc("playlist menu", "Repeat"), this); repeatAction->setCheckable(true); menu->addAction(collection->addAction(QLatin1String("playlist_repeat"), repeatAction)); - randomAction = new KAction(KIcon(QLatin1String("media-playlist-shuffle")), + randomAction = new QAction(QIcon::fromTheme(QLatin1String("media-playlist-shuffle"), QIcon(":media-playlist-shuffle")), i18nc("playlist menu", "Random"), this); randomAction->setCheckable(true); menu->addAction(collection->addAction(QLatin1String("playlist_random"), randomAction)); - KAction *addSubtitleAction = - new KAction(KIcon(QLatin1String("application-x-subrip")), i18n("Add Subtitle"), this); + QAction *addSubtitleAction = + new QAction(QIcon::fromTheme(QLatin1String("application-x-subrip"), QIcon(":application-x-subrip")), i18n("Add Subtitle"), this); collection->addAction(QLatin1String("playlist_add_subtitle"), addSubtitleAction); - KAction *removeTrackAction = - new KAction(KIcon(QLatin1String("edit-delete")), i18nc("@action", "Remove"), this); + QAction *removeTrackAction = + new QAction(QIcon::fromTheme(QLatin1String("edit-delete"), QIcon(":edit-delete")), i18nc("@action", "Remove"), this); collection->addAction(QLatin1String("playlist_remove_track"), removeTrackAction); - KAction *clearAction = new KAction(KIcon(QLatin1String("edit-clear-list")), + QAction *clearAction = new QAction(QIcon::fromTheme(QLatin1String("edit-clear-list"), QIcon(":edit-clear-list")), i18nc("remove all items from a list", "Clear"), this); connect(clearAction, SIGNAL(triggered(bool)), playlistModel, SLOT(clearVisiblePlaylist())); menu->addAction(collection->addAction(QLatin1String("playlist_clear"), clearAction)); menu->addSeparator(); - KAction *newAction = new KAction(KIcon(QLatin1String("list-add")), i18nc("@action", "New"), this); + QAction *newAction = new QAction(QIcon::fromTheme(QLatin1String("list-add"), QIcon(":list-add")), i18nc("@action", "New"), this); connect(newAction, SIGNAL(triggered(bool)), this, SLOT(newPlaylist())); menu->addAction(collection->addAction(QLatin1String("playlist_new"), newAction)); - KAction *renameAction = new KAction(KIcon(QLatin1String("edit-rename")), + QAction *renameAction = new QAction(QIcon::fromTheme(QLatin1String("edit-rename"), QIcon(":edit-rename")), i18nc("rename an entry in a list", "Rename"), this); connect(renameAction, SIGNAL(triggered(bool)), this, SLOT(renamePlaylist())); menu->addAction(collection->addAction(QLatin1String("playlist_rename"), renameAction)); - KAction *removePlaylistAction = - new KAction(KIcon(QLatin1String("edit-delete")), i18nc("@action", "Remove"), this); + QAction *removePlaylistAction = + new QAction(QIcon::fromTheme(QLatin1String("edit-delete"), QIcon(":edit-delete")), i18nc("@action", "Remove"), this); connect(removePlaylistAction, SIGNAL(triggered(bool)), this, SLOT(removePlaylist())); menu->addAction(collection->addAction(QLatin1String("playlist_remove"), removePlaylistAction)); - KAction *savePlaylistAction = KStandardAction::save(this, SLOT(savePlaylist()), this); + QAction *savePlaylistAction = KStandardAction::save(this, SLOT(savePlaylist()), this); menu->addAction(collection->addAction(QLatin1String("playlist_save"), savePlaylistAction)); - KAction *savePlaylistAsAction = + QAction *savePlaylistAsAction = KStandardAction::saveAs(this, SLOT(savePlaylistAs()), this); menu->addAction(collection->addAction(QLatin1String("playlist_save_as"), savePlaylistAsAction)); @@ -558,13 +557,13 @@ { } -void PlaylistTab::appendToCurrentPlaylist(const QList &urls, bool playImmediately) +void PlaylistTab::appendToCurrentPlaylist(const QList &urls, bool playImmediately) { playlistModel->appendUrls(playlistBrowserModel->getCurrentPlaylist(), urls, playImmediately); } -void PlaylistTab::appendToVisiblePlaylist(const QList &urls, bool playImmediately) +void PlaylistTab::appendToVisiblePlaylist(const QList &urls, bool playImmediately) { playlistModel->appendUrls(playlistModel->getVisiblePlaylist(), urls, playImmediately); } @@ -616,12 +615,12 @@ void PlaylistTab::createFileWidget() { - KFileWidget *fileWidget = new KFileWidget(KUrl(), fileWidgetSplitter); + KFileWidget *fileWidget = new KFileWidget(QUrl(), fileWidgetSplitter); fileWidget->setFilter(MediaWidget::extensionFilter()); fileWidget->setMode(KFile::Files | KFile::ExistingOnly); fileWidgetSplitter->setStretchFactor(1, 1); - // KFileWidget creates a KUrlComboBox without layout (!), which steals the focus: + // KFileWidget creates a QUrlComboBox without layout (!), which steals the focus: // kDebug() << QApplication::focusWidget(); // kDebug() << QApplication::focusWidget()->layout(); // Let's reclaim the focus (and give it back to the main window). @@ -678,7 +677,7 @@ int row = selectedRows.at(0).row(); Playlist *playlist = playlistModel->getVisiblePlaylist(); - QList urls = KFileDialog::getOpenUrls(KUrl(), subtitleExtensionFilter(), this); + QList urls = QFileDialog::getOpenFileUrls(this, "", QUrl(), subtitleExtensionFilter()); if ((row < playlist->tracks.size()) && !urls.isEmpty()) { PlaylistTrack &track = playlist->tracks[row]; @@ -763,7 +762,7 @@ if (track != -1) { PlaylistTrack &playlistTrack = playlist->tracks[track]; - KUrl subtitleUrl; + QUrl subtitleUrl; if ((playlistTrack.currentSubtitle >= 0) && (playlistTrack.currentSubtitle < playlistTrack.subtitles.size())) { @@ -775,17 +774,17 @@ if (!localFile.isEmpty()) { if (QFile::exists(localFile + QLatin1String(".asc"))) { - subtitleUrl = KUrl::fromLocalFile(localFile + QLatin1String(".asc")); + subtitleUrl = QUrl::fromLocalFile(localFile + QLatin1String(".asc")); } else if (QFile::exists(localFile + QLatin1String(".smi"))) { - subtitleUrl = KUrl::fromLocalFile(localFile + QLatin1String(".smi")); + subtitleUrl = QUrl::fromLocalFile(localFile + QLatin1String(".smi")); } else if (QFile::exists(localFile + QLatin1String(".srt"))) { - subtitleUrl = KUrl::fromLocalFile(localFile + QLatin1String(".srt")); + subtitleUrl = QUrl::fromLocalFile(localFile + QLatin1String(".srt")); } else if (QFile::exists(localFile + QLatin1String(".ssa"))) { - subtitleUrl = KUrl::fromLocalFile(localFile + QLatin1String(".ssa")); + subtitleUrl = QUrl::fromLocalFile(localFile + QLatin1String(".ssa")); } else if (QFile::exists(localFile + QLatin1String(".sub"))) { - subtitleUrl = KUrl::fromLocalFile(localFile + QLatin1String(".sub")); + subtitleUrl = QUrl::fromLocalFile(localFile + QLatin1String(".sub")); } else if (QFile::exists(localFile + QLatin1String(".txt"))) { - subtitleUrl = KUrl::fromLocalFile(localFile + QLatin1String(".txt")); + subtitleUrl = QUrl::fromLocalFile(localFile + QLatin1String(".txt")); } } @@ -807,7 +806,7 @@ } } -void PlaylistTab::appendUrls(const QList &urls) +void PlaylistTab::appendUrls(const QList &urls) { playlistModel->appendUrls(playlistModel->getVisiblePlaylist(), urls, true); } @@ -848,12 +847,12 @@ } Playlist *playlist = playlistBrowserModel->getPlaylist(index.row()); - KUrl url = playlist->url; + QUrl url = playlist->url; if (askName || !url.isValid() || url.fileName().endsWith(QLatin1String(".kaffeine"), Qt::CaseInsensitive)) { - url = KFileDialog::getSaveUrl(KUrl(), i18nc("file filter", - "*.xspf|XSPF Playlist\n*.m3u|M3U Playlist\n*.pls|PLS Playlist"), this); + url = QFileDialog::getSaveFileUrl(this, "", QUrl(), i18nc("file filter", + "*.xspf|XSPF Playlist\n*.m3u|M3U Playlist\n*.pls|PLS Playlist")); if (!url.isValid()) { return; diff -Nru kaffeine-1.3.1+git20151128/src/playlist/playlisttab.h kaffeine-2.0.4+git20160916/src/playlist/playlisttab.h --- kaffeine-1.3.1+git20151128/src/playlist/playlisttab.h 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/playlist/playlisttab.h 2016-09-17 17:18:56.000000000 +0000 @@ -77,11 +77,11 @@ { Q_OBJECT public: - PlaylistTab(KMenu *menu, KActionCollection *collection, MediaWidget *mediaWidget_); + PlaylistTab(QMenu *menu, KActionCollection *collection, MediaWidget *mediaWidget_); ~PlaylistTab(); - void appendToCurrentPlaylist(const QList &urls, bool playImmediately); - void appendToVisiblePlaylist(const QList &urls, bool playImmediately); + void appendToCurrentPlaylist(const QList &urls, bool playImmediately); + void appendToVisiblePlaylist(const QList &urls, bool playImmediately); void removeTrack(int row); void setRandom(bool random); void setRepeat(bool repeat); @@ -105,7 +105,7 @@ void playNextTrack(); void playTrack(Playlist *playlist, int track); void playTrack(const QModelIndex &index); - void appendUrls(const QList &urls); + void appendUrls(const QList &urls); void appendPlaylist(Playlist *playlist, bool playImmediately); void updateTrackLength(int length); void updateTrackMetadata(const QMap &metadata); @@ -122,8 +122,8 @@ PlaylistBrowserView *playlistBrowserView; PlaylistModel *playlistModel; PlaylistView *playlistView; - KAction *randomAction; - KAction *repeatAction; + QAction *randomAction; + QAction *repeatAction; }; #endif /* PLAYLISTTAB_H */ diff -Nru kaffeine-1.3.1+git20151128/src/scanfile.dvb kaffeine-2.0.4+git20160916/src/scanfile.dvb --- kaffeine-1.3.1+git20151128/src/scanfile.dvb 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/scanfile.dvb 2016-09-17 17:18:56.000000000 +0000 @@ -1,6 +1,6 @@ -# this file is automatically generated from http://linuxtv.org/hg/dvb-apps +# this file is automatically generated from https://linuxtv.org/downloads/dtv-scan-tables [date] -2011-09-08 +2016-05-29 [dvb-c/at-Innsbruck] C 442000000 6875000 NONE QAM64 C 450000000 6875000 NONE QAM64 @@ -149,6 +149,44 @@ C 586000000 6875000 NONE QAM256 [dvb-c/br-Net-Digital] C 573000000 5217000 NONE QAM256 +[dvb-c/ch-Bern-upc-cablecom] +C 426000000 6900000 NONE QAM64 +[dvb-c/ch-GGA-Pratteln] +C 314000000 6900000 NONE QAM256 +C 362000000 6900000 NONE QAM256 +C 378000000 6900000 NONE QAM256 +C 394000000 6900000 NONE QAM256 +C 474000000 6900000 NONE QAM256 +C 482000000 6900000 NONE QAM256 +C 570000000 6900000 NONE QAM256 +C 578000000 6900000 NONE QAM256 +C 586000000 6900000 NONE QAM256 +C 594000000 6900000 NONE QAM256 +C 602000000 6900000 NONE QAM256 +C 658000000 6900000 NONE QAM256 +C 666000000 6900000 NONE QAM256 +C 674000000 6900000 NONE QAM256 +C 682000000 6900000 NONE QAM256 +C 690000000 6900000 NONE QAM256 +C 698000000 6900000 NONE QAM256 +C 706000000 6900000 NONE QAM256 +C 714000000 6900000 NONE QAM256 +C 722000000 6900000 NONE QAM256 +C 730000000 6900000 NONE QAM256 +C 738000000 6900000 NONE QAM256 +C 746000000 6900000 NONE QAM256 +C 754000000 6900000 NONE QAM256 +C 762000000 6900000 NONE QAM256 +C 770000000 6900000 NONE QAM256 +C 778000000 6900000 NONE QAM256 +C 786000000 6900000 NONE QAM256 +C 794000000 6900000 NONE QAM256 +C 802000000 6900000 NONE QAM256 +C 810000000 6900000 NONE QAM256 +C 818000000 6900000 NONE QAM256 +C 826000000 6900000 NONE QAM256 +C 834000000 6900000 NONE QAM256 +C 842000000 6900000 NONE QAM256 [dvb-c/ch-Rega-Sense] C 125000000 6900000 NONE QAM64 C 434000000 6900000 NONE QAM64 @@ -177,10 +215,38 @@ C 730000000 6900000 NONE QAM64 [dvb-c/ch-Video2000] C 306000000 6900000 NONE QAM64 -[dvb-c/ch-Zuerich-cablecom] +[dvb-c/ch-Zuerich-upc-cablecom] C 410000000 6900000 NONE QAM64 -[dvb-c/ch-unknown] -C 530000000 6900000 NONE QAM64 +[dvb-c/ch-interGGA] +C 474000000 6900000 NONE QAM256 +C 482000000 6900000 NONE QAM256 +C 490000000 6900000 NONE QAM256 +C 498000000 6900000 NONE QAM256 +C 506000000 6900000 NONE QAM256 +C 514000000 6900000 NONE QAM256 +C 522000000 6900000 NONE QAM256 +C 530000000 6900000 NONE QAM256 +C 602000000 6900000 NONE QAM256 +C 610000000 6900000 NONE QAM256 +C 618000000 6900000 NONE QAM256 +C 626000000 6900000 NONE QAM256 +C 634000000 6900000 NONE QAM256 +C 642000000 6900000 NONE QAM256 +C 650000000 6900000 NONE QAM256 +C 658000000 6900000 NONE QAM256 +C 666000000 6900000 NONE QAM256 +C 674000000 6900000 NONE QAM256 +C 682000000 6900000 NONE QAM256 +C 690000000 6900000 NONE QAM256 +C 698000000 6900000 NONE QAM256 +C 706000000 6900000 NONE QAM256 +C 714000000 6900000 NONE QAM256 +C 722000000 6900000 NONE QAM256 +C 730000000 6900000 NONE QAM256 +C 738000000 6900000 NONE QAM256 +C 746000000 6900000 NONE QAM256 +[dvb-c/ch-quickline-ewaarberg] +C 306000000 6900000 NONE QAM256 [dvb-c/cz-Moravianet] C 218000000 6900000 NONE QAM64 C 226000000 6900000 NONE QAM64 @@ -194,6 +260,35 @@ C 290000000 6900000 NONE QAM64 C 298000000 6900000 NONE QAM64 C 306000000 6900000 NONE QAM64 +[dvb-c/cz-UPC] +C 554000000 6900000 AUTO QAM256 +C 562000000 6900000 AUTO QAM256 +C 570000000 6900000 AUTO QAM256 +C 578000000 6900000 AUTO QAM256 +C 586000000 6900000 AUTO QAM256 +C 602000000 6900000 AUTO QAM256 +C 610000000 6900000 AUTO QAM256 +C 618000000 6900000 AUTO QAM256 +C 626000000 6900000 AUTO QAM64 +C 634000000 6900000 AUTO QAM64 +C 642000000 6900000 AUTO QAM64 +C 650000000 6900000 AUTO QAM64 +C 658000000 6900000 AUTO QAM64 +C 666000000 6900000 AUTO QAM64 +C 674000000 6900000 AUTO QAM64 +C 682000000 6900000 AUTO QAM64 +C 690000000 6900000 AUTO QAM64 +C 698000000 6900000 AUTO QAM64 +C 706000000 6900000 AUTO QAM64 +C 714000000 6900000 AUTO QAM64 +C 722000000 6900000 AUTO QAM64 +C 730000000 6900000 AUTO QAM64 +C 738000000 6900000 AUTO QAM64 +C 746000000 6900000 AUTO QAM64 +C 754000000 6900000 AUTO QAM64 +C 762000000 6900000 AUTO QAM64 +C 770000000 6900000 AUTO QAM64 +C 778000000 6900000 AUTO QAM64 [dvb-c/de-Berlin] C 113000000 6900000 NONE QAM64 C 394000000 6900000 NONE QAM64 @@ -228,7 +323,35 @@ C 618000000 6900000 NONE QAM64 C 626000000 6900000 NONE QAM64 [dvb-c/de-Kabel_BW] -C 113000000 6900000 NONE QAM64 +C 114000000 6900000 NONE QAM256 +[dvb-c/de-Kabel_Deutschland-Hannover] +C 114000000 6900000 NONE QAM256 +C 122000000 6900000 NONE QAM64 +C 130000000 6900000 NONE QAM256 +C 330000000 6900000 NONE QAM256 +C 338000000 6900000 NONE QAM256 +C 346000000 6900000 NONE QAM256 +C 354000000 6900000 NONE QAM256 +C 362000000 6900000 NONE QAM256 +C 370000000 6900000 NONE QAM256 +C 378000000 6900000 NONE QAM256 +C 386000000 6900000 NONE QAM256 +C 394000000 6900000 NONE QAM256 +C 402000000 6900000 NONE QAM256 +C 410000000 6900000 NONE QAM256 +C 426000000 6900000 NONE QAM256 +C 434000000 6900000 NONE QAM256 +C 442000000 6900000 NONE QAM256 +C 450000000 6900000 NONE QAM256 +C 458000000 6900000 NONE QAM256 +C 466000000 6900000 NONE QAM256 +C 498000000 6900000 NONE QAM256 +C 522000000 6900000 NONE QAM256 +C 530000000 6900000 NONE QAM256 +C 538000000 6900000 NONE QAM256 +C 610000000 6900000 NONE QAM64 +C 618000000 6900000 NONE QAM256 +C 626000000 6900000 NONE QAM256 [dvb-c/de-Muenchen] C 113000000 6900000 NONE QAM64 C 121000000 6900000 NONE QAM64 @@ -251,15 +374,54 @@ C 466000000 6900000 NONE QAM64 C 482000000 6900000 NONE QAM64 C 490000000 6900000 NONE QAM256 +[dvb-c/de-NetAachen] +C 113000000 6900000 AUTO QAM256 +C 121000000 6900000 AUTO QAM256 +C 129000000 6900000 AUTO QAM256 +C 338000000 6900000 AUTO QAM256 +C 346000000 6900000 AUTO QAM256 +C 354000000 6900000 AUTO QAM64 +C 362000000 6900000 AUTO QAM64 +C 370000000 6900000 AUTO QAM64 +C 378000000 6900000 AUTO QAM64 +C 386000000 6900000 AUTO QAM64 +C 394000000 6900000 AUTO QAM256 +C 402000000 6900000 AUTO QAM256 +C 410000000 6900000 AUTO QAM256 +C 418000000 6900000 AUTO QAM256 +C 530000000 6900000 AUTO QAM256 +C 538000000 6900000 AUTO QAM256 +C 562000000 6900000 AUTO QAM256 +C 570000000 6900000 AUTO QAM256 +C 578000000 6900000 AUTO QAM256 +C 586000000 6900000 AUTO QAM256 +C 602000000 6900000 AUTO QAM256 +C 610000000 6900000 AUTO QAM256 +C 618000000 6900000 AUTO QAM256 +C 626000000 6900000 AUTO QAM256 +C 634000000 6900000 AUTO QAM256 +C 642000000 6900000 AUTO QAM256 +C 650000000 6900000 AUTO QAM256 +C 658000000 6900000 AUTO QAM256 +C 666000000 6900000 AUTO QAM256 +C 674000000 6900000 AUTO QAM256 +C 682000000 6900000 AUTO QAM256 +C 690000000 6900000 AUTO QAM256 +C 698000000 6900000 AUTO QAM256 +C 706000000 6900000 AUTO QAM256 +C 714000000 6900000 AUTO QAM256 [dvb-c/de-Primacom] C 121000000 6900000 NONE QAM64 -C 129000000 6900000 NONE QAM256 -C 137000000 6900000 NONE QAM256 -C 145000000 6900000 NONE QAM256 -C 306000000 6900000 NONE QAM64 -C 314000000 6900000 NONE QAM64 -C 322000000 6900000 NONE QAM64 -C 330000000 6900000 NONE QAM64 +C 129000000 6900000 NONE QAM64 +C 137000000 6900000 NONE QAM64 +C 145000000 6900000 NONE QAM64 +C 153000000 6900000 NONE QAM256 +C 161000000 6900000 NONE QAM256 +C 169000000 6900000 NONE QAM256 +C 306000000 6900000 NONE QAM256 +C 314000000 6900000 NONE QAM256 +C 322000000 6900000 NONE QAM256 +C 330000000 6900000 NONE QAM256 C 338000000 6900000 NONE QAM256 C 346000000 6900000 NONE QAM256 C 354000000 6900000 NONE QAM256 @@ -271,13 +433,14 @@ C 402000000 6900000 NONE QAM256 C 410000000 6900000 NONE QAM256 C 418000000 6900000 NONE QAM256 -C 434000000 6900000 NONE QAM64 -C 442000000 6900000 NONE QAM64 -C 450000000 6900000 NONE QAM64 -C 458000000 6900000 NONE QAM64 -C 466000000 6900000 NONE QAM64 -C 610000000 6900000 NONE QAM64 +C 434000000 6900000 NONE QAM256 +C 442000000 6900000 NONE QAM256 +C 450000000 6900000 NONE QAM256 +C 458000000 6900000 NONE QAM256 +C 466000000 6900000 NONE QAM256 C 746000000 6900000 NONE QAM64 +C 754000000 6900000 NONE QAM64 +C 762000000 6900000 NONE QAM64 [dvb-c/de-Unitymedia] C 113000000 6900000 NONE QAM256 C 121000000 6900000 NONE QAM256 @@ -409,6 +572,35 @@ C 610000000 6875000 NONE QAM256 C 754000000 6875000 NONE QAM256 C 770000000 6875000 NONE QAM256 +[dvb-c/dk-YouSee] +C 135000000 6875000 NONE QAM64 +C 143000000 6875000 NONE QAM64 +C 156000000 6875000 NONE QAM64 +C 230000000 6875000 NONE QAM64 +C 238000000 6875000 NONE QAM64 +C 248000000 6875000 NONE QAM64 +C 378000000 6875000 NONE QAM64 +C 402000000 6875000 NONE QAM64 +C 418000000 6875000 NONE QAM64 +C 442000000 6875000 NONE QAM64 +C 450000000 6875000 NONE QAM64 +C 458000000 6875000 NONE QAM64 +C 482000000 6875000 NONE QAM64 +C 490000000 6875000 NONE QAM64 +C 498000000 6875000 NONE QAM64 +C 506000000 6875000 NONE QAM64 +C 514000000 6875000 NONE QAM64 +C 522000000 6875000 NONE QAM64 +C 530000000 6875000 NONE QAM64 +C 538000000 6875000 NONE QAM64 +C 546000000 6875000 NONE QAM64 +C 554000000 6875000 NONE QAM64 +C 562000000 6875000 NONE QAM64 +C 570000000 6875000 NONE QAM64 +C 578000000 6875000 NONE QAM64 +C 586000000 6875000 NONE QAM64 +C 594000000 6875000 NONE QAM64 +C 602000000 6875000 NONE QAM64 [dvb-c/es-Euskaltel] C 714000000 6875000 NONE QAM64 C 722000000 6875000 NONE QAM64 @@ -425,8 +617,35 @@ C 810000000 6875000 NONE QAM64 C 818000000 6875000 NONE QAM64 [dvb-c/fi-HTV] -C 154000000 6900000 NONE QAM128 -C 283000000 5900000 NONE QAM128 +C 146000000 6900000 NONE QAM256 +C 154000000 6900000 NONE QAM256 +C 162000000 6900000 NONE QAM256 +C 170000000 6900000 NONE QAM256 +C 178000000 6900000 NONE QAM256 +C 186000000 6900000 NONE QAM256 +C 194000000 6900000 NONE QAM256 +C 202000000 6900000 NONE QAM256 +C 210000000 6900000 NONE QAM256 +C 218000000 6900000 NONE QAM256 +C 226000000 6900000 NONE QAM256 +C 242000000 6900000 NONE QAM256 +C 250000000 6900000 NONE QAM256 +C 258000000 6900000 NONE QAM256 +C 266000000 6900000 NONE QAM256 +C 274000000 6900000 NONE QAM128 +C 290000000 6900000 NONE QAM256 +C 298000000 6900000 NONE QAM256 +C 306000000 6900000 NONE QAM256 +C 314000000 6900000 NONE QAM256 +C 322000000 6900000 NONE QAM256 +C 338000000 6900000 NONE QAM256 +C 346000000 6900000 NONE QAM256 +C 354000000 6900000 NONE QAM256 +C 362000000 6900000 NONE QAM256 +C 370000000 6900000 NONE QAM256 +C 378000000 6900000 NONE QAM256 +C 386000000 6900000 NONE QAM256 +C 394000000 6900000 NONE QAM256 [dvb-c/fi-Joensuu-Tikka] C 154000000 6900000 NONE QAM128 C 162000000 6900000 NONE QAM128 @@ -504,14 +723,30 @@ C 498000000 6900000 NONE QAM128 C 514000000 6900000 NONE QAM128 [dvb-c/fi-sonera] -C 154000000 6900000 NONE QAM128 -C 162000000 6900000 NONE QAM128 -C 170000000 6900000 NONE QAM128 -C 314000000 6900000 NONE QAM128 -C 322000000 6900000 NONE QAM128 -C 338000000 6900000 NONE QAM128 -C 346000000 6900000 NONE QAM128 -C 354000000 6900000 NONE QAM128 +C 234000000 6900000 NONE QAM256 +C 242000000 6900000 NONE QAM256 +C 250000000 6900000 NONE QAM256 +C 258000000 6900000 NONE QAM256 +C 266000000 6900000 NONE QAM256 +C 274000000 6900000 NONE QAM256 +C 298000000 6900000 NONE QAM256 +C 306000000 6900000 NONE QAM256 +C 314000000 6900000 NONE QAM256 +C 322000000 6900000 NONE QAM256 +C 330000000 6900000 AUTO QAM256 +C 338000000 6900000 NONE QAM256 +C 346000000 6900000 AUTO QAM256 +C 354000000 6900000 AUTO QAM256 +C 362000000 6900000 AUTO QAM256 +C 370000000 6900000 AUTO QAM256 +C 378000000 6900000 AUTO QAM256 +C 386000000 6900000 AUTO QAM256 +C 394000000 6900000 AUTO QAM256 +C 402000000 6900000 AUTO QAM256 +C 410000000 6900000 AUTO QAM256 +C 418000000 6900000 AUTO QAM256 +C 426000000 6900000 AUTO QAM256 +C 434000000 6900000 AUTO QAM256 [dvb-c/fi-vaasa-oncable] C 143000000 6875000 NONE QAM64 C 306000000 6875000 NONE QAM64 @@ -564,6 +799,37 @@ C 834000000 6875000 NONE QAM64 C 842000000 6875000 NONE QAM64 C 850000000 6875000 NONE QAM64 +[dvb-c/hr-B.net] +C 394000000 6900000 NONE QAM64 +C 450000000 6900000 NONE QAM256 +C 458000000 6900000 NONE QAM256 +C 466000000 6900000 NONE QAM256 +C 530000000 6900000 NONE QAM256 +C 610000000 6900000 NONE QAM256 +C 658000000 6900000 NONE QAM256 +C 666000000 6900000 NONE QAM256 +C 674000000 6900000 NONE QAM256 +C 682000000 6900000 NONE QAM256 +C 698000000 6900000 NONE QAM64 +C 706000000 6900000 NONE QAM64 +C 714000000 6900000 NONE QAM64 +C 722000000 6900000 NONE QAM64 +C 730000000 6900000 NONE QAM64 +C 738000000 6900000 NONE QAM64 +C 746000000 6900000 NONE QAM64 +C 754000000 6900000 NONE QAM256 +C 762000000 6900000 NONE QAM64 +C 770000000 6900000 NONE QAM64 +C 778000000 6900000 NONE QAM64 +C 786000000 6900000 NONE QAM64 +C 794000000 6900000 NONE QAM64 +C 810000000 6900000 NONE QAM64 +C 818000000 6900000 NONE QAM64 +C 826000000 6900000 NONE QAM64 +C 834000000 6900000 NONE QAM64 +C 842000000 6900000 NONE QAM64 +C 850000000 6900000 NONE QAM64 +C 858000000 6900000 NONE QAM64 [dvb-c/hu-Digikabel] C 121000000 6900000 NONE QAM256 C 354000000 6900000 NONE QAM256 @@ -599,6 +865,8 @@ C 724000000 3450000 NONE QAM64 C 728000000 3450000 NONE QAM64 C 732000000 3450000 NONE QAM64 +[dvb-c/nl-Delta] +C 402000000 6875000 NONE QAM64 [dvb-c/nl-REKAM-CAIW_Gouda] C 163000000 6875000 NONE QAM64 C 770000000 6900000 NONE QAM64 @@ -607,33 +875,8 @@ C 369000000 6875000 NONE QAM64 C 372000000 6875000 NONE QAM64 C 514000000 6875000 NONE QAM64 -[dvb-c/nl-Ziggo-Zwolle] -C 297000000 6875000 NONE QAM64 -C 305000000 6875000 NONE QAM64 -C 313000000 6875000 NONE QAM64 -C 321000000 6875000 NONE QAM64 -C 329000000 6875000 NONE QAM64 -C 337000000 6875000 NONE QAM64 -C 345000000 6875000 NONE QAM64 -C 353000000 6875000 NONE QAM64 -C 361000000 6875000 NONE QAM64 -C 369000000 6875000 NONE QAM64 -C 377000000 6875000 NONE QAM64 -C 385000000 6875000 NONE QAM64 -C 393000000 6875000 NONE QAM64 -C 401000000 6875000 NONE QAM64 -C 409000000 6875000 NONE QAM64 -C 417000000 6875000 NONE QAM64 -C 425000000 6875000 NONE QAM64 -C 610000000 6875000 NONE QAM64 -C 618000000 6875000 NONE QAM64 -C 642000000 6875000 NONE QAM64 -C 650000000 6875000 NONE QAM64 -C 754000000 6875000 NONE QAM64 -C 762000000 6875000 NONE QAM64 -C 794000000 6875000 NONE QAM64 -C 810000000 6875000 NONE QAM64 -C 818000000 6875000 NONE QAM64 +[dvb-c/nl-upc] +C 164000000 6900000 NONE QAM64 [dvb-c/no-Oslo-CanalDigital] C 354000000 6950000 NONE QAM64 C 362000000 6950000 NONE QAM64 @@ -669,6 +912,32 @@ C 442000000 6952000 NONE QAM256 C 482000000 6900000 NONE QAM256 C 498000000 6900000 NONE QAM256 +[dvb-c/ro-DigiTV] +C 306000000 6900000 NONE QAM64 +C 314000000 6900000 NONE QAM64 +C 322000000 6900000 NONE QAM64 +C 330000000 6900000 NONE QAM256 +C 338000000 6900000 NONE QAM256 +C 346000000 6900000 NONE QAM64 +C 354000000 6900000 NONE QAM64 +C 362000000 6900000 NONE QAM64 +C 370000000 6900000 NONE QAM64 +C 378000000 6900000 NONE QAM64 +C 386000000 6900000 NONE QAM64 +C 394000000 6900000 NONE QAM64 +C 402000000 6900000 NONE QAM64 +C 410000000 6900000 NONE QAM64 +C 418000000 6900000 NONE QAM64 +C 426000000 6900000 NONE QAM64 +C 434000000 6900000 NONE QAM64 +C 442000000 6900000 NONE QAM64 +C 450000000 6900000 NONE QAM64 +C 458000000 6900000 NONE QAM64 +C 466000000 6900000 NONE QAM64 +C 474000000 6900000 NONE QAM64 +C 482000000 6900000 NONE QAM64 +C 490000000 6900000 NONE QAM64 +C 498000000 6900000 NONE QAM64 [dvb-c/se-Gothnet] C 314000000 7000000 NONE QAM64 C 322000000 7000000 NONE QAM64 @@ -685,29 +954,37 @@ C 698000000 6900000 NONE QAM64 C 706000000 6900000 NONE QAM64 [dvb-c/se-comhem] -C 289500000 6875000 NONE QAM64 -C 298000000 6875000 NONE QAM64 -C 306000000 6875000 NONE QAM64 -C 314000000 6875000 NONE QAM64 -C 322000000 6875000 NONE QAM64 -C 338000000 6875000 NONE QAM64 -C 346000000 6875000 NONE QAM64 -C 354000000 6875000 NONE QAM64 +C 290000000 6875000 NONE QAM256 +C 298000000 6875000 NONE QAM256 +C 306000000 6875000 NONE QAM256 +C 314000000 6875000 NONE QAM256 +C 322000000 6875000 NONE QAM256 +C 330000000 6875000 NONE QAM256 +C 338000000 6875000 NONE QAM256 +C 346000000 6875000 NONE QAM256 +C 354000000 6875000 NONE QAM256 C 362000000 6875000 NONE QAM64 -C 370000000 6875000 NONE QAM64 -C 378000000 6875000 NONE QAM64 -C 386000000 6875000 NONE QAM64 -C 394000000 6875000 NONE QAM64 -C 402000000 6875000 NONE QAM64 -C 418000000 6875000 NONE QAM64 -C 434000000 6875000 NONE QAM64 -C 442000000 6875000 NONE QAM64 -C 450000000 6875000 NONE QAM64 -C 458000000 6875000 NONE QAM64 -C 714000000 6875000 NONE QAM64 -C 722000000 6875000 NONE QAM64 -C 738000000 6875000 NONE QAM64 -C 786000000 6875000 NONE QAM64 +C 370000000 6875000 NONE QAM256 +C 378000000 6875000 NONE QAM256 +C 386000000 6875000 NONE QAM256 +C 394000000 6875000 NONE QAM256 +C 402000000 6875000 NONE QAM256 +C 410000000 6875000 NONE QAM256 +C 418000000 6875000 NONE QAM256 +C 426000000 6875000 NONE QAM256 +C 434000000 6875000 NONE QAM256 +C 442000000 6875000 NONE QAM256 +C 450000000 6875000 NONE QAM256 +C 458000000 6875000 NONE QAM256 +C 466000000 6875000 NONE QAM256 +C 474000000 6875000 NONE QAM256 +C 482000000 6875000 NONE QAM256 +C 490000000 6875000 NONE QAM256 +C 498000000 6875000 NONE QAM256 +C 506000000 6875000 NONE QAM256 +C 514000000 6875000 NONE QAM256 +C 522000000 6875000 NONE QAM256 +C 530000000 6875000 NONE QAM256 [dvb-s/ABS1-75.0E] S 12518000 V 22000000 AUTO S 12548000 V 22000000 AUTO @@ -720,18 +997,10 @@ [dvb-s/AMC1-103W] S 11942000 V 20000000 AUTO S 12100000 V 20000000 AUTO -[dvb-s/AMC2-85W] +[dvb-s/AMC16-85.0W] S 11731000 H 13021000 AUTO S 11744000 H 13021000 AUTO S 11771000 H 13021000 AUTO -[dvb-s/AMC3-87W] -S 11716000 H 4859000 AUTO -S 12142000 V 30000000 AUTO -S 12147000 H 4340000 AUTO -S 12159000 H 4444000 AUTO -S 12165000 H 4444000 AUTO -S 12172000 H 4444000 AUTO -S 12182000 V 30000000 AUTO [dvb-s/AMC4-101W] S 11573000 V 7234000 AUTO S 11655000 V 30000000 AUTO @@ -785,7 +1054,7 @@ S 12055000 V 6890000 AUTO S 12144000 V 2573000 AUTO S 12188000 H 6511000 AUTO -[dvb-s/AMC9-83W] +[dvb-s/AMC9-83.0W] S 11745000 H 4232000 AUTO S 11751000 H 4232000 AUTO S 11757000 H 4232000 AUTO @@ -924,6 +1193,69 @@ S 12063000 H 19980000 AUTO S 12155000 H 22500000 AUTO S 12185000 H 19980000 AUTO +[dvb-s/Anik-F3-119W] +S 12239000 L 20000000 7/8 +S 12414000 L 20000000 7/8 +S 12428000 R 20000000 7/8 +S 12486000 R 20000000 7/8 +S2 11715000 R 21500000 2/3 25 8PSK +S2 11728000 L 21500000 2/3 25 8PSK +S2 11745000 R 21500000 2/3 25 8PSK +S2 11758000 L 21500000 2/3 25 8PSK +S2 11776000 R 21500000 2/3 25 8PSK +S2 11789000 L 21500000 2/3 25 8PSK +S2 11806000 R 21500000 2/3 25 8PSK +S2 11819000 L 21500000 2/3 25 8PSK +S2 11837000 R 21500000 2/3 25 8PSK +S2 11850000 L 21500000 2/3 25 8PSK +S2 11867000 R 21500000 2/3 25 8PSK +S2 11880000 L 21500000 2/3 25 8PSK +S2 11898000 R 21500000 2/3 25 8PSK +S2 11928000 R 21500000 2/3 25 8PSK +S2 11959000 R 21500000 2/3 25 8PSK +S2 11972000 L 21500000 2/3 25 8PSK +S2 11989000 R 21500000 2/3 25 8PSK +S2 12002000 L 21500000 2/3 25 8PSK +S2 12020000 R 21500000 2/3 25 8PSK +S2 12033000 L 21500000 2/3 25 8PSK +S2 12050000 R 21500000 2/3 25 8PSK +S2 12063000 L 21500000 2/3 25 8PSK +S2 12081000 R 21500000 2/3 25 8PSK +S2 12094000 L 21500000 2/3 25 8PSK +S2 12111000 R 21500000 2/3 25 8PSK +S2 12124000 L 21500000 2/3 25 8PSK +S2 12142000 R 21500000 2/3 25 8PSK +S2 12155000 L 21500000 2/3 25 8PSK +S2 12172000 R 21500000 2/3 25 8PSK +S2 12185000 L 21500000 2/3 25 8PSK +S2 12224000 R 21500000 2/3 25 8PSK +S2 12253000 R 21500000 2/3 25 8PSK +S2 12268000 L 21500000 2/3 25 8PSK +S2 12282000 R 21500000 2/3 25 8PSK +S2 12297000 L 21500000 2/3 25 8PSK +S2 12311000 R 21500000 2/3 25 8PSK +S2 12326000 L 21500000 2/3 25 8PSK +S2 12341000 R 21500000 2/3 25 8PSK +S2 12355000 L 21500000 2/3 25 8PSK +S2 12370000 R 21500000 2/3 25 8PSK +S2 12384000 L 201500000 2/3 25 8PSK +S2 12399000 R 21500000 2/3 25 8PSK +S2 12443000 L 21500000 2/3 25 8PSK +S2 12457000 R 21500000 2/3 25 8PSK +S2 12472000 L 21500000 2/3 25 8PSK +S2 12501000 L 21500000 2/3 25 8PSK +S2 12516000 R 21500000 2/3 25 8PSK +S2 12530000 L 21500000 2/3 25 8PSK +S2 12545000 R 21500000 2/3 25 8PSK +S2 12559000 L 21500000 2/3 25 8PSK +S2 12574000 R 21500000 2/3 25 8PSK +S2 12589000 L 21500000 2/3 25 8PSK +S2 12603000 R 21500000 2/3 25 8PSK +S2 12618000 L 21500000 2/3 25 8PSK +S2 12632000 R 21500000 2/3 25 8PSK +S2 12647000 L 21500000 2/3 25 8PSK +S2 12661000 R 21500000 2/3 25 8PSK +S2 12676000 L 21500000 2/3 25 8PSK [dvb-s/Apstar6_C-134.0E] S 3766000 H 4285000 3/4 S 3840000 H 27500000 3/4 @@ -1037,7 +1369,7 @@ S2 12605000 H 28500000 9/10 AUTO QPSK S2 12605000 V 28500000 9/10 AUTO QPSK [dvb-s/Astra-28.2E] -S 10714000 H 22000000 5/6 +S 10714250 H 22000000 5/6 S 10729000 V 22000000 5/6 S 10744000 H 22000000 5/6 S 10758000 V 22000000 5/6 @@ -1045,86 +1377,83 @@ S 10788000 V 22000000 5/6 S 10803000 H 22000000 5/6 S 10818000 V 22000000 5/6 -S 10832000 H 22000000 5/6 -S 10847000 V 22000000 5/6 -S 10862000 H 22000000 5/6 -S 10876000 V 22000000 5/6 S 10891000 H 22000000 5/6 S 10906000 V 22000000 5/6 -S 10921000 H 22000000 5/6 -S 10936000 V 22000000 5/6 -S 11222170 H 27500000 2/3 -S 11223670 V 27500000 2/3 -S 11259000 V 27500000 2/3 -S 11261000 H 27500000 2/3 +S 10964000 H 22000000 5/6 +S 10994000 H 22000000 5/6 +S 11081000 H 22000000 5/6 +S 11112000 H 22000000 5/6 +S 11127000 V 23000000 3/4 +S 11141250 H 22000000 5/6 +S 11170750 H 22000000 5/6 +S 11225000 H 27500000 2/3 +S 11265000 H 27500000 2/3 +S 11265000 V 27500000 2/3 S 11307000 H 27500000 2/3 S 11307000 V 27500000 2/3 -S 11343000 V 27500000 2/3 S 11344000 H 27500000 2/3 -S 11390000 H 27500000 2/3 -S 11390000 V 27500000 2/3 -S 11426000 H 27500000 2/3 +S 11344500 V 27500000 2/3 +S 11385000 H 27500000 2/3 +S 11425000 H 27500000 2/3 S 11426000 V 27500000 2/3 -S 11469000 H 27500000 2/3 -S 11488000 V 27500000 2/3 -S 11508000 H 27500000 2/3 -S 11527000 V 27500000 2/3 -S 11546000 H 27500000 2/3 -S 11565000 V 27500000 2/3 -S 11585000 H 27500000 2/3 -S 11603850 V 27500000 2/3 -S 11623000 H 27500000 2/3 -S 11642000 V 27500000 2/3 -S 11661540 H 27500000 2/3 -S 11680770 V 27500000 2/3 -S 11720000 H 29500000 3/4 -S 11740000 V 27500000 2/3 -S 11758000 H 27500000 2/3 +S 11464250 H 22000000 5/6 +S 11479000 V 22000000 5/6 +S 11508500 V 22000000 5/6 +S 11523500 H 22000000 5/6 +S 11552750 H 22000000 5/6 +S 11567500 V 22000000 5/6 +S 11582250 H 22000000 5/6 +S 11597000 V 22000000 5/6 +S 11656000 V 22000000 5/6 +S 11656000 V 22000000 5/6 +S 11671750 H 22000000 5/6 +S 11685500 V 22000000 5/6 S 11778000 V 27500000 2/3 -S 11798000 H 29500000 3/4 S 11817000 V 27500000 2/3 -S 11836000 H 27500000 2/3 -S 11856000 V 27500000 2/3 +S 11836000 H 27500000 5/6 S 11876000 H 27500000 2/3 S 11895000 V 27500000 2/3 -S 11914000 H 27500000 2/3 -S 11934000 V 27500000 2/3 +S 11914000 H 27500000 5/6 +S 11934000 V 27500000 5/6 S 11954000 H 27500000 2/3 -S 11973000 V 27500000 2/3 -S 11992000 H 27500000 2/3 -S 12012000 V 27500000 2/3 S 12032000 H 27500000 2/3 S 12051000 V 27500000 2/3 -S 12070000 H 27500000 2/3 -S 12090000 V 27500000 2/3 -S 12110000 H 27500000 2/3 +S 12070000 H 27500000 5/6 +S 12110000 H 27500000 5/6 S 12129000 V 27500000 2/3 -S 12148000 H 27500000 2/3 -S 12168000 V 27500000 2/3 -S 12188000 H 27500000 2/3 -S 12207000 V 27500000 2/3 -S 12226000 H 27500000 2/3 -S 12246000 V 27500000 2/3 -S 12266000 H 27500000 2/3 -S 12285000 V 27500000 2/3 +S 12148000 H 27500000 5/6 +S 12188000 H 27500000 5/6 +S 12207000 V 27500000 5/6 +S 12266000 H 27500000 5/6 +S 12304000 H 27500000 2/3 S 12304000 H 27500000 2/3 -S 12324000 V 29500000 3/4 -S 12344000 H 29500000 3/4 -S 12363000 V 29500000 3/4 -S 12382000 H 27500000 2/3 -S 12402000 V 27500000 2/3 -S 12422000 H 27500000 2/3 -S 12441000 V 27500000 2/3 -S 12460000 H 27500000 2/3 S 12480000 V 27500000 2/3 -S 12524000 H 27500000 2/3 -S 12524000 V 27500000 2/3 -S 12560000 H 27500000 2/3 -S 12560000 V 27500000 2/3 -S 12596000 V 27500000 2/3 -S 12607000 H 27500000 3/4 -S 12629000 V 6111000 3/4 -S 12692000 V 19532000 1/2 +S2 10832000 H 22000000 3/4 25 8PSK +S2 10847000 V 23000000 2/3 25 8PSK +S2 10876000 V 23000000 2/3 25 8PSK +S2 10936000 V 23000000 2/3 25 8PSK +S2 11024000 H 23000000 2/3 25 8PSK +S2 11052750 H 23000000 3/4 25 8PSK +S2 11068000 V 23000000 2/3 25 8PSK +S2 11097000 V 23000000 3/4 25 8PSK +S2 11225000 V 23000000 2/3 25 8PSK +S2 11385000 V 29500000 3/4 25 QPSK +S2 11538000 V 23000000 2/3 25 8PSK +S2 11611750 H 23000000 2/3 25 8PSK +S2 11719500 H 29500000 3/4 25 QPSK +S2 11758000 H 29500000 3/4 25 QPSK +S2 11798000 H 29500000 3/4 25 QPSK +S2 11856000 V 29500000 3/4 25 QPSK +S2 12012000 V 29500000 3/4 25 QPSK +S2 12090000 V 29500000 3/4 25 QPSK +S2 12168000 V 29500000 3/4 25 QPSK +S2 12226500 H 29500000 3/4 25 QPSK +S2 12246000 V 29500000 3/4 25 QPSK +S2 12324000 V 29500000 3/4 25 QPSK +S2 12344000 H 29500000 3/4 25 QPSK +S2 12363000 V 29500000 3/4 25 QPSK +S2 12441000 V 29500000 3/4 25 QPSK +S2 12460000 H 29500000 3/4 25 QPSK [dvb-s/Atlantic-Bird-1-12.5W] S 11099000 H 2000000 5/6 S 11132000 H 3255000 3/4 @@ -1150,13 +1479,45 @@ S 12597000 H 1730000 3/4 S 12604000 H 1481000 3/4 S 12655000 H 4285000 3/4 -S 12659000 H 2141000 3/4 +S 12658000 H 2141000 3/4 S 12662000 V 3928000 3/4 S 12720000 V 1808000 3/4 S 12743000 V 3214000 3/4 +S2 12718000 H 36510000 AUTO AUTO 8PSK +S2 12718000 H 36510000 AUTO AUTO 8PSK +S2 12718000 H 36510000 AUTO AUTO 8PSK +S2 12718000 H 36510000 AUTO AUTO 8PSK [dvb-s/Atlantic-Bird-3-5.0W] -S 11096000 V 29950000 7/8 -S 11591000 V 20000000 2/3 +S2 11012000 V 30000000 AUTO AUTO 8PSK +S2 11012000 V 30000000 AUTO AUTO 8PSK +S2 11012000 V 30000000 AUTO AUTO 8PSK +S2 11179000 V 30000000 AUTO AUTO 8PSK +S2 11179000 V 30000000 AUTO AUTO 8PSK +S2 11179000 V 30000000 AUTO AUTO 8PSK +S2 11637000 V 30000000 AUTO AUTO 8PSK +S2 11637000 V 30000000 AUTO AUTO 8PSK +S2 11637000 V 30000000 AUTO AUTO 8PSK +S2 11637000 V 30000000 AUTO AUTO 8PSK +S2 11637000 V 30000000 AUTO AUTO 8PSK +S2 11637000 V 30000000 AUTO AUTO 8PSK +S2 11675000 H 30000000 AUTO AUTO 8PSK +S2 11675000 H 30000000 AUTO AUTO 8PSK +S2 11675000 H 30000000 AUTO AUTO 8PSK +S2 11675000 H 30000000 AUTO AUTO 8PSK +S2 11675000 H 30000000 AUTO AUTO 8PSK +S2 11675000 H 30000000 AUTO AUTO 8PSK +S2 11675000 H 30000000 AUTO AUTO 8PSK +S2 11675000 H 30000000 AUTO AUTO 8PSK +S2 11675000 H 30000000 AUTO AUTO 8PSK +S2 11675000 H 30000000 AUTO AUTO 8PSK +S2 12585000 H 27500000 AUTO AUTO 8PSK +S2 12585000 H 27500000 AUTO AUTO 8PSK +S2 12606000 V 29900000 AUTO AUTO 8PSK +S2 12606000 V 29900000 AUTO AUTO 8PSK +S2 12648000 V 29500000 AUTO AUTO 8PSK +S2 12648000 V 29500000 AUTO AUTO 8PSK +S2 12669000 H 30080000 AUTO AUTO 8PSK +S2 12669000 H 30080000 AUTO AUTO 8PSK [dvb-s/BrasilSat-B1-75.0W] S 3629000 H 6620000 AUTO S 3638000 H 4440000 AUTO @@ -1198,10 +1559,47 @@ S 4104000 V 3214000 AUTO S 4112000 V 4285000 AUTO S 4117000 V 2963000 AUTO -[dvb-s/BrasilSat-B3-84.0W] -S 3629000 H 6666000 AUTO -S 3644000 V 4687000 AUTO -S 3653000 V 3807000 AUTO +[dvb-s/BrasilSat-B4-70.0W] +S 3628000 H 3000000 AUTO +S 3631000 H 4687000 AUTO +S 3637000 H 2228000 AUTO +S 3640000 H 3263000 AUTO +S 3644000 V 3214000 AUTO +S 3645000 H 3520000 AUTO +S 3650000 H 4285000 AUTO +S 3650000 V 4400000 AUTO +S 3662000 V 4606000 AUTO +S 3665000 H 4700000 AUTO +S 3672000 H 4713000 AUTO +S 3672000 V 8454000 AUTO +S 3680000 H 6000000 AUTO +S 3685000 V 4500000 AUTO +S 3688000 H 6000000 AUTO +S 3695000 H 3598000 AUTO +S 3700000 V 9123000 AUTO +S 3708000 V 3928000 AUTO +S 3714000 V 4400000 AUTO +S 3752000 V 6220000 AUTO +S 3820000 V 27500000 AUTO +S 3874000 V 5926000 AUTO +S 3900000 V 27500000 AUTO +S 3940000 V 27500000 AUTO +S 3945000 H 3214000 AUTO +S 3951000 H 3214000 AUTO +S 3955000 H 4400000 AUTO +S 3964000 H 1875000 AUTO +S 3965000 V 2930000 AUTO +S 3973000 V 4338000 AUTO +S 3979000 V 3617000 AUTO +S 3983000 V 1630000 AUTO +S 3985000 H 2170000 AUTO +S 3997000 V 2300000 AUTO +S 4010000 H 13021000 AUTO +S 4047000 V 7143000 AUTO +[dvb-s/BrasilsatB4-84.0W] +S 3629000 H 6666000 AUTO +S 3644000 V 4687000 AUTO +S 3653000 V 3807000 AUTO S 3657000 V 3600000 AUTO S 3665000 V 3177000 AUTO S 3675000 V 4285000 AUTO @@ -1281,47 +1679,42 @@ S 4169000 V 8140000 AUTO S 4171000 H 2170000 AUTO S 4176000 V 3515000 AUTO -[dvb-s/BrasilSat-B4-70.0W] -S 3628000 H 3000000 AUTO -S 3631000 H 4687000 AUTO -S 3637000 H 2228000 AUTO -S 3640000 H 3263000 AUTO -S 3644000 V 3214000 AUTO -S 3645000 H 3520000 AUTO -S 3650000 H 4285000 AUTO -S 3650000 V 4400000 AUTO -S 3662000 V 4606000 AUTO -S 3665000 H 4700000 AUTO -S 3672000 H 4713000 AUTO -S 3672000 V 8454000 AUTO -S 3680000 H 6000000 AUTO -S 3685000 V 4500000 AUTO -S 3688000 H 6000000 AUTO -S 3695000 H 3598000 AUTO -S 3700000 V 9123000 AUTO -S 3708000 V 3928000 AUTO -S 3714000 V 4400000 AUTO -S 3752000 V 6220000 AUTO -S 3820000 V 27500000 AUTO -S 3874000 V 5926000 AUTO -S 3900000 V 27500000 AUTO -S 3940000 V 27500000 AUTO -S 3945000 H 3214000 AUTO -S 3951000 H 3214000 AUTO -S 3955000 H 4400000 AUTO -S 3964000 H 1875000 AUTO -S 3965000 V 2930000 AUTO -S 3973000 V 4338000 AUTO -S 3979000 V 3617000 AUTO -S 3983000 V 1630000 AUTO -S 3985000 H 2170000 AUTO -S 3997000 V 2300000 AUTO -S 4010000 H 13021000 AUTO -S 4047000 V 7143000 AUTO -[dvb-s/Chinastar1_C-87.5E] +[dvb-s/ChinaSat5A-87.5E] S 3734000 H 5925000 3/4 S 4076000 H 2532000 3/4 S 4081000 H 4687000 3/4 +[dvb-s/Echostar-10+11-110W] +S 12268000 L 20000000 5/6 +S 12384000 L 20000000 5/6 +S 12443000 L 20000000 7/8 +S 12516000 R 20000000 7/8 +S 12574000 R 20000000 5/6 +S 12589000 L 20000000 5/6 +S2 12224000 R 21500000 2/3 25 8PSK +S2 12239000 L 21500000 2/3 25 8PSK +S2 12253000 R 21500000 2/3 25 8PSK +S2 12282000 R 21500000 2/3 25 8PSK +S2 12297000 L 21500000 2/3 25 8PSK +S2 12297000 L 21500000 2/3 25 8PSK +S2 12311000 R 21500000 2/3 25 8PSK +S2 12326000 L 21500000 2/3 25 8PSK +S2 12341000 R 21500000 2/3 25 8PSK +S2 12355000 L 21500000 2/3 25 8PSK +S2 12370000 R 21500000 2/3 25 8PSK +S2 12399000 R 21500000 2/3 25 8PSK +S2 12414000 L 21500000 2/3 25 8PSK +S2 12428000 R 21500000 2/3 25 8PSK +S2 12457000 R 21500000 2/3 25 8PSK +S2 12472000 L 21500000 2/3 25 8PSK +S2 12486000 R 21500000 2/3 25 8PSK +S2 12501000 L 21500000 2/3 25 8PSK +S2 12530000 L 21500000 2/3 25 8PSK +S2 12545000 R 21500000 2/3 25 8PSK +S2 12559000 L 21500000 2/3 25 8PSK +S2 12603000 R 21500000 2/3 25 8PSK +S2 12618000 L 21500000 2/3 25 8PSK +S2 12632000 R 21500000 2/3 25 8PSK +S2 12661000 R 21500000 2/3 25 8PSK [dvb-s/Estrela-do-Sul-63.0W] S 11543000 V 10410000 AUTO S 11577000 V 3124000 AUTO @@ -1351,7 +1744,7 @@ S 11224000 V 27500000 2/3 S 11527000 V 27500000 2/3 S 11623000 H 27500000 2/3 -[dvb-s/Eurobird9-9.0E] +[dvb-s/Eutelsat9-9.0E] S 11727000 V 27500000 5/6 S 11747000 H 27500000 3/4 S 11766000 V 27500000 5/6 @@ -1464,7 +1857,7 @@ S 11966000 V 13021000 AUTO S 12104000 V 2222000 AUTO S 12114000 V 4444000 AUTO -[dvb-s/Galaxy11-91W] +[dvb-s/Galaxy17-91.0W] S 10964000 V 19850000 AUTO S 10994000 V 20000000 AUTO S 11024000 V 20000000 AUTO @@ -1511,24 +1904,24 @@ S 12096000 V 6144000 AUTO S 12104000 V 6144000 AUTO S 12114000 V 6144000 AUTO -[dvb-s/Galaxy25-97W] +[dvb-s/Galaxy19-97.0W] S 11789000 V 28125000 AUTO -S 11836000 V 20770000 AUTO +S 11836000 V 20765000 AUTO S 11867000 V 22000000 AUTO S 11874000 H 22000000 AUTO S 11898000 V 22000000 AUTO S 11936000 H 20000000 AUTO S 11966000 H 22000000 AUTO S 11991000 V 22000000 AUTO -S 11999000 H 20000000 AUTO S 12053000 V 22000000 AUTO S 12084000 V 22000000 AUTO S 12090000 H 20000000 AUTO S 12115000 V 22425000 AUTO +S 12122000 H 22000000 AUTO S 12146000 V 22000000 AUTO S 12152000 H 20000000 AUTO S 12177000 V 23000000 AUTO -[dvb-s/Galaxy26-93W] +[dvb-s/Galaxy25-93.0W] S 11711000 V 14312000 AUTO S 11721000 V 3979000 AUTO S 11727000 V 3979000 AUTO @@ -1547,10 +1940,14 @@ S 11793000 V 3979000 AUTO S 11809000 V 3979000 AUTO S 11814000 V 3979000 AUTO +S 11827000 V 8429000 AUTO +S 11836000 H 7179000 AUTO S 11841000 H 4000000 AUTO +S 11865000 V 3516000 AUTO S 11887000 V 3979000 AUTO S 11893000 V 3979000 AUTO S 11904000 H 3010000 AUTO +S 11904000 V 5000000 AUTO S 11919000 V 3979000 AUTO S 11924000 V 3979000 AUTO S 11926000 H 8848000 AUTO @@ -1576,7 +1973,7 @@ S 12063000 V 3979000 AUTO S 12064000 H 3979000 AUTO S 12069000 H 3979000 AUTO -S 12076000 V 8681000 AUTO +S 12076000 V 8679000 AUTO S 12089000 V 6511000 AUTO S 12110000 H 4104000 AUTO S 12116000 H 3979000 AUTO @@ -1586,7 +1983,7 @@ S 12175000 V 5147000 AUTO [dvb-s/Galaxy27-129W] S 11964000 H 2920000 AUTO -[dvb-s/Galaxy28-89W] +[dvb-s/Galaxy28-89.0W] S 11717000 H 4411000 AUTO S 11747000 H 6620000 AUTO S 11756000 H 6620000 AUTO @@ -1602,11 +1999,12 @@ S 11940000 H 3979000 AUTO S 11945000 H 3979000 AUTO S 11950000 H 3979000 AUTO -S 11955000 V 19532000 AUTO +S 11955000 H 3979000 AUTO S 11960000 H 28800000 AUTO S 11965000 H 3979000 AUTO S 11970000 H 3979000 AUTO -S 11975000 V 3979000 AUTO +S 11970000 V 3979000 AUTO +S 11975000 H 3979000 AUTO S 11980000 H 3979000 AUTO S 11985000 H 3979000 AUTO S 11989000 V 6111000 AUTO @@ -1625,49 +2023,40 @@ S 12185000 H 3979000 AUTO S 12191000 H 3979000 AUTO S 12196000 H 3979000 AUTO -[dvb-s/Galaxy3C-95W] +[dvb-s/Galaxy3C-95.0W] S 11780000 H 20760000 AUTO [dvb-s/Hispasat-30.0W] -S 11539000 V 24500000 5/6 -S 11749000 V 3520000 AUTO -S 11760000 V 3260000 AUTO -S 11766000 V 4500000 AUTO -S 11776000 V 2387000 AUTO -S 11783000 V 1200000 AUTO -S 11787000 V 2500000 AUTO -S 11807000 V 6510000 AUTO -S 11823000 V 2387000 AUTO -S 11884000 V 27500000 AUTO -S 11907000 V 2592000 AUTO -S 11917000 V 5681000 AUTO -S 11931000 H 27500000 3/4 +S 10890000 V 27500000 AUTO +S 10930000 H 2150000 AUTO +S 11510000 V 10000000 AUTO +S 11641000 H 1300000 AUTO +S 11731000 V 27500000 AUTO +S 11771000 V 27500000 AUTO +S 11811000 V 27500000 AUTO +S 11851000 V 27500000 AUTO +S 11891000 V 30000000 AUTO S 11931000 V 2220000 AUTO -S 11936000 V 5185000 AUTO +S 11931000 V 27500000 AUTO S 11940000 V 1481000 AUTO -S 11972000 H 27500000 AUTO -S 11997000 H 4422000 AUTO -S 12003000 H 5632000 AUTO -S 12008000 H 6111000 AUTO -S 12015000 H 3492000 AUTO -S 12015000 V 27500000 3/4 -S 12040000 H 5632000 AUTO -S 12052000 V 27500000 AUTO -S 12085000 H 5632000 AUTO -S 12131000 H 27500000 AUTO -S 12135000 V 4444000 AUTO -S 12137000 V 3030000 AUTO -S 12141000 V 3255000 AUTO -S 12146000 V 4200000 AUTO -S 12156000 V 2222000 AUTO -S 12158000 V 2348000 AUTO -S 12163000 V 3030000 AUTO -S 12168000 V 5240000 AUTO -S 12172000 H 27500000 AUTO -S 12175000 V 4500000 AUTO -S 12182000 V 3340000 AUTO -S 12188000 V 2583000 AUTO -S 12192000 V 2593000 AUTO -S 12567000 H 19850000 3/4 +S 12092000 V 27500000 AUTO +S 12226000 V 27500000 AUTO +S 12303000 V 27500000 AUTO +S 12322000 H 27500000 AUTO +S 12360000 H 27500000 AUTO +S 12380000 V 27500000 AUTO +S 12456000 V 30000000 AUTO +S2 12207 H 27500000 3/4 AUTO 8PSK +S2 10730000 H 27500000 3/4 AUTO 8PSK +S2 10730000 V 30000000 3/4 AUTO 8PSK +S2 11529000 V 10000000 9/10 AUTO QPSK +S2 11615000 H 29000000 9/10 AUTO 8PSK +S2 12130000 H 27500000 3/4 AUTO 8PSK +S2 12168000 H 27500000 3/4 AUTO 8PSK +S2 12246000 H 27500000 3/4 AUTO 8PSK +S2 12284000 H 27500000 3/4 AUTO 8PSK +S2 12398000 H 27500000 3/4 AUTO 8PSK +S2 12437000 H 27500000 3/4 AUTO 8PSK +S2 12476000 H 27500000 3/4 AUTO 8PSK [dvb-s/Hotbird-13.0E] S 10719000 V 27500000 3/4 S 10723000 H 29900000 3/4 @@ -1702,7 +2091,6 @@ S 11373000 H 27500000 2/3 S 11393000 V 27500000 3/4 S 11411000 H 27500000 5/6 -S 11432000 V 27500000 2/3 S 11470000 V 27500000 5/6 S 11488000 H 27500000 3/4 S 11526000 H 27500000 3/4 @@ -1724,7 +2112,6 @@ S 11861000 H 27500000 3/4 S 11880000 V 27500000 3/4 S 11900000 H 27500000 3/4 -S 11919000 V 27500000 2/3 S 11938000 H 27500000 3/4 S 11958000 V 27500000 3/4 S 11976000 H 27500000 3/4 @@ -1752,7 +2139,6 @@ S 12437000 H 27500000 3/4 S 12475000 H 27500000 3/4 S 12519000 V 27500000 3/4 -S 12539000 H 27500000 3/4 S 12558000 V 27500000 3/4 S 12577000 H 27500000 3/4 S 12596000 V 27500000 3/4 @@ -1763,115 +2149,12 @@ S 12692000 H 27500000 3/4 S 12713000 V 27500000 3/4 S 12731000 H 27500000 3/4 -[dvb-s/IA5-97W] -S 11789000 V 25000000 AUTO -S 11836000 V 20765000 AUTO -S 11867000 V 22000000 AUTO -S 11874000 H 22000000 AUTO -S 11898000 V 22000000 AUTO -S 11966000 H 22000000 AUTO -S 11991000 V 22000000 AUTO -S 12053000 V 22000000 AUTO -S 12084000 V 22000000 AUTO -S 12090000 H 20000000 AUTO -S 12115000 V 22425000 AUTO -S 12122000 H 22000000 AUTO -S 12146000 V 22000000 AUTO -S 12152000 H 20000000 AUTO -S 12177000 V 23000000 AUTO -[dvb-s/IA6-93W] -S 11711000 V 14312000 AUTO -S 11721000 V 3979000 AUTO -S 11727000 V 3979000 AUTO -S 11732000 V 3979000 AUTO -S 11737000 H 3979000 AUTO -S 11737000 V 3979000 AUTO -S 11742000 V 3979000 AUTO -S 11748000 V 3979000 AUTO -S 11753000 V 3979000 AUTO -S 11767000 V 3979000 AUTO -S 11772000 H 3979000 AUTO -S 11772000 V 3979000 AUTO -S 11777000 V 3979000 AUTO -S 11782000 V 3979000 AUTO -S 11788000 V 3979000 AUTO -S 11793000 V 3979000 AUTO -S 11809000 V 3979000 AUTO -S 11814000 V 3979000 AUTO -S 11827000 V 8429000 AUTO -S 11836000 H 7179000 AUTO -S 11841000 H 4000000 AUTO -S 11865000 V 3516000 AUTO -S 11887000 V 3979000 AUTO -S 11893000 V 3979000 AUTO -S 11904000 V 5000000 AUTO -S 11919000 V 3979000 AUTO -S 11924000 V 3979000 AUTO -S 11926000 H 8848000 AUTO -S 11929000 V 3979000 AUTO -S 11935000 V 3979000 AUTO -S 11936000 H 8848000 AUTO -S 11944000 H 8848000 AUTO -S 11949000 V 3979000 AUTO -S 11954000 V 3979000 AUTO -S 11956000 H 3979000 AUTO -S 11960000 V 3979000 AUTO -S 11961000 H 3979000 AUTO -S 11965000 V 3979000 AUTO -S 11967000 H 3979000 AUTO -S 11970000 V 3979000 AUTO -S 11972000 H 3979000 AUTO -S 11977000 H 3979000 AUTO -S 12047000 V 3979000 AUTO -S 12048000 H 3979000 AUTO -S 12054000 H 3979000 AUTO -S 12058000 V 3979000 AUTO -S 12059000 H 3979000 AUTO -S 12063000 V 3979000 AUTO -S 12064000 H 3979000 AUTO -S 12069000 H 3979000 AUTO -S 12076000 V 8679000 AUTO -S 12089000 V 6511000 AUTO -S 12110000 H 4104000 AUTO -S 12116000 H 3979000 AUTO -S 12121000 H 3979000 AUTO -S 12126000 H 3979000 AUTO -S 12132000 H 3979000 AUTO -S 12175000 V 5147000 AUTO +S2 11919000 V 27500000 2/3 AUTO 8PSK +S2 11919000 V 27500000 2/3 AUTO 8PSK +S2 12539000 H 27500000 2/3 AUTO 8PSK +S2 12539000 H 27500000 2/3 AUTO 8PSK [dvb-s/IA7-129W] S 11989000 H 2821000 AUTO -[dvb-s/IA8-89W] -S 11780000 H 29000000 AUTO -S 11925000 H 3979000 AUTO -S 11930000 H 3979000 AUTO -S 11935000 H 3979000 AUTO -S 11940000 H 3979000 AUTO -S 11945000 H 3979000 AUTO -S 11945000 V 3979000 AUTO -S 11950000 H 3979000 AUTO -S 11950000 V 3979000 AUTO -S 11955000 H 3979000 AUTO -S 11955000 V 3979000 AUTO -S 11960000 V 3979000 AUTO -S 11965000 H 3979000 AUTO -S 11965000 V 3979000 AUTO -S 11970000 H 3979000 AUTO -S 11970000 V 3979000 AUTO -S 11975000 H 3979000 AUTO -S 11975000 V 3979000 AUTO -S 11980000 H 3979000 AUTO -S 11985000 H 3979000 AUTO -S 11989000 V 6111000 AUTO -S 11990000 H 3979000 AUTO -S 11995000 H 3979000 AUTO -S 12009000 V 6111000 AUTO -S 12164000 H 3979000 AUTO -S 12170000 H 3979000 AUTO -S 12175000 H 3979000 AUTO -S 12180000 H 3979000 AUTO -S 12185000 H 3979000 AUTO -S 12191000 H 3979000 AUTO -S 12196000 H 3979000 AUTO [dvb-s/Insat2E_C-83.0E] S 3521000 V 8640000 3/4 S 3537000 V 10800000 3/4 @@ -2007,6 +2290,17 @@ S 12735000 V 8800000 5/6 [dvb-s/Intelsat-11-43.0W] S 3944000 H 5945000 AUTO +[dvb-s/Intelsat-12-45.0E] +S 11517000 V 2959000 AUTO +S 11523000 V 5787000 AUTO +S2 11468000 V 30000000 AUTO AUTO 8PSK +S2 11495000 V 7299000 AUTO AUTO 8PSK +S2 11550000 V 30000000 AUTO AUTO 8PSK +S2 11591000 V 30000000 AUTO AUTO 8PSK +S2 11591000 V 30000000 AUTO AUTO 8PSK +S2 11591000 V 30000000 AUTO AUTO 8PSK +S2 11632000 V 30000000 AUTO AUTO 8PSK +S2 11673000 V 30000000 AUTO AUTO 8PSK [dvb-s/Intelsat-1R-45.0W] S 3742000 V 4444000 AUTO S 3759000 V 2941000 AUTO @@ -2508,6 +2802,14 @@ S 4184000 V 6700000 3/4 [dvb-s/SBS6-74W] S 11744000 H 6616000 AUTO +[dvb-s/SES2-87.0W] +S 11716000 H 4859000 AUTO +S 12142000 V 30000000 AUTO +S 12147000 H 4340000 AUTO +S 12159000 H 4444000 AUTO +S 12165000 H 4444000 AUTO +S 12172000 H 4444000 AUTO +S 12182000 V 30000000 AUTO [dvb-s/ST1_C-80.0E] S 3469000 V 30000000 3/4 S 3521000 H 8332000 5/6 @@ -2604,10 +2906,6 @@ S 12157000 V 3038000 AUTO S 12166000 H 17500000 AUTO [dvb-s/Sirius-5.0E] -S 11215000 V 6666000 1/2 -S 11227000 H 23145000 3/4 -S 11247000 V 23145000 3/4 -S 11420000 H 23145000 3/4 S 11727000 H 27500000 5/6 S 11747000 V 27500000 3/4 S 11766000 H 27500000 3/4 @@ -2631,39 +2929,47 @@ S 12111000 H 27500000 5/6 S 12130000 V 27500000 3/4 S 12149000 H 27500000 3/4 -S 12169000 V 27500000 3/4 -S 12188000 H 27500000 7/8 -S 12207000 V 27500000 3/4 S 12226000 H 25540000 7/8 S 12245000 V 27500000 3/4 S 12265000 H 27500000 3/4 S 12284000 V 27500000 3/4 S 12303000 H 25547000 7/8 -S 12322000 V 27500000 3/4 -S 12341000 H 27500000 3/4 -S 12360000 V 27500000 7/8 +S 12322000 V 27500000 7/8 S 12379000 H 27500000 3/4 -S 12399000 V 27500000 2/3 +S 12399000 V 27500000 3/4 S 12418000 H 27500000 3/4 -S 12437000 V 27500000 2/3 -S 12456000 H 27500000 3/4 S 12476000 V 27500000 3/4 S 12608000 H 27500000 3/4 S 12637000 H 14465000 3/4 -S 12668000 V 6666000 1/2 -S 12672000 H 3300000 3/4 -S 12674000 V 10000000 3/4 -S 12678000 V 13333000 5/6 +S 12670000 H 2600000 2/3 S 12680000 H 9404000 3/4 -S 12685000 V 4444000 3/4 -S 12690000 H 3330000 3/4 -S 12693000 V 3333000 5/6 -S 12701000 H 6111000 3/4 -S 12715000 H 3330000 3/4 -S 12718000 V 23500000 3/4 -S 12724000 H 1772000 3/4 -S 12728000 V 19720000 3/4 -S 12737000 V 6150000 3/4 +S 12682000 V 6888000 5/6 +S 12687000 V 6667000 5/6 +S 12694000 V 3333000 5/6 +S 12703000 V 2963000 3/4 +S 12719000 V 2960000 3/4 +S 12728000 V 1600000 2/3 +S2 11265000 H 30000000 3/4 25 AUTO +S2 11265000 V 30000000 3/4 25 AUTO +S2 11305000 H 30000000 3/4 25 AUTO +S2 11305000 V 30000000 3/4 25 AUTO +S2 11345000 H 30000000 3/4 25 AUTO +S2 11345000 V 30000000 3/4 25 AUTO +S2 11385000 V 30000000 3/4 25 AUTO +S2 12169000 V 27500000 3/4 25 AUTO +S2 12188000 H 30000000 3/4 25 AUTO +S2 12188000 H 30000000 3/4 25 AUTO +S2 12207000 V 30000000 3/4 25 AUTO +S2 12341000 H 30000000 3/4 25 AUTO +S2 12341000 H 30000000 3/4 25 AUTO +S2 12360000 V 27500000 2/3 25 AUTO +S2 12437000 V 27500000 3/4 25 AUTO +S2 12456000 H 27500000 3/4 25 AUTO +S2 12575000 H 13922000 1/2 25 AUTO +S2 12687000 H 5600000 3/4 25 AUTO +S2 12702000 H 2100000 3/4 25 AUTO +S2 12722000 V 1600000 3/4 25 AUTO +S2 12725000 V 1480000 8/9 25 AUTO [dvb-s/Telecom2-8.0W] S 10972000 V 27500000 3/4 S 10974000 H 27500000 3/4 @@ -2983,10 +3289,12 @@ T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/at-Official] +[dvb-t/at-All] T 474000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 482000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 490000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 498000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 506000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 514000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 522000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 530000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE @@ -2994,17 +3302,43 @@ T 546000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 554000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 562000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 570000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 578000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 578000000 8MHz 3/4 NONE QAM16 8k 1/8 NONE +T 586000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 594000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 602000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 610000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 618000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 626000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 634000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 642000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 650000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 658000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 666000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 674000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 682000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 690000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 698000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 706000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 714000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 722000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 730000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 738000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 746000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 754000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 762000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 770000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 778000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 786000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 794000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 802000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 810000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 826000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 834000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 842000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 850000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 858000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE [dvb-t/au-Adelaide] T 177500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 191625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE @@ -3053,11 +3387,11 @@ T 711500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE [dvb-t/au-Brisbane] T 177500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +T 184500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE T 191625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 219500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 226500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 585625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE -T 599500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE +T 529500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/au-Cairns] T 177500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 191500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE @@ -3066,10 +3400,10 @@ T 536500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/au-Canberra-Black-Mt] T 177500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 205500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +T 184500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +T 191500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 219500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 226500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 543500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/au-Coonabarabran] T 226500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 641500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3080,6 +3414,7 @@ T 543625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 550500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 557625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +T 564625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE [dvb-t/au-Devonport] T 585498000 7MHz 2/3 NONE QAM64 8k 1/8 NONE T 606500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3129,11 +3464,18 @@ T 557500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 578500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE [dvb-t/au-Melbourne] -T 177500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 191625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 219500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 226500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 536625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE +T 177500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE +T 184500000 7MHz AUTO AUTO QAM64 8k 1/8 NONE +T 191625000 7MHz AUTO AUTO QAM64 8k 1/16 NONE +T 219500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE +T 226500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE +T 557625000 7MHz AUTO AUTO QPSK 8k 1/16 NONE +[dvb-t/au-Melbourne-Selby] +T 620500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +T 641500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +T 662500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +T 683500000 7MHz AUTO NONE QAM64 8k 1/8 NONE +T 711500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE [dvb-t/au-Melbourne-Upwey] T 620500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 641500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE @@ -3174,29 +3516,29 @@ T 620500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE T 641500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE [dvb-t/au-SunshineCoast] -T 585625000 7MHz 2/3 NONE QAM64 8k 1/8 NONE -T 662625000 7MHz 3/4 NONE QAM64 8k 1/8 NONE -T 767625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 788625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 809500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +T 613500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE +T 620500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +T 627500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +T 634500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +T 641500000 7MHz 3/4 NONE QAM64 8k 1/8 NONE [dvb-t/au-Sutherland] T 177500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 219500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 226500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 571500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE +[dvb-t/au-Sydney] +T 177500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE +T 184500000 7MHz AUTO AUTO QAM64 8k 1/8 NONE +T 191625000 7MHz AUTO AUTO QAM64 8k 1/16 NONE +T 219500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE +T 226500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE +T 536625000 7MHz AUTO AUTO QPSK 8k 1/8 NONE [dvb-t/au-Sydney_Kings_Cross] T 543500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 564500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 571500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE T 648500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 669500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -[dvb-t/au-Sydney_North_Shore] -T 177500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 191625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 219500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 226500000 7MHz 3/4 NONE QAM64 8k 1/16 NONE -T 536625000 7MHz 2/3 NONE QAM64 8k 1/32 NONE -T 571500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/au-Tamworth] T 191625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE T 205625000 7MHz 3/4 NONE QAM64 8k 1/16 NONE @@ -3244,6 +3586,335 @@ T 543500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/au-unknown] T 226500000 7MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/auto-Australia] +T 177500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 177625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 184500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 184625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 191500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 191625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 198500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 198625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 205500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 205625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 212500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 212625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 219500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 219625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 226500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 226625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 529500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 529625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 536500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 536625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 543500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 543625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 550500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 550625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 557500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 557625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 564500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 564625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 571500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 571625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 578500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 578625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 585500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 585625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 592500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 592625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 599500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 599625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 606500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 606625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 613500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 613625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 620500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 620625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 627500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 627625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 634500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 634625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 641500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 641625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 648500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 648625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 655500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 655625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 662500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 662625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 669500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 669625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 676500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 676625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 683500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 683625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 690500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 690625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 697500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 697625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 704500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 704625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 711500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 711625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 718500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 718625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 725500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 725625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 732500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 732625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 739500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 739625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 746500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 746625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 753500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 753625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 760500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 760625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 767500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 767625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 774500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 774625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 781500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 781625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 788500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 788625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 795500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 795625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 802500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 802625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 809500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 809625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 816500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 816625000 7MHz AUTO NONE AUTO AUTO AUTO NONE +[dvb-t/auto-Default] +T 177500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 184500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 191500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 198500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 205500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 212500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 219500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 226500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 474000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 482000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 490000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 498000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 506000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 514000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 522000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 530000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 538000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 546000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 554000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 562000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 570000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 578000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 586000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 594000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 602000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 610000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 618000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 626000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 634000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 642000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 650000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 658000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 666000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 674000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 682000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 690000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 698000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 706000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 714000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 722000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 730000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 738000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 746000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 754000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 762000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 770000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 778000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 786000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 794000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 802000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 810000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 818000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 826000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 834000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 842000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 850000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 858000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +[dvb-t/auto-Taiwan] +T 527000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +T 533000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +T 539000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +T 545000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +T 551000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +T 557000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +T 563000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +T 569000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +T 575000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +T 581000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +T 587000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +T 593000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +T 599000000 6MHz AUTO NONE AUTO AUTO AUTO NONE +[dvb-t/auto-With167kHzOffsets] +T 177500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 184500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 191500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 198500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 205500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 212500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 219500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 226500000 7MHz AUTO NONE AUTO AUTO AUTO NONE +T 473833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 474000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 474167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 481833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 482000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 482167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 489833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 490000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 490167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 497833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 498000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 498167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 505833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 506000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 506167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 513833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 514000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 514167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 521833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 522000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 522167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 529833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 530000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 530167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 537833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 538000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 538167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 545833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 546000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 546167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 553833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 554000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 554167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 561833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 562000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 562167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 569833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 570000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 570167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 577833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 578000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 578167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 585833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 586000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 586167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 593833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 594000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 594167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 601833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 602000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 602167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 609833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 610000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 610167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 617833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 618000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 618167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 625833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 626000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 626167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 633833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 634000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 634167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 641833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 642000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 642167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 649833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 650000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 650167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 657833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 658000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 658167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 665833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 666000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 666167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 673833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 674000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 674167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 681833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 682000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 682167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 689833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 690000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 690167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 697833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 698000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 698167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 705833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 706000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 706167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 713833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 714000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 714167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 721833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 722000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 722167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 729833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 730000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 730167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 737833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 738000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 738167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 745833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 746000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 746167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 753833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 754000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 754167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 761833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 762000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 762167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 769833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 770000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 770167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 777833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 778000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 778167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 785833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 786000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 786167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 793833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 794000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 794167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 801833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 802000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 802167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 809833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 810000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 810167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 817833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 818000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 818167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 825833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 826000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 826167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 833833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 834000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 834167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 841833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 842000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 842167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 849833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 850000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 850167000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 857833000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 858000000 8MHz AUTO NONE AUTO AUTO AUTO NONE +T 858167000 8MHz AUTO NONE AUTO AUTO AUTO NONE [dvb-t/ax-Smedsbole] T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -3253,6 +3924,11 @@ T 666000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 754000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE T 834000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +[dvb-t/bg-Sofia] +T 490000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 626000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 818000000 8MHz 2/3 NONE QAM16 8k 1/16 NONE [dvb-t/ch-All] T 514000000 8MHz 5/6 NONE QAM16 8k 1/4 NONE T 522000000 8MHz 5/6 NONE QAM16 8k 1/4 NONE @@ -3293,8 +3969,19 @@ T 618000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE T 626000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE T 658000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE +T 690000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE +T 698000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE +T 706000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE T 730000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE T 746000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE +T 754000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE +T 778000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE +T 786000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE +T 794000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE T 818000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE T 826000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE T 834000000 8MHz 7/8 NONE QAM64 8k 1/32 NONE @@ -3312,42 +3999,54 @@ T 794166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE T 818166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE T 850166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +[dvb-t/co-All] +T2 473000000 6MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 479000000 6MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 485000000 6MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 491000000 6MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 551000000 6MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 557000000 6MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/cz-All] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 562000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 586000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 802000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 810000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 826000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/de-Baden-Wuerttemberg] T 474000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE @@ -3366,8 +4065,6 @@ T 778000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE [dvb-t/de-Bayern] -T 191500000 7MHz 3/4 NONE QAM16 8k 1/4 NONE -T 212500000 7MHz 3/4 NONE QAM16 8k 1/4 NONE T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 506000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 522000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE @@ -3376,7 +4073,6 @@ T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 578000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE @@ -3385,15 +4081,9 @@ T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 682000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 738000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 754000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 834000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE [dvb-t/de-Berlin] T 506000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE T 522000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE @@ -3416,6 +4106,19 @@ T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE +[dvb-t/de-Dusseldorf] +T 482000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE +T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE +T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE +T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE +T 602000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE +T 674000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE +T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE +T 698000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE +T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE +T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE +T 762000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE [dvb-t/de-Hamburg] T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE @@ -3426,22 +4129,22 @@ T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 738000000 8MHz 1/2 NONE QAM64 8k 1/8 NONE [dvb-t/de-Hessen] -T 198500000 7MHz 2/3 NONE QAM16 8k 1/4 NONE T 474000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 498000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 506000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 562000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 578000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE +T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 602000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 650000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE +T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 738000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 818000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE [dvb-t/de-Mecklenburg-Vorpommern] T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE @@ -3458,35 +4161,24 @@ T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 498000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 522000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 554000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 562000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 602000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 610000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 634000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 650000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 682000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 706000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 754000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 770000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 778000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 826000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE [dvb-t/de-Nordrhein-Westfalen] -T 474000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 482000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE T 506000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 522000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE @@ -3497,8 +4189,7 @@ T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 602000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE -T 666000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE -T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE +T 674000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 698000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 706000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE @@ -3506,7 +4197,6 @@ T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 762000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE [dvb-t/de-Rheinland-Pfalz] T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE @@ -3517,7 +4207,6 @@ T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 754000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 762000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE [dvb-t/de-Saarland] T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE @@ -3530,7 +4219,7 @@ T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 530000000 8MHz 3/4 NONE QAM16 8k 1/8 NONE T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 554000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 554000000 8MHz 2/3 NONE QAM16 8k 1/16 NONE T 562000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE @@ -3545,6 +4234,7 @@ T 578000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 610000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 634000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 746000000 8MHz 2/3 NONE QPSK 8k 1/8 NONE [dvb-t/de-Schleswig-Holstein] T 474000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE @@ -3589,6 +4279,39 @@ T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 770000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +[dvb-t/ee-All] +T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 514000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 538000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 546000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 562000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 570000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz 2/3 NONE QPSK 8k 1/8 NONE +T 610000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 618000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 626000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 658000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE +T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 586000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE 0 +T2 642000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE 0 +T2 674000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE 0 +T2 698000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE 0 +T2 786000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE 0 [dvb-t/es-Albacete] T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 674000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE @@ -3604,11 +4327,14 @@ T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/es-Alfabia] T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 586000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 634000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 682000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 810000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 826000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE @@ -3649,9 +4375,27 @@ T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/es-Cadiz] +T 474000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 490000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 546000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 610000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 634000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 650000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 658000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 706000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 746000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 818000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE @@ -3695,9 +4439,13 @@ T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/es-Huesca] -T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 650000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 658000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 666000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE @@ -3763,11 +4511,6 @@ T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -[dvb-t/es-Rocacorba] -T 786000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/es-SC_Tenerife] T 490000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 498000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE @@ -3859,1475 +4602,1003 @@ T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/fi-Aanekoski] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Aanekoski_Konginkangas] -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Ahtari] -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Ala-Vuokki] -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Alajarvi] -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Ammansaari] -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Anjalankoski] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Enontekio_Raattama] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Anjalankoski_Ruotila] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/fi-DNA-Espoo] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 184500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Eurajoki] +T2 184500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 191500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Hameenlinna] +T2 212500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 226500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Hamina] +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 226500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Hausjarvi] +T2 212500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 226500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Helsinki] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 184500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Jokioinen] +T2 212500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 226500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Jyvaskyla] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Kaarina] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Kajaani] +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 226500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Kangasala] +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 212500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 226500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Karkkila] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 184500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Kiiminki] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Kokkola] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Kontiolahti] +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 212500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 226500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Kouvola] +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 226500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Kuopio] +T2 184500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 191500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Lahti] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 191500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Lappeenranta] +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 212500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 226500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Lohja] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 184500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Loviisa] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 184500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Mikkeli] +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 212500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 226500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Nousiainen] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Nurmijarvi] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 184500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Porvoo] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 184500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Salo] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Savonlinna] +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 212500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Seinajoki] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 191500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Tyrnava] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Ulvila] +T2 184500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 191500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Vaasa] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 191500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 219500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Valkeakoski] +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 212500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 226500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Vesilahti] +T2 198500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 212500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 226500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-DNA-Ylivieska] +T2 177500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 191500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +T2 205500000 7MHz AUTO AUTO AUTO 32k 19/256 AUTO 0 +[dvb-t/fi-Enontekio_Ahovaara] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Enontekio_Hetta] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Enontekio_Kuttanen] +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Espoo] -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/fi-Eurajoki] -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/fi-Fiskars] -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Haapavesi] -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Hameenkyro_Kyroskoski] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Hameenlinna_Painokangas] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Hanko] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Hartola] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Haukela] -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Heinavesi] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Heinola] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Hetta] -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Hossa] -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Houtskari] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Hyrynsalmi] -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Hyrynsalmi_Kyparavaara] -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Hyrynsalmi_Paljakka] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Hyvinkaa_Musta-Mannisto] -T 350000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Hyvinkaa] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Ii_Raiskio] -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Iisalmi] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Ikaalinen] -T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Ikaalinen_Riitiala] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Inari] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Inari_Janispaa] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Inari_Naatamo] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Ivalo_Saarineitamovaara] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Jalasjarvi] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Jamsa_Halli] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Jamsa_Kaipola] -T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Jamsa_Kuorevesi_Halli] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Jamsa_Matkosvuori] -T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Jamsa_Ouninpohja] -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Jamsankoski] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Joensuu_Vestinkallio] -T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Joroinen_Puukkola-Huutokoski] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Joroinen_Puukkola] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Joutsa_Lankia] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Joutseno] -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Juntusranta] -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/fi-Juupajoki_Kopsamo] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Juva] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Jyvaskyla] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Kaavi_Luikonlahti] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/fi-Jyvaskyla_Vaajakoski] +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Kaavi_Sivakkavaara] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kajaani_Pollyvaara] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kalajoki] -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kangaslampi] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kangasniemi_Turkinmaki] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kankaanpaa] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Karigasniemi] -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Karkkila] -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Karstula] -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Karvia] -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kaunispaa] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kemijarvi_Suomutunturi] -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kerimaki] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Keuruu] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Keuruu_Haapamaki] -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kihnio] -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kiihtelysvaara] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kilpisjarvi] -T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Kittila_Sirkka_Levitunturi] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Kittila_Levitunturi] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kolari_Vuolittaja] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Koli] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Korpilahti_Vaarunvuori] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Korppoo] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kruunupyy] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Kuhmo_Iivantiira] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/fi-Kuhmo_Haukela] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kuhmo_Lentiira] -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Kuhmo_Niva] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kuhmoinen] -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kuhmoinen_Harjunsalmi] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kuhmoinen_Puukkoinen] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kuopio] -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/fi-Kurikka_Kesti] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kustavi_Viherlahti] -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Kuttanen] -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Kuusamo_Hamppulampi] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Kyyjarvi_Noposenaho] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Lahti] -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/fi-Lapua] -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/fi-Laukaa] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Laukaa_Vihtavuori] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Lavia_Lavianjarvi] -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Lieksa_Konnanvaara] -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Lavia] +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Lohja] -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Loimaa] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Luhanka] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Luopioinen] -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Mantta] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Mantyharju] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Mikkeli] -T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Muonio_Olostunturi] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Mustasaari] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Myllylahti] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Nilsia] -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Nilsia_Keski-Siikajarvi] -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Nilsia_Pisa] -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Nokia] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Nokia_Siuro_Linnavuori] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Nokia_Siuro] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Nummi-Pusula_Hyonola] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Nuorgam_Njallavaara] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Nuorgam_raja] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Nurmes_Konnanvaara] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Nurmes_Kortevaara] -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Orivesi_Langelmaki_Talviainen] -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Orivesi_Talviainen] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Oulu] -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/fi-Padasjoki] -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Padasjoki_Arrakoski] -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Paltamo_Kivesvaara] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Parainen_Houtskari] +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Parikkala] -T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Parkano_Sopukallio] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Pello] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Pello_Ratasvaara] -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Perho] -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Pernaja] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Pieksamaki_Halkokumpu] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Pihtipudas] -T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Porvoo_Suomenkyla] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Posio] -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Pudasjarvi] -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Pudasjarvi_Hirvaskoski] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Pudasjarvi_Iso-Syote] -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Pudasjarvi_Kangasvaara] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Puolanka] -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Pyhatunturi] -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Pyhavuori] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Pylkonmaki_Karankajarvi] -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Raahe_Mestauskallio] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Raahe_Piehinki] -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Ranua_Haasionmaa] -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Ranua_Leppiaho] -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Rautavaara_Angervikko] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Rautjarvi_Simpele] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Ristijarvi] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Rovaniemi] -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Rovaniemi_Ala-Nampa_Yli-Nampa_Rantalaki] -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Rovaniemi_Kaihuanvaara] -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Rovaniemi_Karhuvaara] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Rovaniemi_Marasenkallio] -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Rovaniemi_Marrasjarvi] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Rovaniemi_Meltaus_Sorviselka] -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Rovaniemi_Rantalaki] +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Rovaniemi_Sonka] -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Rovaniemi_Sorviselka] +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Ruka] -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Ruovesi_Storminiemi] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Saarijarvi] -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Saarijarvi_Kalmari] -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Saarijarvi_Mahlu] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Salla_Hirvasvaara] -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Salla_Ihistysjanka] -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Salla_Naruska] -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Salla_Sallatunturi] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Salla_Sarivaara] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Salo_Isokyla] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Savukoski_Martti] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Savukoski_Tanhua] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Siilinjarvi] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Simo_Viantie] +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Sipoo_Norrkulla] -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Sodankyla_Pittiovaara] -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Sodankyla_Vuotso] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Sulkava_Vaatalanmaki] -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Suomussalmi_Ala-Vuokki] +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Suomussalmi_Ammansaari] +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Suomussalmi_Juntusranta] +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Suomussalmi_Myllylahti] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Sysma_Liikola] -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Taivalkoski] -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Taivalkoski_Taivalvaara] -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Tammela] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/fi-Tammisaari] -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Tampere] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/fi-Tampere_Pyynikki] -T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/fi-Tervola] -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Turku] -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/fi-Utsjoki] -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Utsjoki_Nuorgam_Njallavaara] -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Utsjoki_Nuorgam_raja] -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Utsjoki_Nuvvus] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Utsjoki_Outakoski] -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Utsjoki_Polvarniemi] -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Utsjoki_Rovisuvanto] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Utsjoki_Tenola] -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Uusikaupunki_Orivo] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Vaajakoski] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Vaala] -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Vaasa] -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Valtimo] -T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Vammala_Jyranvuori] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Vammala_Roismala] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Vammala_Savi] -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Vantaa_Hakunila] -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Varpaisjarvi_Honkamaki] -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Virrat_Lappavuori] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Vuokatti] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fi-Vuotso] -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Ylitornio_Ainiovaara] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Ylitornio_Raanujarvi] -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/fi-Yllas] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -[dvb-t/fr-Abbeville] -T 506000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 538000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 570000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 770000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Agen] -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 746000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Ajaccio] -T 514000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 538000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 610000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Albi] -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 746000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 818000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Alençon] -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 770000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 826000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Ales] -T 626000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 650000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 674000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 762000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Ales-Bouquet] -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Amiens] -T 594000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 626000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 650000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 674000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Angers] -T 626000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 650000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 674000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Annecy] -T 482000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 506000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 530000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 834000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Arcachon] -T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 674000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Argenton] -T 594000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 786000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Aubenas] -T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 610000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 626000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 650000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 674000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Aurillac] -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Autun] -T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 682000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 834000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 850000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Auxerre] -T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 570000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 770000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 794000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Avignon] -T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 650000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 674000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-BarleDuc] -T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 658000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 682000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Bastia] -T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 538000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 626000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Bayonne] -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 762000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 802000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 826000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Bergerac] -T 482000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 570000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Besançon] -T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 770000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 786000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Bordeaux] +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fi-Yllasjarvi] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/fr-All] +T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 554000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 562000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-Bordeaux-Bouliac] -T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 658000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 802000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Bordeaux-Cauderan] -T 482000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 514000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 594000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Boulogne] -T 530000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 658000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Bourges] -T 498000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 522000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 786000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Brest] -T 546000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 578000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 586000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 618000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 650000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 770000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -[dvb-t/fr-Brive] -T 530000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 610000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 658000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 682000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Caen] -T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 570000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 770000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Caen-Pincon] -T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 514000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 538000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 770000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Cannes] -T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 514000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Carcassonne] -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 762000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 786000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 802000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Chambery] -T 682167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 690167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 714167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 738167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 778167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 802167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-Chartres] -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 610000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Chennevieres] -T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 762000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 786000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Cherbourg] -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 762000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-ClermontFerrand] -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Cluses] -T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 514000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 538000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Dieppe] -T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 762000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 786000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Dijon] -T 506000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 530000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 834000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Epinal] -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 682000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 802000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Evreux] -T 626000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 650000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 674000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Grenoble] -T 474000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 498000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 522000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Gueret] -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 746000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Hyeres] -T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 514000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 538000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-LaRochelle] -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 802000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Laval] T 570000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-LeCreusot] -T 498000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 594000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 770000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 794000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 818000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-LeHavre] -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 762000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 770000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-LeMans] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 578000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 586000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-LePuyEnVelay] -T 514000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Lille-Bouvigny] -T 490167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 514167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 546167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 554167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 586167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 754167000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Lille-Lambersart] -T 538000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 570000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 594000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Limoges] -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 674000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 802000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 826000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Lorient] -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 570000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 794000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 818000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Lyon-Fourviere] -T 474167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 498167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 522167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 594167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 738167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 754167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-Lyon-Pilat] -T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 626000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 642000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-Mantes] -T 610000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 626000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 650000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 674000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Marseille] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-Meaux] -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 746000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 786000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 818000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Mende] -T 474000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 498000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 522000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 562000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 610000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Menton] -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 658000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 682000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 842000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Montbeliard] -T 490167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 514167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 538167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 658167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738167000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 786167000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Montlucon] -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 746000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 826000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Montpellier] -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 746000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Mulhouse] -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 746000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 826000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Nancy] -T 498166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 522166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 682166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 770166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 794166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 826166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-Nantes] -T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 538000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 658000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 682000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 754000000 8MHz AUTO NONE QAM16 8k AUTO NONE -[dvb-t/fr-NeufchatelEnBray] -T 498000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 522000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 746000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 770000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Nice] -T 554000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 610000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Niort] -T 498000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 602000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 738000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 778000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 802000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -[dvb-t/fr-Orleans] -T 610166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 674166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 690166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 714166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 810166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-Paris] -T 474166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 498166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 522166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 538166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 562166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 586166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 714166000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 738166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 754166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 762166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 786166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 810166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-Parthenay] -T 594000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 762000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 802000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Perpignan] -T 474000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 498000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 514000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 522000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Poitiers] -T 506000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Privas] -T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 570000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 658000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Reims] -T 626000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 650000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 666000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 674000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 754000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Rennes] -T 562000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 586000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 626000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 650000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -T 674000000 8MHz 1/2 NONE QAM16 8k 1/32 NONE -[dvb-t/fr-Roanne] -T 474000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 498000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 522000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 602000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 786000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Rochefort-sur-mer] -T 498166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 602166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 738166000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 778167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-Rouen] -T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 562000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-SaintEtienne] -T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 514000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 538000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-SaintRaphael] -T 490000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 514000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 578000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 642000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Sannois] -T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 714000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 762000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 786000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 810000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Sens] -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 770000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 778000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 794000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 802000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Strasbourg] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 858000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-Toulon] -T 682000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 730000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 746000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Toulouse] -T 698167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 714167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 722167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 730167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 746167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 754167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-Toulouse-Midi] -T 482000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 514000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 594000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 690000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 738000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Tours] -T 498000000 8MHz AUTO NONE AUTO AUTO AUTO NONE -T 578000000 8MHz AUTO NONE AUTO AUTO AUTO NONE -T 602000000 8MHz AUTO NONE AUTO AUTO AUTO NONE -T 610000000 8MHz AUTO NONE AUTO AUTO AUTO NONE -T 690000000 8MHz AUTO NONE AUTO AUTO AUTO NONE -T 714000000 8MHz AUTO NONE AUTO AUTO AUTO NONE -[dvb-t/fr-Troyes] -T 482000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 506000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 514000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 530000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 594000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Ussel] -T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 658000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 682000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 746000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Valence] -T 546000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 570000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 698000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 706000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 722000000 8MHz AUTO NONE QAM64 8k AUTO NONE -T 746000000 8MHz AUTO NONE QAM64 8k AUTO NONE -[dvb-t/fr-Vannes] -T 674167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 698167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 762167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 778167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 818167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/fr-Villebon] -T 586000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE [dvb-t/gr-Athens] -T 674000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 722000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 738000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE [dvb-t/hk-HongKong] T 482000000 8MHz AUTO NONE QAM64 8k 1/32 NONE T 546000000 8MHz AUTO NONE QAM64 8k 1/32 NONE @@ -5350,103 +5621,146 @@ T 586000000 8MHz 1/2 NONE QAM16 8k 1/8 NONE T 594000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 618000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 642000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE -T 658000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 666000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 666000000 8MHz 5/6 NONE QAM64 8k 1/16 NONE -T 690000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 714000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 730000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 738000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 762000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 618000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 642000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE +T 658000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 666000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 666000000 8MHz 5/6 NONE QAM64 8k 1/16 NONE +T 690000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 714000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 730000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 738000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 762000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE +T 770000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 778000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 850000000 8MHz 5/6 NONE QAM64 8k 1/16 NONE +[dvb-t/hu-Bekescsaba] +T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 738000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 826000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Budapest] +T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 802000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Csavoly-Kiskoros] +T 666000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 850000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Debrecen-Komadi] +T 674000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 714000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 802000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Fehergyarmat] +T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 770000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Gerecse-Dorog-Tatabanya] +T 538000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 810000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Gyor] +T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 642000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 794000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Kabhegy-Kaposvar-Tamasi] +T 794000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac] +T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 802000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Karcag] +T 546000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 674000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Kecskemet] +T 618000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 754000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 850000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Kekes-Cegled-Eger-Miskolctapolca-Ozd] +T 618000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 658000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 858000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Miskolc-Aggtelek-Fony] +T 554000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 810000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Mor-Siofok-Veszprem-Zirc] +T 538000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 794000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Nagykanizsa-Barcs-Keszthely] +T 498000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 826000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Nyiregyhaza-Tokaj-Kazincbarcika-Saly-Satoraljaujhely] +T 554000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 810000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 850000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Pecs-Siklos] +T 722000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 842000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Sopron-Koszeg] +T 626000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 642000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 850000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Szeged] +T 482000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 786000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 826000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Szekesfehervar] +T 538000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 546000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 810000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Szentes-Battonya] +T 786000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 826000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Szolnok] +T 546000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 754000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Szombathely-Vasvar-Lenti-Zalaegerszeg] +T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 770000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 778000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 850000000 8MHz 5/6 NONE QAM64 8k 1/16 NONE -[dvb-t/hu-Bekescsaba] -T 738000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 826000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Budapest] -T 746000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 802000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Csavoly-Kiskoros] -T 666000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Debrecen] -T 714000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 802000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Gerecse] -T 810000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 818000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Gyor] -T 642000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 794000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Gyor-Tatabanya] -T 642000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 794000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Kabhegy] -T 794000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 818000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Kabhegy-Mor-Siofok] -T 794000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 818000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Karcag] -T 674000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 818000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Kekes] -T 658000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 858000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Kekes-Ozd] -T 658000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 858000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Kiskoros] -T 666000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Komadi-Debrecen] -T 674000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 802000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Nagykanizsa-Kaposvar] -T 498000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 826000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Nagykanizsa-Ujudvar] -T 498000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 826000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Pecs] -T 722000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 842000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Pecs-Uzd] -T 722000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 842000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Salgotarjan] -T 746000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 802000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Sopron] -T 642000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Szeged] -T 786000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 826000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Szentes] -T 786000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 826000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Szentes-Szeged] -T 786000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 826000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Tokaj] -T 810000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Tokaj-Kazincbarcika] -T 810000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Uzd] -T 722000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 842000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Vasvar] -T 770000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -[dvb-t/hu-Vasvar-Hegyhatsal] -T 770000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 850000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/hu-Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar] +T 602000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 722000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 842000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +[dvb-t/ie-CairnHill] +T 658000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 682000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +[dvb-t/ie-ClermontCarn] +T 722000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 754000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +[dvb-t/ie-Dungarvan] +T 746000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 778000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +[dvb-t/ie-HolywellHill] +T 546000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 570000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +[dvb-t/ie-Kippure] +T 738000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +[dvb-t/ie-Maghera] +T 690000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +[dvb-t/ie-MountLeinster] +T 490000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 514000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +[dvb-t/ie-Mullaghanish] +T 474000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 498000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +[dvb-t/ie-SpurHill] +T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 698000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +[dvb-t/ie-ThreeRock] +T 546000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 570000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +[dvb-t/ie-Truskmore] +T 730000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +[dvb-t/ie-WoodcockHill] +T 658000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 682000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE [dvb-t/il-All] T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE @@ -5472,140 +5786,36 @@ T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Aosta] -T 226500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Bari] +[dvb-t/it-All] +T 177500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE +T 184500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE +T 191500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE +T 198500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE +T 205500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE +T 212500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE T 219500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE T 226500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE +T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 826000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Bologna] -T 186000000 7MHz 2/3 NONE QAM64 8k 1/32 NONE -T 203500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE -T 212500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE -T 219500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Bolzano] -T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE -[dvb-t/it-Cagliari] -T 205500000 7MHz 3/4 NONE QAM64 8k 1/32 NONE -T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 514000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 562000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 642000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 674000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 722000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 730000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 762000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Caivano] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 834000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Catania] -T 226500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 586000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 834000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Conero] -T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Firenze] -T 219500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 554000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 826000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Genova] -T 219500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 850000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Livorno] +T 562000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 570000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 578000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 586000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Milano] -T 184500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 191500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 219500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 495250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 735250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 783250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 800000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 807250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 847250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 850000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Modena] -T 177500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE -T 184500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE -T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 626000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 642000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE @@ -5615,135 +5825,25 @@ T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 722000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 826000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 834000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Montevergine] -T 177500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE -T 482000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -[dvb-t/it-Pagnacco] -T 226500000 8MHz 3/4 NONE QAM64 8k 1/32 NONE -T 490000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE -T 522000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE -T 594000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE -T 602000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE -T 634000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE -T 818000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Palermo] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 850000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Pescara] -T 186000000 7MHz 2/3 NONE QAM64 8k 1/32 NONE -T 194500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 858000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Pisa] -T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Roma] -T 186000000 7MHz 2/3 NONE QAM64 8k 1/32 NONE -T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-S-Stefano_al_mare] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 570000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 586000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Sassari] -T 177500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 826000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 834000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 850000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 858000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Torino] -T 474000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE -T 514000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE -T 602000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE -T 650000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE -T 834000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE -T 850000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE -[dvb-t/it-Trieste] -T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Varese] -T 226500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE -T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Venezia] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 826000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/it-Verona] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE [dvb-t/lt-All] T 474000000 8MHz AUTO NONE QAM64 8k 1/16 NONE T 482000000 8MHz AUTO NONE QAM64 8k 1/16 NONE @@ -5771,6 +5871,7 @@ T 826000000 8MHz AUTO NONE QAM64 8k 1/16 NONE [dvb-t/lu-All] T 191500000 7MHz 2/3 NONE QAM16 8k 1/8 NONE +T 474000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 498000000 8MHz 2/3 NONE QAM64 8k 1/16 NONE T 522000000 8MHz 2/3 NONE QAM64 8k 1/16 NONE [dvb-t/lv-Riga] @@ -5787,7 +5888,10 @@ T 482000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 490000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 498000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 514000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 538000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 546000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE @@ -5798,15 +5902,20 @@ T 578000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 578000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 586000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 594000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 618000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 642000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE +T 658000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 666000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE +T 674000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 682000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 690000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE +T 698000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 706000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 714000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 722000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 738000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 746000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE @@ -5814,12 +5923,6 @@ T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 770000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 786000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE -T 818000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 826000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE -T 834000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE -T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 850000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE [dvb-t/no-Trondelag_Stjordal] T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE @@ -5860,10 +5963,6 @@ T 642000000 8MHz 3/4 NONE QAM64 8k 1/16 NONE T 698000000 8MHz 3/4 NONE QAM64 8k 1/16 NONE T 714000000 8MHz 3/4 NONE QAM64 8k 1/16 NONE -[dvb-t/nz-Waiatarua] -T 538000000 8MHz 3/4 NONE QAM64 8k 1/16 NONE -T 570000000 8MHz 3/4 NONE QAM64 8k 1/16 NONE -T 666000000 8MHz 3/4 NONE QAM64 8k 1/16 NONE [dvb-t/nz-Waikato] T 674000000 8MHz 3/4 NONE QAM64 8k 1/16 NONE T 690000000 8MHz 3/4 NONE QAM64 8k 1/16 NONE @@ -5880,183 +5979,577 @@ T 666000000 8MHz 3/4 NONE QAM64 8k 1/16 NONE T 730000000 8MHz 3/4 NONE QAM64 8k 1/16 NONE T 762000000 8MHz 3/4 NONE QAM64 8k 1/16 NONE +[dvb-t/pl-Czestochowa] +T 586000000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 618000000 8MHz AUTO NONE QAM64 8k AUTO NONE +T 634000000 8MHz AUTO NONE QAM64 8k AUTO NONE +[dvb-t/pl-Gdansk] +T 610000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 722000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +[dvb-t/pl-Krakow] +T 490000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE +T 690000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE +T 698000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE +T 714000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE +T 802000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE +T 818000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE [dvb-t/pl-Rzeszow] T 642000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/pl-Warszawa] -T 690000000 8MHz 5/6 NONE QAM16 8k 1/4 NONE -T 746000000 8MHz 5/6 NONE QAM16 8k 1/4 NONE +[dvb-t/pl-Szczecin] +T 578000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 634000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE +T 690000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE [dvb-t/pl-Wroclaw] T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +[dvb-t/pt-All] +T 642000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 682000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 754000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/ro-Bucharest] T 546000000 8MHz 2/3 NONE QAM16 8k 1/16 NONE T 738000000 8MHz 2/3 NONE QAM64 8k 1/16 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/16 NONE +[dvb-t/ru-Krasnodar] +T2 618000000 8MHz 4/5 NONE QAM64 32k AUTO NONE 0 +T2 618000000 8MHz 4/5 NONE QAM64 32k AUTO NONE 1 +[dvb-t/ru-Novosibirsk] +T2 530000000 8MHz 4/5 NONE QAM64 32k AUTO NONE 0 +T2 530000000 8MHz 4/5 NONE QAM64 32k AUTO NONE 1 +[dvb-t/ru-Volgodonsk] +T2 650000000 8MHz 4/5 NONE QAM64 32k AUTO NONE 0 +T2 650000000 8MHz 4/5 NONE QAM64 32k AUTO NONE 1 +[dvb-t/se-Aareavaara] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Adolfstrom] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Agnas] +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Akersjon] +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Alafors] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 177500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Albacken] +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Algsjo] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Alingsas_Mariedal] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 177500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Alvangen] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 177500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Alvdalen_Brunnsberg] T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Alvdalsasen] T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Alvsbacka] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Alvsbyn] T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Ammarnas_Ribovardo] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Ammarnas_Tjultrask] +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Amot] T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Amotfors_Kroppstad] +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-An] +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Andersvattnet_Ersmyrberget] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Ange_Snoberg] T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Angebo] -T 802000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Angelholm_Vegeholm] -T 482000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 634000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 794000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 212500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Angersjo] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Are] +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Arjang] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Arjeplog_Galtispouda] +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Arosjokk] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Arvidsjaur_Jultrask] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Arvika_Orshultaberget] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-As] +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Asele_Aslia] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Asmon_Sormoflo] +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Aspeboda] T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Atvidaberg] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Avesta_Krylbo] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Backe] +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Backefors] -T 482000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 586000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 754000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 826000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 177500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Bankeryd] -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Bengtsfors] +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Berghamn] +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bergshamra_Vaxtuna] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Bergsjo_Balleberget] T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Bergvik] T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Billsjo] +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bispfors] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Bjorkliden_Tornehamn] +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bjorksele] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bjorkvattnet] +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bjorna] +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bjurberget_Hemtjarn] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bjurtrask] +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Boberg] +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Boda_Fagerum] +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Boden_Skogsa] +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bograngen] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Bollebygd] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 177500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Bollnas] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 578000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 618000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 184500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Bonhamn] +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Boras_Dalsjofors] -T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 794000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Boras_Sjobo] -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 810000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Borgafjall] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Borgholm_Ramsattra] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Borgsjobyn] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Borkan] +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Borlange_Idkerberget] T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Borlange_Nygardarna] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Bortansbyn_Bortan] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bosebyn] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Botsmark] +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Bottnaryd_Ryd] T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Bredaker] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bredbyn_Kubbe] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bredbyn_Vasterfannbyn] +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bredsjon] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Bromsebro] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Bruzaholm] T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Bydalen_Hovdehogen] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bygdetrask] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Bygdsiljum] +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Byxelkrok] T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Dadran] -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Dal] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Dalfors] T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Dals_Langed] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Dalstuga] T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Degeberga] +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Degerfors] -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Delary] T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Delary_Kolaboda] +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Djura] T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Dorotea] +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Drevdagen] T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Duved] +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Duvnas] T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Duvnas_Basna] T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Edane] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Edsbyn] T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Edsele] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Edsleskog_Hogheden] +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Eksharad_Ekesberget] +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Ellos] +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Emmaboda_Balshult] -T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Enafors] +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Enviken] -T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Erikslund_Bergasen] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Fagersta] T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Fagersta_Jattasen] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Falerum_Centrum] T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Falkenberg_Ringsegard] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Faltrask] +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Falun_Lovberget] -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Farila] T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Farjestaden_Algutsrum] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Faro_Ajkerstrask] T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Faro_Ajkestrask] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Farosund_Bunge] -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Fengersfors] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Filipstad_Klockarhojden] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Finnveden] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Fjal] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Fjallsta] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Flarke] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Floda] +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Flurkmark] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Flyggsjo] +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Flyn] +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Folsbyn] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Forsed] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Forsmo] +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Forsmo_Yttersel] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Forsnaset] +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Frankrikegarden_Frankrike] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Fransta] +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Fredrika] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Fredriksberg] T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Fredros] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Fritsla] T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Fullsjon] +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Funasdalen_Funasdalsberge] +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Funasdalen_Telestation] +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Furudal] T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Gaddede] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Gallivare] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Gallsatter] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Gardikfors] +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Gargnas] +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Garpenberg_Kuppgarden] T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Gavle_Skogmur] -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 205500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Gillhov] +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Glimakra] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Gnarp] T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Gnesta] @@ -6064,46 +6557,126 @@ T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Gnosjo_Marieholm] T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Gordalen] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Goteborg_Brudaremossen] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 205500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Goteborg_Slattadamm] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Graninge] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Grasmark] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Grasmyr] +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Grebbestad] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 205500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Grevie] +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Grovelsjon] +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Grums] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Guliksberg] +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Guliksberg_Rodvattnet] +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Gullbrandstorp] T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Gumhojden] +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Gunnarn_Sorsjoliden] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Gunnarsbo] T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Gunnarsbyn] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Gunnarskog] +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Gusum] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Hadanberg] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Hagfors_Varmullsasen] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 802000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Hakafot] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Halaforsen] +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Haljeboda] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Hallan] +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Hallaryd] T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Hallastrom] +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Hallbo] T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Halle] +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Halleviksstrand] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Hallsjo] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Halmstad_Hamnen] -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Halmstad_Oskarstrom] -T 474000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 530000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 666000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Hamburgsund] +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Harads] +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Harnosand_Harnon] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Harrsjon] +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Hassela] T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Havdhem] @@ -6112,14 +6685,40 @@ T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Hede] +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Hedemora] -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Hedenaset] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Helgum] +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Helsingborg_Olympia] -T 482000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 634000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 794000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 212500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Hemavan] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Hemson] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Henan] +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Hennan] T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Hestra_Aspas] @@ -6127,86 +6726,227 @@ [dvb-t/se-Hjo_Grevback] T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Hofors] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Hogfors] T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Hoglunda] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Hogsby_Virstad] -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Hogvalen] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Holjes] +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Hollviken_Stora_Hammar] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Holsbybrunn_Holsbyholm] T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Horby_Sallerup] -T 482000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 570000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 634000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 650000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 794000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 212500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Horken] T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Hornon] +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Hotagen] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Hoting] +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Hovfjallet] +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Hudiksvall_Forsa] -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 618000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Hudiksvall_Galgberget] -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Hummelholm] +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Hunnebostrand] +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Huskvarna] T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Husum] +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Idivuoma] +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Idre] -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Ingatorp] T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Ingvallsbenning] -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Irevik] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Irevik_3195] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Ivarsbyn] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Jakkvik_Frakenmyren] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Jamjo] T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Jarkvissle] +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Jarnforsen] T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Jarpen_Mellangardsberget] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Jarvso] T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Jarvtrask] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Joestrom] +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Jokkmokk_Nyborg] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Jokkmokk_Tjalmejaure] -T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Jonkoping_Bondberget] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 184500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Jormvattnet] +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Jude] +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Junsele_Hamptjarnsberget] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Junsele_Vallen] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kagerod_Mollarp] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kalarne] +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kalen] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Kalix] -T 706000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 770000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 786000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Kallered] +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kallinge_Kalleberga] +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Kallror] +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kampersvik_Ekeberget] +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Karbole] T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Karesuando] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Karlanda] +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Karlsborg_Vaberget] T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Karlshamn] -T 498000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 522000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 642000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Karlskrona_Jamjo] +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Karlskrona_Vamo] -T 498000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 522000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 642000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Karlstad_Sormon] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Kasta_Ringkallen] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kaxas] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Kaxholmen_Vistakulle] T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Kinnastrom] @@ -6215,45 +6955,172 @@ T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Kisa] T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 184500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Klingsta] +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Klovsjo] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Knared] T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Knavland] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Kopmanholmen] T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Kopparberg] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Koppom] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Korstrask] +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kottsjon] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kovland] +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Kramfors_Lugnvik] -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Kramfors_Ostby] +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Krangede] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kristineberg] +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Kristinehamn_Utsiktsberget] -T 522000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 546000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 626000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 642000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Krokstrand] +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kultsjon] +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kungalv] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 177500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Kungsater] T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Kungsbacka_Ojersbo] +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Kungsberget_GI] T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Kungsberget_Gl] +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kungshamn] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 205500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Kurravaara] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kvarnsvedjan] +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kvikkjokk_Arrevare] +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kvikkjokk_Tavvevare] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Kyrkesund] +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Lagfors] +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Laggarberg] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Laisvall] +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Langa] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Langsele] +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Langshyttan] T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Langshyttan_Engelsfors] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Laxsjo] +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Laxviken] +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Leksand_Asledsberget] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Leksand_Karingberget] T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Lekvattnet] +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Lerdala] T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Lesjofors] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Liden] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Liden_Osterstrom] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Lilla_Edet] +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Lillogda] +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Lillpite_Bastaberget] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Lilltjara_Digerberget] T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Limedsforsen] @@ -6261,149 +7128,454 @@ [dvb-t/se-Lindshammar_Ramkvilla] T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Linkoping_Vattentornet] -T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Linsell] +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Lit] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Ljugarn] T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Ljugarn_3193] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Ljungaverk] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Ljungdalen] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Ljustorp] +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Ljusvattnet] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Loderups_Strandbad] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Loffstrand] -T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 650000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 762000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 770000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Lofsdalen] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Logdealv] +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Lonneberga] -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Lorstrand] T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Lovanger] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Ludvika_Bjorkasen] -T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Lumsheden_Trekanten] T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Lycksele_Knaften] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Mahult] T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Mala] +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Malmo_Jagersro] -T 482000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 634000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 794000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 212500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Malung] -T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Manserud] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Mardsjo] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Mariannelund] -T 834000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Markaryd_Hualtet] +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 184500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Matfors] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Matsdal] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Medstugan] +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Mittadalen] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Mjallom] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Mjosjo] +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Moliden] +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Molnbo_Tallstugan] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Molndal_Vasterberget] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Mora_Eldris] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Morkret] +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Moskosel] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Motala_Ervasteby] T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Mullsjo_Torestorp] -T 834000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 850000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Munkedal] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Munkfors] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Muodoslompolo] +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Nalden] +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Nasaker] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Nasanget] +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Nassjo] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 184500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Nasteln] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Navekvarn] -T 842000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Naverede_Oberget] +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Niemisel] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Nordanede] +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Nordmaling] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Norra_Rorum] +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Norrahammar] T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Norraker] +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Norrfors] +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Norrhassel] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Norrkoping_Krokek] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 802000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 177500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Norrtalje_Sodra] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Norrtalje_Sodra_Bergen] T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Norsjovallen] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Nyhem] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Nykoping] T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Nyliden] +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Nynashamn_Vattentornet] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Odsmal] +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Olden_Telestation] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Olkamangi] +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Olofstrom] +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Orebro_Lockhyttan] T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Orkelljunga] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 212500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Ornskoldsvik_As] T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Oskarshamn] -T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 802000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Osmo_Bjorsta] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Osterforse] +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Ostergraninge] +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Ostersund_Brattasen] -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Osthammar_Valo] -T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 184500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Ostmark] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Overammer] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Overhogdal] +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Overkalix] -T 706000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 770000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 786000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Overklinten] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Overrissjo] +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Overtornea_Sarkivaara] +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Overturingen] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Oxberg] T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Pajala] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Paulistom] T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Paulistrom] +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Pilgrimstad] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Porjus] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Puoltsa] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Ragunda] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Ramsele_Skavasen] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Ramsjo] +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Ramundberget] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Randalen] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Randijaure] +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Ransater] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Rattvik] -T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Rengsjo] T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Renstrom] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Resele] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Risback] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Rissna] +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Ritsem] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Robertsfors] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Rojdafors] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Ronnang] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Rorbacksnas] T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Rosson] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Rusksele] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Sadvaluspen] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Sagmyra] T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Saivomuotka] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Salen] T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Salfjallet] @@ -6412,183 +7584,465 @@ T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Satila] T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Savar_Sorbyn] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Savast] +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Saxdalen] T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Seitevaare] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Selanger] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Seltjarn] +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Sidensjo_Aberget] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Siljansnas_Uvberget] T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Simrishamn_Fabriksgatan] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 212500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Skalan] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Skalmsjo] +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Skarstad] T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Skarvangen] +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Skattungbyn] T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Skaulo_Pyhakielinen] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Skelleftea] -T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 184500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Skene_Nycklarberget] T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Skillingsfors] +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Skorped] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Skottsund] +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Skovde] T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Skroven] +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Skymnas] +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Slussfors] +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Smedjebacken_Uvberget] -T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 802000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Soderhamn] -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 810000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Soderkoping] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Sodertalje_Ragnhildsborg] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Solleftea_Hallsta] T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Solleftea_Multra] T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Soraker] +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Sorbygden] +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Sorflarke] +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Sorsele_Nalovardo] +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Sorsele_Vattentornet] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Sorsjon] T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Soukolojarvi] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Stalon] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Stigsjo] +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Stockholm_Marieberg] -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Stockholm_Nacka] T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Stode_Hullsjon] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Stode_Intaget] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Stomne_Skasas] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Stora_Skedvi] T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Stordalen] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Storfjaten] T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Storlien] +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Storuman] -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Stromstad] -T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 530000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 554000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 730000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 754000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 205500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Stromsund_Grelsgard] +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Stugun] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Styrsjobo] T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Suddesjaur] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Suijavaara] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Sulvik] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Sundborn] T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Sundsbruk] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Sundsvall_S_Stadsberget] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Sunne_As] +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Sunne_Blabarskullen] -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Sunnemo] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Svaneholm] +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Svanstein] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Svardsosund_Svardso] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Svartnas] T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Sveg_Brickan] -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Sveg_Ransjo] +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Svenstavik] +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Svinesund] +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Syssleback] +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Taberg] T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Tandadalen] -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Tannas_Vastra] +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Tanndalen] +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Tarnaby_Ryfjallet] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Tarnamo] +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Tasjo] -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Tavelsjo] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Tocksfors] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Tollsjo] T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Tormestorp] +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Tornetrask] +T 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Torpshammar] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Torsby_Bada] -T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 802000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Tranas_Bredkarr] -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Tranemo] T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Transtrand_Bolheden] -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Traryd_Betas] -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 184500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Trehorningsjo] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Trelleborg_Gylle] +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 212500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Trollhattan] -T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 530000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 554000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 730000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 754000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 205500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Trosa] T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Tullinge_Hamra] +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Tyringe] +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Tystberga] -T 842000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Uddevalla_Herrestad] -T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 530000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 554000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 730000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 754000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 205500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Uddevalla_Kapelle] +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Uggleheden] +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Ullanger_Skidsta] +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Ullared] T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Ulricehamn] -T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 842000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Ulvohamn] +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Ulvshyttan_Porjus] T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Umea_Mariehem] +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Umfors] +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Umgransele_Granselelund] +T 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Undersaker] +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Uppsala_Rickomberga] T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Uppsala_Vedyxa] -T 474000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Utansjo] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Utanskog] +T 746000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Vaddo_Elmsta] -T 514000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 834000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 474000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 184500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Valadalen] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Valanger] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Valdemarsvik] -T 794000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 834000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 530000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 674000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 177500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Valsjobyn] +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Vannas_Granlundsberget] -T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 594000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 786000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Vansbro_Hummelberget] T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Varberg_Grimeton] @@ -6596,57 +8050,139 @@ T 530000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE T 666000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 682000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 191500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Varmvattnet] +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Varnamo_Alandsryd] +T 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Vassbotten] +T 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Vassijaure] +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Vastansjo] +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Vasteras_Lillharad] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 554000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Vastervik_Farhult] -T 498000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Vato] +T 666000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Vaxbo] T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Vemdalsskalet] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Vessigebro] T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Vetlanda_Nye] T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Vidsel] +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Vietas] +T 610000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Vikmanshyttan] T 538000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Viksjo] +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Vilhelmina] +T 514000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 522000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Villands_Vanga] +T 538000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Vindelgransele] +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Vindeln_Renfors] +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 642000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 738000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Virserum] +T 562000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Visby_Follingbo] -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 205500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Visby_Hamnen] T 482000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 506000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 522000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T2 722000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Visby_Havdhem] +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 770000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 205500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 714000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Visingso] T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/se-Vislanda_Nydala] -T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE -T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +T 578000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 602000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 618000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 626000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 706000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 198500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 762000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +[dvb-t/se-Vitberget] +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Vitsand] +T 586000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +[dvb-t/se-Vitsand_Vagsjofors] +T 690000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO [dvb-t/se-Voxna] T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE +[dvb-t/se-Vuollerim] +T 490000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 658000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 698000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 730000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 754000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 778000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Ystad_Metallgatan] -T 482000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 634000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 794000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE -T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE +T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 506000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 570000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 634000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T 650000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO +T2 212500000 7MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 +T2 546000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO 0 [dvb-t/se-Yttermalung] T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE [dvb-t/si-Ljubljana] @@ -6663,6 +8199,7 @@ T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/sk-Bratislava] T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE +T 746000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE T 754000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/sk-Cadca] T 562000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE @@ -6688,10 +8225,6 @@ [dvb-t/sk-Medzev] T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -[dvb-t/sk-Michalovce] -T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 818000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/sk-Namestovo] T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE @@ -6714,10 +8247,6 @@ [dvb-t/sk-Revuca] T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -[dvb-t/sk-RimavskaSobota] -T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/sk-Roznava] T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE @@ -6736,603 +8265,656 @@ [dvb-t/sk-Trencin] T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -[dvb-t/sk-VelkyKrtis] -T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -T 826000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE [dvb-t/sk-Zilina] T 562000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE -[dvb-t/tw-Kaohsiung] +[dvb-t/tw-All] +T 533000000 6MHz 2/3 NONE QAM16 8k 1/4 NONE +T 539000000 6MHz 2/3 NONE QAM16 8k 1/4 NONE T 545000000 6MHz 2/3 NONE QAM16 8k 1/4 NONE -T 545000000 6MHz 2/3 NONE QAM16 8k 1/8 NONE -T 557000000 6MHz 2/3 NONE QAM16 8k 1/4 NONE -T 557000000 6MHz 2/3 NONE QAM16 8k 1/8 NONE -[dvb-t/tw-Taipei] -T 533000000 6MHz 1/2 NONE QAM16 8k 1/8 NONE -T 545000000 6MHz 2/3 NONE QAM16 8k 1/8 NONE +T 551000000 6MHz 2/3 NONE QAM16 8k 1/4 NONE T 557000000 6MHz 2/3 NONE QAM16 8k 1/4 NONE +T 563000000 6MHz 2/3 NONE QAM16 8k 1/4 NONE +T 569000000 6MHz 2/3 NONE QAM64 8k 1/4 NONE +T 575000000 6MHz 2/3 NONE QAM16 8k 1/4 NONE T 581000000 6MHz 2/3 NONE QAM16 8k 1/4 NONE +T 587000000 6MHz 2/3 NONE QAM16 8k 1/4 NONE T 593000000 6MHz 2/3 NONE QAM16 8k 1/4 NONE +[dvb-t/ua-Kharkov] +T2 554000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +T2 586000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +T2 690000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +T2 770000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +[dvb-t/ua-Kiev] +T2 526000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +T2 538000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +T2 554000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +T2 698000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +[dvb-t/ua-Lozovaya] +T2 554000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +T2 746000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +T2 754000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +T2 778000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +[dvb-t/ua-Odessa] +T2 490000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +T2 562000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +T2 618000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +T2 650000000 8MHz 3/5 NONE QAM256 32k 1/16 NONE 0 +[dvb-t/ug-All] +T 474000000 8MHz 2/3 NONE QPSK 8k 1/4 NONE +T2 538000000 8MHz AUTO AUTO AUTO 32k 1/16 AUTO 1 +T2 586000000 8MHz AUTO AUTO AUTO 32k 1/16 AUTO 9 [dvb-t/uk-Aberdare] -T 474167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 482167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 497833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 506167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 521833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 530167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 474167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 482167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 497833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 530167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 521833000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Angus] -T 753833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 777833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 801833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 825833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 834167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 850000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 698000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 554000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 762000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-BeaconHill] -T 721833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 738167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 753833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 770167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 794167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 818167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 642000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 714000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 730167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 570000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 762167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Belmont] -T 546000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 690000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 762167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 786000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 834000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 850000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 545833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 730000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 530000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 570000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Bilsdale] -T 474000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 498167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 522167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 554000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 578167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 642000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 626000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 650000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 674000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 490000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 554000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-BlackHill] -T 634167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 658167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 682167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 714167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 746000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 826000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 634167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 682000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 714000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T2 562000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 626000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Blaenplwyf] -T 482167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 506167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 530167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 538167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 562167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 570167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 482000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 474167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-BluebellHill] -T 498000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 522000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 618000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 641833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 665833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 778000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 618167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 562000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 626167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Bressay] -T 474000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 497833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 521833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 553833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 834000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 850000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 474167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 498000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 482167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-BrierleyHill] -T 753833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 777833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 801833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 825833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 834167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 850000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -[dvb-t/uk-BristolIlchesterCres] -T 618000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 634167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 658167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 682167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 697833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 714167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 538000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T 706000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 777833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 730000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +[dvb-t/uk-BristolIlchesterCrescent] +T 546000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T 618167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 634167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 642167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 682000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-BristolKingsWeston] -T 482000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 506000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 530000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 546000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 562000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 578000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 546000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T 626000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 730000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 674000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Bromsgrove] -T 489833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 513833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 537833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 545833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 569833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 578167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 634167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 682000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 545833000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-BrougherMountain] -T 490167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 514167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 538167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 546167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 570167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 578167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 474167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 482167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 498000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 506000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 545833000 8MHz 2/3 NONE QPSK 32k 1/128 NONE 0 [dvb-t/uk-Caldbeck] -T 490000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 506000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 514167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 618000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 642000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 666000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 489833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 505833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 513833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 529833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 537833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 545833000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 562000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-CaradonHill] -T 474000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 497833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 522000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 553833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 578000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 690000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 474167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 497833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 506167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 521833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 530167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 482167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 554000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Carmel] -T 746000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 777833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 801833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 825833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 834167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 850000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 698000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 762000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Chatton] -T 626167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 650167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 674167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 682167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 706167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 714167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 634000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 642000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 682000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 618167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Chesterfield] -T 578167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 626000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 650000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 674000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 706000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 722000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 626000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 650000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 674000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 538000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Craigkelly] -T 489833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 513833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 538000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 570000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 618000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 642000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 546000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T 618167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 642000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 474167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 570000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-CrystalPalace] -T 481833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 505833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 529833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 537833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 561833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 578167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 482000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 529833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 545833000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 570000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Darvel] -T 481833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 505833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 529833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 546167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 561833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 578000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 481833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 490000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 538000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 530000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 554000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Divis] -T 489833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 513833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 538000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 569833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 578167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 690000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 474167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 490000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 538000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 498000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 570000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Dover] -T 618167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 642000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 666000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 745833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 762167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 770167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 785833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 794167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 850000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 690000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 778000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 730000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Durris] -T 546000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 578000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 634000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 658000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 713833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 722167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 490000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 538000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 482000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 562000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Eitshal] -T 481833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 505833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 529833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 546167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 561833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 578167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 482000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 538000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-EmleyMoor] -T 625833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 649833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 673833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 697833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 705833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 722167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 690000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 714000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 754000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T2 562000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 634000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Fenham] -T 482167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 506167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 530167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 545833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 562167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 762167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 482167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 474167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 554000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Fenton] -T 482167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 506167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 530167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 545833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 562167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 577833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 482167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 474167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 562000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Ferryside] -T 474167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 498000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 522000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 545833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 474167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 545833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 498000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Guildford] -T 634167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 658167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 682167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 697833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 714167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 738000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 690000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 698000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 626000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Hannington] -T 626167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 634167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 650167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 658167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 674167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 706000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 634000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 642000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 682000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 562000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 618167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Hastings] -T 474000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 497833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 521833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 553833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 786000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 810000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 490000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 545833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 482000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Heathfield] -T 538000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 578000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 681833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 689833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 713833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 738000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 634000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 642000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 682000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-HemelHempstead] -T 690167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 746000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 777833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 786167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 802000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 826000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 706000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 778000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 682000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-HuntshawCross] -T 682000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 714000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 729833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 737833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 761833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 769833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 793833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 817833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 690000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 754167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 777833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 745833000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Idle] -T 545833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 578000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 642000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 666000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 730000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 754000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 618000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 642000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 522000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-KeelylangHill] -T 634167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 658167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 682167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 690167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 714167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 722167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 618167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 642000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 626167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Keighley] -T 546000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 578000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 690000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 729833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 834000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 850000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 730000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 738000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-KilveyHill] -T 474000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 481833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 505833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 529833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 553833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 561833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 482000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 538000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-KnockMore] -T 546167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 578167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 730000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 753833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 762167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 786000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 730000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 538000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Lancaster] -T 482167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 506167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 530167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 545833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 562167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 578000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 482167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 497833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 521833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 530167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 474167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-LarkStoke] -T 474000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 498167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 522167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 554000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 762000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 786000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 634167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 682000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 545833000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Limavady] -T 730000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 761833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 769833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 786167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 810167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 842000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 698000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 746000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Llanddona] -T 674000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 706000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 738167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 770167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 794167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 818167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 626000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 650000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 674000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 730000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Malvern] -T 618000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 634000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 658000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 682000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 714000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 722167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 706000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 777833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 785833000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Mendip] -T 746167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 754167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 778167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 802167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 826167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 842000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 690000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 754000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 570000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 770000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Midhurst] -T 754167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 778167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 786167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 802167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 817833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 826167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -[dvb-t/uk-Moel-y-Parc] -T 546000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 578000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 738000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 770000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 794000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 818000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 706000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 778000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 770000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +[dvb-t/uk-MoelyParc] +T 618167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 689833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 713833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 722167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 562000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 642000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Nottingham] -T 538000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 618000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 730000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 778000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 810000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 842000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 690000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 706000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T 714000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 474167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-OliversMount] -T 698000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 738167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 770167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 794167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 818167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 842167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 698000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 730000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Oxford] -T 538000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 578000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 690000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 713833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 721833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 850000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 538000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T 706000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 730167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 777833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 554000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 762000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-PendleForest] -T 474000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 497833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 521833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 545833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 553833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 578000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 474167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 497833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 506167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 521833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 530167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 482167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Plympton] -T 722000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 754000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 785833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 809833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 833833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 842167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 642000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 754000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 770000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-PontopPike] -T 690000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 729833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 746167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 778167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 802167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 826167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 706000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 754000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 778000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 570000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 698000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Pontypool] -T 482167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 530167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 642000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 666000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 690000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 722000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -[dvb-t/uk-Presely] -T 618000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 641833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 665833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 682167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 697833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 714167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 481833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 490167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 505833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 514167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 529833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 538167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +[dvb-t/uk-Preseli] +T 618167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 641833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 650167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 665833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 674167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 626167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Redruth] -T 474167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 497833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 506167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 521833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE T 634167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 650167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE T 658167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 690000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 714000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 682000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Reigate] -T 474000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 498000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 522000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 554000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 618167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 834000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 474167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 498000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 730000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-RidgeHill] -T 642000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 666000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 730000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 762000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 786000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 810000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 474167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 498000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 482167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 562000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Rosemarkie] -T 633833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 657833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 674167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 682167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 706167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 714167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 618167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 626167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 650000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 674000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 642000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Rosneath] -T 690000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 729833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 761833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 785833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 809833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 842000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 730000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 738000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Rowridge] -T 489833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 513833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 530000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 545833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 562167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 570167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 482167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 538000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T2 474167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 554000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-RumsterForest] -T 482167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 506167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 530167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 562167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 778000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 802000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 545833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 778000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 474167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Saddleworth] -T 618167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 633833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 657833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 682000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 713833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 738000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 618167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 690000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 713833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 722167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 642000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Salisbury] -T 721833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 745833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 753833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 777833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 801833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 826000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 706000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 777833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 730000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-SandyHeath] -T 626167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 641833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 650167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 665833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 674167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 842000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 690000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 714000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 474167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 562000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Selkirk] -T 730167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 754167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 762167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 786167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 810167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 834167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 730000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 777833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 746000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Sheffield] -T 618000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 642000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 666000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 730000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 762000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 786000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 618167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 642000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T2 474167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 554000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-StocklandHill] -T 481833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 490167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 505833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 514167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 529833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -[dvb-t/uk-Storeton] +T 482000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 538000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +[dvb-t/uk-Storeton] +T 490000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 538000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 546000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T2 482000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Sudbury] -T 618000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 690167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 698167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 706167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 738000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 754000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 850000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 754000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 682000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-SuttonColdfield] -T 634167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 658167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 682167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 714167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 722167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 746000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 618167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 642000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 714000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T2 570000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 626167000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Tacolneston] -T 730167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 769833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 786000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 794000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 810000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 818000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 618167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 642000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 745833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 777833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 554000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 706000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-TheWrekin] -T 474000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 498167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 522167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 554000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 618167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 642000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 666000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 698000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 730000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 762000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 634167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 682000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 545833000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Torosay] -T 474000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 490167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 514167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 538167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 553833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 570167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 490000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 514000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 538000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 482000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-TunbridgeWells] -T 618000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 642167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 666167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 746000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 778000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 794000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE +T 634000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 642000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 722000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 682000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Waltham] -T 490000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 514000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 570000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 642000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 666000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 698000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 514000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T 538000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 737833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 754000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T2 554000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 770000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-Wenvoe] -T 546000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 578000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 625833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 649833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 673833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 705833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 618167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 634167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 642167000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 714000000 8MHz 3/4 NONE QPSK 8k 1/32 NONE +T2 554000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 682000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-WhitehawkHill] -T 690000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 706000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 746000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE -T 770167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 794167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE -T 834000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE +T 690000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 754000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 762000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 785833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 714000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/uk-WinterHill] -T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 698000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T 746000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE +T 770000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE -T 801833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE +T2 554000000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 +T2 737833000 8MHz 2/3 NONE QAM256 32k 1/128 NONE 0 [dvb-t/vn-Hanoi] T 514000000 8MHz 3/4 NONE QAM64 2k 1/32 NONE T 578000000 8MHz 3/4 NONE QAM64 2k 1/32 NONE @@ -7342,6 +8924,8 @@ [atsc/ca-AB-Calgary] A 515000000 8VSB A 563000000 8VSB +A 581000000 8VSB +A 617000000 8VSB A 635000000 8VSB A 683000000 8VSB [atsc/us-ATSC-center-frequencies-8VSB] @@ -7427,6 +9011,26 @@ A 701000000 8VSB A 725000000 8VSB A 731000000 8VSB +[atsc/us-CO-Denver] +A 189028615 8VSB +A 213028615 8VSB +A 479028615 8VSB +A 485028615 8VSB +A 491028615 8VSB +A 497028615 8VSB +A 503028615 8VSB +A 515028615 8VSB +A 563028615 8VSB +A 581028615 8VSB +A 593028615 8VSB +A 599028615 8VSB +A 617028615 8VSB +A 629028615 8VSB +A 635028615 8VSB +A 647028615 8VSB +A 659028615 8VSB +A 689028615 8VSB +A 695028615 8VSB [atsc/us-Cable-EIA-542-HRC-center-frequencies-QAM256] A 55752700 QAM256 A 61753000 QAM256 @@ -8192,3 +9796,5917 @@ A 773000000 8VSB A 785000000 8VSB A 791000000 8VSB +[isdb-t/ar-Argentina] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 707142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 749142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 761142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 773142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 779142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 785142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 791142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 797142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 803142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-Brazil] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 707142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 749142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 761142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 773142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 779142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 785142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 791142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 797142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 803142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ac-Bujari] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ac-PortoAcre] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ac-RioBranco] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ac-SenadorGuiomard] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-Arapiraca] +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-BocaDaMata] +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-Coruripe] +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-Craibas] +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-DelmiroGouveia] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-FeiraGrande] +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-GirauDoPonciano] +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-Junqueiro] +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-Maceio] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-Maragogi] +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-MatrizDeCamaragibe] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-PalmeiraDosIndios] +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-PaoDeAcucar] +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-Penedo] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-Piranhas] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-PortoCalvo] +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-RioLargo] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-Roteiro] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-SaoSebastiao] +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-al-UniaoDosPalmares] +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-am-BocaDoAcre] +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-am-Borba] +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-am-CareiroDaVarzea] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-am-Coari] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-am-Iranduba] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-am-Itacoatiara] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-am-Labrea] +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-am-Manaus] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-am-Parintins] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-am-SaoGabrielDaCachoeira] +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-am-Tefe] +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ap-Macapa] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ap-Santana] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Alagoinhas] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Alcobaca] +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Amargosa] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-AmeliaRodrigues] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Anage] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Anguera] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-AntonioCardoso] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Aracatu] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Araci] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-BaixaGrande] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Barra] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-BarraDoChoca] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Barreiras] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Barrocas] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-BeloCampo] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Biritinga] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-BomJesusDaLapa] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Brejoes] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Brumado] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Caetite] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Camacan] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Camacari] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-CamacariMonteGordoguarajuba] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Camamu] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-CampoFormoso] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Canavieiras] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Candeal] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Candeias] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-CandidoSales] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-CapimGrosso] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Caraibas] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-CasaNova] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Central] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-ConceicaoDaFeira] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-ConceicaoDoCoite] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-ConceicaoDoJacuipe] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-CoracaoDeMaria] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-CruzDasAlmas] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-DiasDAvila] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-EntreRios] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Esplanada] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-EuclidesDaCunha] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Eunapolis] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-FeiraDeSantana] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Gloria] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Guanambi] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Iacu] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Ibotirama] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Ichu] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Ilheus] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Inhambupe] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Ipecaeta] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Ipiau] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Ipira] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Irara] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Irece] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Itaberaba] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Itabuna] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Itamaraju] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Itambe] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Itaparica] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Itapetinga] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Itiricu] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Jaborandi] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Jacobina] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Jaguaquara] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Jaguarari] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Jaguaripe] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Jequie] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Jeremoabo] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Juazeiro] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-LauroDeFreitas] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-LuisEduardoMagalhaes] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-MadreDeDeus] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-ManoelVitorino] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Maragogipe] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-MataDeSaoJoao] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-MataDeSaoJoaoPraiaDoForte] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-MonteSanto] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Mucuri] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Nazare] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-NovaVicosa] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-PalmasDeMonteAlto] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Paramirim] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-PauloAfonso] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Piripa] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Planalto] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Pocoes] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Pojuca] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-PortoSeguro] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-PresidenteJanioQuadros] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-RafaelJambeiro] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Remanso] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-RiachaoDoJacuipe] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-RibeiraDoPombal] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-RioReal] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SalinasDaMargarida] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Salvador] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SantaBarbara] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SantaCruzCabralia] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SantaMariaDaVitoria] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Santaluz] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Santanopolis] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SantoAmaro] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SantoAntonioDeJesus] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SantoEstevao] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SaoDesiderio] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SaoFelixDoCoribe] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SaoFranciscoDoConde] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SaoGoncaloDosCampos] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SaoSebastiaoDoPasse] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Saubara] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Seabra] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SenhorDoBonfim] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SerraPreta] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Serrinha] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-SimoesFilho] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Tanhacu] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Tanquinho] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-TeixeiraDeFreitas] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Teofilandia] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Tremedal] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Ubata] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Valenca] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Valente] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-VeraCruz] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-VitoriaDaConquista] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ba-Xiquexique] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Acarape] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Alcantaras] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Aquiraz] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Aracati] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Barbalha] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Camocim] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Carire] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Chorozinho] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Crateus] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Crato] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Forquilha] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Fortaleza] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Groairas] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Horizonte] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Ico] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Iguatu] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Itaitinga] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Itapipoca] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-JuazeiroDoNorte] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-LimoeiroDoNorte] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Maracanau] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-MaranguapeItapebussu] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Massape] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Meruoca] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-MissaoVelha] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Pacajus] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Quixada] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Russas] +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-SantanaDoAcarau] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-SaoGoncaloDoAmarante] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Sobral] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Tiangua] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Ubajara] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ce-Varjota] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-df-Brasilia] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-df-Gama] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-df-Taguatinga] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-Anchieta] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-Aracruz] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-CachoeiroDoItapemirim] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-Colatina] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-ConceicaoDaBarra] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-DomingosMartins] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-GovernadorLindenbergNovoBrasil] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-Guarapari] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-Itapemirim] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-JoaoNeiva] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-Linhares] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-Marataizes] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-NovaVenecia] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-Piuma] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-RioNovoDoSul] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-SaoDomingosDoNorte] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-SaoMateus] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-VendaNovaDoImigrante] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-es-Vitoria] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-AguasLindasDeGoias] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Alexania] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Aloandia] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-AltoParaisoDeGoias] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Anapolis] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-AparecidaDeGoiania] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-BuritiAlegre] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Caiaponia] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-CaldasNovas] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Catalao] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Cristalina] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Formosa] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Goiandira] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Goianesia] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Goiania] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Goiatuba] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Guapo] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Inhumas] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Ipora] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Itapaci] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Itumbiara] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Jatai] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Luziania] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Minacu] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Mineiros] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Morrinhos] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Ouvidor] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-PalmeirasDeGoias] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Panama] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Piracanjuba] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Pirenopolis] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-PiresDoRio] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-PlanaltinaDeGoias] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Porangatu] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Quirinopolis] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-RioVerde] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-SantaHelenaDeGoias] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-SantoAntonioDoDescoberto] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-SaoLuisDeMontesBelos] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-SaoMiguelDoAraguaia] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-SaoSimao] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-SenadorCanedo] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-Uruacu] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-go-ValparaisoDeGoias] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Alcantara] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Axixa] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Bacabal] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Bacabeira] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Bacurituba] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Balsas] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-BaraoDeGrajau] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-CachoeiraGrande] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Cajapio] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Caxias] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Davinopolis] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-HumbertoDeCampos] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Icatu] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Imperatriz] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-JoaoLisboa] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Morros] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-PacoDoLumiar] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Pinheiro] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-PresidenteJuscelino] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-PrimeiraCruz] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Raposa] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Rosario] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-SantaRita] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-SaoBento] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-SaoJoaoBatista] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-SaoJoseDeRibamar] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-SaoLuis] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-SaoVicenteFerrer] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-SenadorLaRocque] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Timon] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-Viana] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ma-ZeDoca] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-AguaComprida] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Aguanil] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Alfenas] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Almenara] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Andradas] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Araguari] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Arapora] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Araxa] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Arinos] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Barbacena] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Barroso] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-BeloHorizonte] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 779142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Betim] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 779142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Bocaiuva] +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-BordaDaMata] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-BrasiliaDeMinas] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Buritis] +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Buritizeiro] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Cambui] +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Campanha] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Campestre] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-CampoBelo] +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Caratinga] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-CarmoDaCachoeira] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-CarmoDeMinas] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Cataguases] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Chacara] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Claraval] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Coimbra] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-ConceicaoDasAlagoas] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-ConselheiroLafaiete] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Contagem] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 779142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-CoracaoDeJesus] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Coromandel] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-CoronelFabriciano] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-CruzeiroDaFortaleza] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Curvelo] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Delta] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Diamantina] +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Divinopolis] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 707142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-EloiMendes] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-EwbankDaCamara] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Formiga] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Fronteira] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Frutal] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-GovernadorValadares] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Guanhaes] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Guaxupe] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Guimarania] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Ibirite] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Ipatinga] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Itabira] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Itajuba] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Itapagipe] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Itauna] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Ituiutaba] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Iturama] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Janauba] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Januaria] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-JoaoMonlevade] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-JuizDeFora] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Lambari] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Lavras] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Leopoldina] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Manhuacu] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Mariana] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-MateusLeme] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-MonteSiao] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-MontesClaros] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Muriae] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-NovaLima] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-NovaResende] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-OlimpioNoronha] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Oliveira] +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-OuroBranco] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-OuroFino] +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-OuroPreto] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-ParaDeMinas] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Paracatu] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Paraguacu] +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Passos] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-PatosDeMinas] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Patrocinio] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-PedroLeopoldo] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Periquito] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Pirajuba] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Pirapora] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Planura] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-PocosDeCaldas] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-PonteNova] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-PousoAlegre] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Prata] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-RaulSoares] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Sacramento] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Salinas] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-SantaBarbara] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-SantaLuzia] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-SantaRitaDoSapucai] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 707142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-SantaVitoria] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-SaoFranciscoDeSales] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-SaoJoaoDelRei] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-SaoLourenco] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-SaoSebastiaoDoParaiso] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-SerraDoSalitre] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-SeteLagoas] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 749142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Taiobeiras] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-TeofiloOtoni] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Timoteo] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-TresCoracoes] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-TresPontas] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Uba] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Uberaba] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Uberlandia] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Unai] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Varginha] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-VarzeaDaPalma] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mg-Vicosa] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Amambai] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Anastacio] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Aquidauana] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Bonito] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Caarapo] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-CampoGrande] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Corumba] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Coxim] +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Dourados] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Jardim] +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Ladario] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Maracaju] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Miranda] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Navirai] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-NovaAndradina] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Paranaiba] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-PontaPora] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Rochedo] +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-Sidrolandia] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ms-TresLagoas] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-AltaFloresta] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-Caceres] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-Cuiaba] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-Guiratinga] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-Juina] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-LucasDoRioVerde] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-Nobres] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-NovaMutum] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-PrimaveraDoLeste] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-Rondonopolis] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-Sinop] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-Sorriso] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-mt-TangaraDaSerra] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Abaetetuba] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Afua] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Alenquer] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Altamira] +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Barcarena] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Belem] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Belterra] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Cameta] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Castanhal] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Maraba] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Moju] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-MojuiDosCampos] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-NovoRepartimento] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Obidos] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Paragominas] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-PontaDePedras] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Santarem] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pa-Tucurui] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-AlagoaGrande] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Alagoinha] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Aparecida] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-BaiaDaTraicao] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Bayeux] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-BomJesus] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Caapora] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Cabedelo] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-CachoeiraDosIndios] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-CacimbaDeDentro] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Cajazeiras] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-CaldasBrandao] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-CampinaGrande] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Capim] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Catingueira] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Condado] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Cuitegi] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Desterro] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Fagundes] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Guarabira] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Imaculada] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Jacarau] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-JoaoPessoa] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Juripiranga] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-LagoaSeca] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Lucena] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-MaeDAgua] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Mamanguape] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Marcacao] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Marizopolis] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Massaranduba] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Matinhas] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Matureia] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Mulungu] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-OlhoDAgua] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Patos] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-PedrasDeFogo] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Pilar] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Piloezinhos] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Pitimbu] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Pocinhos] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Puxinana] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-RioTinto] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-SantaRita] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-SantaTeresinha] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-SaoFrancisco] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-SaoJoaoDoRioDoPeixe] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-SaoJoseDePiranhas] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-SaoMamede] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Sape] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Sousa] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Teixeira] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pb-Triunfo] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-AfogadosDaIngazeira] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Agrestina] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Alagoinha] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Altinho] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Arcoverde] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Bezerros] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-BuenosAires] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Buique] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Camaragibe] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Caruaru] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-ChaGrande] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Escada] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-FernandoDeNoronha] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Floresta] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Garanhuns] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Gravata] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Itambe] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Jupi] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Limoeiro] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Macaparana] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Moreno] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Orobo] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Pedra] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Pesqueira] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Petrolina] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Recife] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-SantaCruzDoCapibaribe] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-SaoLourencoDaMata] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Timbauba] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Venturosa] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-Vicencia] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pe-VitoriaDeSantoAntao] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pi-BomJesus] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pi-CampoMaior] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pi-DemervalLobao] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pi-Floriano] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pi-LagoaDoPiaui] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pi-LuisCorreia] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pi-Parnaiba] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pi-Picos] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pi-Piripiri] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pi-SaoRaimundoNonato] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pi-Teresina] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Adrianopolis] +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-AltoParana] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-AltoPiquiri] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-AlvoradaDoSul] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Antonina] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Apucarana] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Arapongas] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Araruna] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-AssisChateaubriand] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-BoaVistaDaAparecida] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Cafelandia] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Cambe] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-CampoLargo] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-CampoMourao] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Carambei] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Cascavel] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Castro] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-CeuAzul] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Cianorte] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-CidadeGaucha] +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Clevelandia] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Colombo] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Corbelia] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-CornelioProcopio] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Curitiba] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Florestopolis] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-FormosaDoOeste] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-FozDoIguacu] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-FranciscoBeltrao] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Guaraniacu] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Guarapuava] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Guaratuba] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-HonorioSerpa] +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Ibema] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Ibipora] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Imbituva] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Irati] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Ivaipora] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Jacarezinho] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Japira] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Jataizinho] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Kalore] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Lapa] +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Londrina] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-ManoelRibas] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-MarechalCandidoRondon] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Maringa] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Matinhos] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Medianeira] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-MoreiraSales] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Morretes] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-NovaAurora] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-NovaEsperanca] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Palmas] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Palmeira] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Paranagua] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Paranavai] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-PatoBranco] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Perola] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-PontaGrossa] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-PontalDoParana] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Porecatu] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-PrimeiroDeMaio] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Prudentopolis] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-QuatroPontes] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-RioBrancoDoSul] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-RioNegro] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Rolandia] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-SantoAntonioDaPlatina] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-SaoMiguelDoIguacu] +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Sarandi] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Sertanopolis] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-TeixeiraSoares] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-TelemacoBorba] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-TerraBoa] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-TerraRica] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-TerraRoxa] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Tibagi] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Toledo] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-TresBarrasDoParana] +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Tupassi] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Ubirata] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Umuarama] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-UniaoDaVitoria] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-pr-Vere] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-AngraDosReis] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Araruama] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-ArmacaoDeBuzios] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-ArraialDoCabo] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-BarraDoPirai] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-BarraDoPiraiCalifornia] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-BarraDoPiraiDorandia] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-BarraDoPiraiVargemAlegre] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-BarraMansa] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-CaboFrio] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Cambuci] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-CamposDosGoytacazes] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-DuqueDeCaxias] +I 195142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-EngenheiroPauloDeFrontin] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Itaguai] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Itaperuna] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Itatiaia] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Japeri] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-JaperiEngPedreira] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Macae] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Mangaratiba] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Marica] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Mesquita] +I 195142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-MiguelPereira] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Nilopolis] +I 195142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-NovaFriburgo] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-NovaIguacu] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Paracambi] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-ParaibaDoSul] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Paraty] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Petropolis] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Pinheiral] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Pirai] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-PiraiSantanesia] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Queimados] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Quissama] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Resende] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-ResendeVargemGrande] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-ResendeViscondeDeMaua] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-RioBonito] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-RioClaro] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-RioDasFlores] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-RioDasOstras] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-RioDeJaneiro] +I 195142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-SantoAntonioDePadua] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-SaoGoncalo] +I 195142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-SaoJoaoDaBarra] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-SaoJoaoDeMeriti] +I 195142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-SaoJoseDoValeDoRioPreto] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-SaoPedroDaAldeia] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Sapucaia] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-SapucaiaAnta] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Saquarema] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-SilvaJardim] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Teresopolis] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-TrajanoDeMorais] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-TresRios] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Valenca] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-ValencaBaraoDeJuparana] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-ValencaParapeuna] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-ValencaPentagna] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-Vassouras] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-VassourasAndradePinto] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-VassourasIpiranga] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-VassourasMassambara] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-VoltaRedonda] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rj-VoltaRedondaBRoma] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-AreiaBranca] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-Barauna] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-BomJesus] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-Caico] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-Cearamirim] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-Extremoz] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-Grossos] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-IelmoMarinho] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-Macaiba] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-MonteAlegre] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-Mossoro] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-Natal] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-NisiaFloresta] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-Parnamirim] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-SantaMaria] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-SaoGoncaloDoAmarante] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-SaoJoseDeMipibu] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rn-SenadorEloiDeSousa] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ro-Ariquemes] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ro-Cacoal] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ro-CandeiasDoJamari] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ro-GovernadorJorgeTeixeira] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ro-Jaru] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ro-Jiparana] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ro-PimentaBueno] +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ro-PortoVelho] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ro-RolimDeMoura] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ro-Theobroma] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-ro-Vilhena] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rr-BoaVista] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Ajuricaba] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Alegrete] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-ArroioDoSal] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-AugustoPestana] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Bage] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-BentoGoncalves] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-BoaVistaDoCadeado] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-BoaVistaDoIncra] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Bozano] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-CachoeiraDoSul] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Camaqua] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-CampoBom] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Candelaria] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Canela] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Cangucu] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Canoas] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 779142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-CapaoDaCanoa] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-CapaoDoLeao] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Carazinho] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-CarlosBarbosa] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Catuipe] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-CaxiasDoSul] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Cidreira] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-CoronelBarros] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-CruzAlta] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-DomPedrito] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-DomPedroDeAlcantara] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Erechim] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Estrela] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Farroupilha] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Feliz] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-FloresDaCunha] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-FredericoWestphalen] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Garibaldi] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-GetulioVargas] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Gramado] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-HulhaNegra] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Igrejinha] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Ijui] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Imbe] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Independencia] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Itaqui] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Lajeado] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-MonteAlegreDosCampos] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Montenegro] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-MorroRedondo] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-NovaPetropolis] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-NovaSantaRita] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 779142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-NovoHamburgo] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Osorio] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-PalmaresDoSul] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-PalmeiraDasMissoes] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-ParaisoDoSul] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-PassoFundo] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-PedrasAltas] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Pejucara] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Pelotas] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-PicadaCafe] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-PortoAlegre] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 779142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-RioGrande] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-RioGrandeCassino] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SalvadorDoSul] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Sananduva] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SantaCruzDoSul] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SantaMaria] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SantaRosa] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SantanaDoLivramento] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SantoAngelo] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SantoAntonioDaPatrulha] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SantoCristo] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SaoBorja] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SaoGabriel] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SaoJoseDoNorte] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SaoLuizGonzaga] +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SaoMarcos] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-SaoSepe] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Sapiranga] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Sertao] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Sinimbu] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Taquara] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-TerraDeAreia] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Torres] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Tramandai] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-TresCachoeiras] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-TresCoroas] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-TresDeMaio] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Triunfo] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Tucunduva] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Tupandi] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Uruguaiana] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Vacaria] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-VenancioAires] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-VilaNovaDoSul] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-rs-Xangrila] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Agronomica] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-AguasMornas] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-AntonioCarlos] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Ararangua] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Aurora] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-BalnearioCamboriu] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 707142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-BarraVelha] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Blumenau] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-BomJesus] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Bombinhas] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Brusque] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Cacador] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Canoinhas] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-CapaoAlto] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-CapivariDeBaixo] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Chapeco] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-CocalDoSul] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Concordia] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-CorreiaPinto] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Corupa] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Criciuma] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Florianopolis] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-FlorianopolisCanasvieiras] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-FlorianopolisIngleses] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Garopaba] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Garuva] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Gaspar] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-GovernadorCelsoRamos] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Guabiruba] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Guaramirim] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-HervalDOeste] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Icara] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Imarui] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Imbituba] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Indaial] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-IporaDoOeste] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Itajai] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Itapema] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Itapoa] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Jaguaruna] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-JaraguaDoSul] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Joacaba] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Joinville] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Lages] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Laguna] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Laurentino] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Lontras] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-LuisAlves] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Mafra] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Maravilha] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Massaranduba] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Navegantes] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 707142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-NovaVeneza] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-OuroVerde] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Painel] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-PassoDeTorres] +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Penha] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Picarras] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-PortoBelo] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-PortoUniao] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-RioDoSul] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-RioNegrinho] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-SantaRosaDoSul] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-SantoAmaroDaImperatriz] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-SaoBentoDoSul] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-SaoMiguelDoeste] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Schroeder] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-SerraAlta] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Sombrio] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Tijucas] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Tubarao] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Xanxere] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sc-Xaxim] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Aquidaba] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Aracaju] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Araua] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-AreiaBranca] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-BarraDosCoqueiros] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Boquim] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-CampoDoBrito] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-CanindeDeSaoFrancisco] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Capela] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Carira] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Carmopolis] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-CedroDeSaoJoao] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Cristinapolis] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-DivinaPastora] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Estancia] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-FeiraNova] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-FreiPaulo] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Gararu] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-GeneralMaynard] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-GrachoCardoso] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-IlhaDasFlores] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Itabaiana] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Itabaianinha] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Itabi] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-ItaporangaDAjuda] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Japaratuba] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Lagarto] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Laranjeiras] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Macambira] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Malhador] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Maruim] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-MoitaBonita] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-MonteAlegreDeSergipe] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Muribeca] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-NossaSenhoraAparecida] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-NossaSenhoraDaGloria] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-NossaSenhoraDasDores] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-NossaSenhoraDoSocorro] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Pedrinhas] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-PocoRedondo] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Propria] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-RiachaoDoDantas] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Riachuelo] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Ribeiropolis] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-RosarioDoCatete] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Salgado] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-SantaLuziaDoIntanhy] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-SantoAmaroDasBrotas] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-SaoCristovao] +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-SaoDomingos] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-SaoMiguelDoAleixo] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Telha] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-TomarDoGeru] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-se-Umbauba] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Adamantina] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Aguai] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-AguasDaPrata] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-AguasDeLindoia] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-AguasDeSantaBarbara] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-AguasDeSaoPedro] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Agudos] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Altinopolis] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Americana] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-AmericoBrasiliense] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-AmericoDeCampos] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Amparo] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Andradina] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Angatuba] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Aparecida] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-AparecidaDOeste] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Apiai] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Aracatuba] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Arandu] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Araraquara] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Araras] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Arealva] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Areias] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Assis] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Atibaia] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Auriflama] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Avare] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Barbosa] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Bariri] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-BarraBonita] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Barretos] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Barrinha] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Bastos] +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Batatais] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Bauru] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 749142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Bebedouro] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Bertioga] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Birigui] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-BoaEsperancaDoSul] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Boituva] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Botucatu] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-BragancaPaulista] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Brauna] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Brodowski] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Brotas] +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-CachoeiraPaulista] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Caconde] +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Cafelandia] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Cajamar] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Cajati] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Cajobi] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Campinas] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-CampoLimpoPaulista] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-CamposDoJordao] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Cananeia] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-CandidoMota] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Capivari] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Caraguatatuba] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Carapicuiba] +I 183142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 195142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 207142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 773142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Cardoso] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-CasaBranca] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-CassiaDosCoqueiros] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Catanduva] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Cerquilho] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-CesarioLange] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Colina] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Colombia] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Cravinhos] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-CristaisPaulista] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Cruzeiro] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Cubatao] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Descalvado] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Diadema] +I 183142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 195142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 207142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 773142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Dobrada] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-DoisCorregos] +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Dracena] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Duartina] +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Dumont] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Echapora] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Eldorado] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-EmbuDasArtes] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-EspiritoSantoDoPinhal] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-EstivaGerbi] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-EstrelaDOeste] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Fartura] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-FernandoPrestes] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Fernandopolis] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-FerrazDeVasconcelos] +I 183142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 773142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Franca] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-FranciscoMorato] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-FrancoDaRocha] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Galia] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Garca] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-GeneralSalgado] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Getulina] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Guaira] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Guapiacu] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Guara] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-GuaraniDOeste] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Guararema] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Guaratingueta] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Guariba] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Guaruja] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Guarulhos] +I 183142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 207142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 773142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Guzolandia] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Holambra] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Hortolandia] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Iacanga] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Iacri] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Ibate] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Ibitinga] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Ibiuna] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Icem] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-IgaracuDoTiete] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Igarapava] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Iguape] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-IlhaComprida] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-IlhaSolteira] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Ilhabela] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Indaiatuba] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Ipero] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Iporanga] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Ipua] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itai] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itanhaem] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itapetininga] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itapeva] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itapevi] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 773142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itapira] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itapolis] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itaporanga] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itaquaquecetuba] +I 183142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 773142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itarare] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itariri] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itirapua] +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Itu] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Ituverava] +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Jaborandi] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Jaboticabal] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Jacarei] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Jaci] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Jacupiranga] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Jaguariuna] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Jales] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Jandira] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 773142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Jardinopolis] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Jau] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Jeriquara] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-JoseBonifacio] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Jundiai] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 749142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Lagoinha] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-LaranjalPaulista] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Leme] +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-LencoisPaulista] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Limeira] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Lindoia] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Lins] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Lorena] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-LuizAntonio] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Macatuba] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Mairinque] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Mairipora] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-MarabaPaulista] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Marilia] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Matao] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Mendonca] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Miracatu] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Mirandopolis] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-MiranteDoParanapanema] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Mirassol] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Mococa] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-MogiDasCruzes] +I 183142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 195142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 207142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 749142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 773142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-MogiMirim] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Mogiguacu] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Mongagua] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-MonteAlto] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-MonteAprazivel] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-MonteAzulPaulista] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Morungaba] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-NevesPaulista] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-NovoHorizonte] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Nuporanga] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Olimpia] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Orlandia] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-OsvaldoCruz] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Ourinhos] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pacaembu] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Palestina] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-ParaguacuPaulista] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Paraibuna] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Parapua] +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PariqueraAcu] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PatrocinioPaulista] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Paulinia] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PauloDeFaria] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pederneiras] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pedregulho] +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pedreira] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PedroDeToledo] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Penapolis] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PereiraBarreto] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Peruibe] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Piedade] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 677142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PilarDoSul] +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pindamonhangaba] +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pindorama] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Piquete] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Piracicaba] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 749142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Piraju] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pirajui] +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pirangi] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pirassununga] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pitangueiras] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Poa] +I 183142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pompeia] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pongai] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Pontal] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PortoFeliz] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PortoFerreira] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PraiaGrande] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PresidenteAlves] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PresidenteBernardes] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PresidenteEpitacio] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PresidentePrudente] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-PresidenteVenceslau] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Rancharia] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-RedencaoDaSerra] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Reginopolis] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Registro] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Restinga] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-RibeiraoCorrente] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-RibeiraoPreto] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Rinopolis] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-RioClaro] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Roseira] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Sabino] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SalesOliveira] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Salto] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantaBarbaraDOeste] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantaCruzDaConceicao] +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantaCruzDaEsperanca] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantaCruzDasPalmeiras] +I 473142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantaCruzDoRioPardo] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantaErnestina] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantaFeDoSul] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantaGertrudes] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantaLucia] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantaMariaDaSerra] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantaRitaDoPassaQuatro] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantaRosaDeViterbo] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantoAnastacio] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SantoAndre] +I 195142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 207142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 773142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Santos] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoBentoDoSapucai] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoCarlos] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoJoaoDaBoaVista] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoJoaoDoPauDAlho] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoJoaquimDaBarra] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoJoseDaBelaVista] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoJoseDoRioPardo] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 743142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoJoseDoRioPreto] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoJoseDosCampos] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 629142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoLuisDoParaitinga] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoManuel] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoMiguelArcanjo] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoPaulo] +I 183142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 195142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 207142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 683142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 749142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 767142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 773142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoPedro] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoRoque] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoSebastiao] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 731142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoSebastiaoBoicucanga] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoSebastiaoMaresias] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoSimao] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SaoVicente] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 695142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SerraAzul] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SerraNegra] +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Serrana] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Sertaozinho] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 605142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-SeteBarras] +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Socorro] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Sorocaba] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 503142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 689142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Sumare] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Suzano] +I 479142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 575142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 659142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 719142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 725142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 749142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Taciba] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Taiacu] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Taiuva] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Tambau] +I 497142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Tanabi] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Tapirai] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Taquaritinga] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Taquarituba] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Tatui] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Taubate] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Tejupa] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-TeodoroSampaio] +I 587142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-TerraRoxa] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Tiete] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Torrinha] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Tupa] +I 509142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-TupiPaulista] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 647142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Ubatuba] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 737142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Urupes] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Valinhos] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 569142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 617142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 653142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 713142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Valparaiso] +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-VargemGrandeDoSul] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 665142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-VarzeaPaulista] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 623142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 749142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Viradouro] +I 515142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Votorantim] +I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 599142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 701142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-sp-Votuporanga] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 581142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 641142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 707142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-AliancaDoTocantins] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Aragominas] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Araguaina] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Babaculandia] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-BrejinhoDeNazare] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-ChapadaDeAreia] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Darcinopolis] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Duere] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Fatima] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Figueiropolis] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Filadelfia] +I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Gurupi] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-MiracemaDoTocantins] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Miranorte] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-MonteSantoDoTocantins] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-OliveiraDeFatima] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Palmas] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 593142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 635142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 671142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 755142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-ParaisoDoTocantins] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Peixe] +I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-PortoNacional] +I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-SaoMiguelDoTocantins] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-SitioNovoDoTocantins] +I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +I 563142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 +[isdb-t/br-to-Tocantinopolis] +I 485142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0 diff -Nru kaffeine-1.3.1+git20151128/src/sqlhelper.cpp kaffeine-2.0.4+git20160916/src/sqlhelper.cpp --- kaffeine-1.3.1+git20151128/src/sqlhelper.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/sqlhelper.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,19 +18,23 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "sqlhelper.h" - -#include #include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif + #include -#include -#include "log.h" +#include +#include + +#include "sqlhelper.h" #include "sqlinterface.h" SqlHelper::SqlHelper() { database = QSqlDatabase::addDatabase(QLatin1String("QSQLITE"), QLatin1String("kaffeine")); - database.setDatabaseName(KStandardDirs::locateLocal("appdata", QLatin1String("sqlite.db"))); + database.setDatabaseName(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1String("/sqlite.db")); timer.setInterval(5000); connect(&timer, SIGNAL(timeout()), this, SLOT(collectSubmissions())); @@ -45,8 +49,7 @@ Q_ASSERT(instance == NULL); if (!QSqlDatabase::isDriverAvailable(QLatin1String("QSQLITE"))) { - KMessageBox::queuedMessageBox(NULL, KMessageBox::Error, - i18nc("message box", "Please install the Qt SQLite plugin.")); + KMessageBox::error(NULL, i18nc("message box", "Please install the Qt SQLite plugin.")); return false; } @@ -60,7 +63,7 @@ } details.append(instance->database.lastError().driverText()); - KMessageBox::queuedDetailedError(NULL, + KMessageBox::detailedError(NULL, i18nc("message box", "Cannot open the SQLite database."), details); delete instance; instance = NULL; @@ -81,8 +84,7 @@ query.setForwardOnly(true); if (!query.prepare(statement)) { - Log("SqlHelper::prepare: error while preparing statement") << - query.lastError().text(); + qWarning("Error while preparing statement '%s'", qPrintable(query.lastError().text())); } return query; @@ -94,8 +96,7 @@ query.setForwardOnly(true); if (!query.exec(statement)) { - Log("SqlHelper::exec: error while executing statement") << - query.lastError().text(); + qWarning("Error while executing statement '%s'", qPrintable(query.lastError().text())); } return query; @@ -104,8 +105,7 @@ void SqlHelper::exec(QSqlQuery &query) { if (!query.exec()) { - Log("SqlHelper::exec: error while executing statement") << - query.lastError().text(); + qWarning("Error while executing statement '%s'", qPrintable(query.lastError().text())); } } diff -Nru kaffeine-1.3.1+git20151128/src/sqlinterface.cpp kaffeine-2.0.4+git20160916/src/sqlinterface.cpp --- kaffeine-1.3.1+git20151128/src/sqlinterface.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/src/sqlinterface.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,12 +18,17 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "sqlinterface.h" +#include +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif #include #include -#include "log.h" + #include "sqlhelper.h" +#include "sqlinterface.h" SqlInterface::SqlInterface() : createTable(false), hasPendingStatements(false), sqlColumnCount(0) @@ -34,7 +39,7 @@ SqlInterface::~SqlInterface() { if (hasPendingStatements) { - Log("SqlInterface::~SqlInterface: pending statements at destruction"); + qWarning("Pending statements at destruction"); /* data isn't valid anymore */ pendingStatements.clear(); createTable = false; @@ -103,7 +108,7 @@ SqlKey sqlKey(static_cast(fullKey)); if (!sqlKey.isSqlKeyValid() || (sqlKey.sqlKey != fullKey)) { - Log("SqlInterface::sqlInit: invalid key") << fullKey; + qWarning("Invalid key %Ld", fullKey); continue; } @@ -134,7 +139,7 @@ break; } - Log("SqlInterface::sqlInsert: invalid pending statement") << pendingStatement; + qWarning("Invalid pending statement '%s'", qPrintable(pendingStatement)); } void SqlInterface::sqlUpdate(SqlKey key) @@ -154,7 +159,7 @@ break; } - Log("SqlInterface::sqlUpdate: invalid pending statement") << pendingStatement; + qWarning("Invalid pending statement '%s'", qPrintable(pendingStatement)); } void SqlInterface::sqlRemove(SqlKey key) @@ -175,7 +180,7 @@ break; } - Log("SqlInterface::sqlRemove: invalid pending statement") << pendingStatement; + qWarning("Invalid pending statement %s", qPrintable(pendingStatement)); } void SqlInterface::requestSubmission() @@ -225,7 +230,7 @@ continue; } - Log("SqlInterface::sqlSubmit: invalid pending statement") << pendingStatement; + qWarning("Invalid pending statement %s", qPrintable(pendingStatement)); } pendingStatements.clear(); diff -Nru kaffeine-1.3.1+git20151128/TODO kaffeine-2.0.4+git20160916/TODO --- kaffeine-1.3.1+git20151128/TODO 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/TODO 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,4 @@ +- Make DVB live view and timeshift seeakable + + - Need to implement VLC custom I/O callbacks via: + libvlc_media_new_callbacks() diff -Nru kaffeine-1.3.1+git20151128/tools/build-kaffeine.sh kaffeine-2.0.4+git20160916/tools/build-kaffeine.sh --- kaffeine-1.3.1+git20151128/tools/build-kaffeine.sh 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/build-kaffeine.sh 2016-09-17 17:18:56.000000000 +0000 @@ -1,10 +1,22 @@ #!/bin/sh set -eu +if [ "$(grep KAFFEINE_MAJOR_VERSION CMakeLists.txt)" == "" ]; then + echo "Entering into the Kaffeine dir" + cd kaffeine +fi + # not for production use sourcedir=$(pwd) -cd ~/bin/kaffeine-build -rm -fr install -cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=~/bin/kaffeine-build/install -DSTRICT_BUILD=1 . $sourcedir + +cd .. + +rm -rf kaffeine_build +git new-workdir $sourcedir kaffeine_build +cd kaffeine_build + +rm -fr $sourcedir/install +cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$sourcedir/install -DSTRICT_BUILD=1 . +make make install diff -Nru kaffeine-1.3.1+git20151128/tools/CMakeLists.txt kaffeine-2.0.4+git20160916/tools/CMakeLists.txt --- kaffeine-1.3.1+git20151128/tools/CMakeLists.txt 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/CMakeLists.txt 2016-09-17 17:18:56.000000000 +0000 @@ -1,11 +1,9 @@ add_executable(convertscanfiles convertscanfiles.cpp ../src/dvb/dvbtransponder.cpp) -target_link_libraries(convertscanfiles ${QT_QTCORE_LIBRARY}) - add_executable(updatedvbsi updatedvbsi.cpp) -target_link_libraries(updatedvbsi ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY}) - add_executable(updatemimetypes updatemimetypes.cpp) -target_link_libraries(updatemimetypes ${QT_QTCORE_LIBRARY} ${KDE4_KDECORE_LIBS}) - add_executable(updatesource updatesource.cpp) -target_link_libraries(updatesource ${QT_QTCORE_LIBRARY}) + +target_link_libraries(convertscanfiles Qt5::Core) +target_link_libraries(updatedvbsi Qt5::Core Qt5::Xml) +target_link_libraries(updatemimetypes Qt5::Core) +target_link_libraries(updatesource Qt5::Core) diff -Nru kaffeine-1.3.1+git20151128/tools/convertscanfiles.cpp kaffeine-2.0.4+git20160916/tools/convertscanfiles.cpp --- kaffeine-1.3.1+git20151128/tools/convertscanfiles.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/convertscanfiles.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,10 +18,16 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif + #include #include -#include #include +#include + #include "../src/dvb/dvbtransponder.h" class NumericalLessThan @@ -63,6 +69,589 @@ } }; +class parseDvbv5 +{ +public: + bool parseInputLine(QString line); + void resetParser(); + QString outputLine(); + parseDvbv5(QString name); + int getPos(); + bool hasTransponder; + DvbTransponderBase::TransmissionType type; + +private: + QString name; + + int lineno; + + QString delsys = ""; + QString frq = ""; + QString modulation = ""; + QString symbolRate = ""; + QString fec = ""; + QString polar = ""; + QString inversion = ""; + QString rollOff = ""; + QString plscode = ""; + QString plsmode = ""; + QString bandwith = ""; + QString fec_hi = ""; + QString fec_lo = ""; + QString t_mode = ""; + QString g_interval = ""; + QString hierarchy = ""; + + // ISDB-T specific fields + + QString isdbtLayerEnabled = ""; + QString isdbtPartialReception = ""; + QString isdbtSb = ""; + QString isdbtSbSubchId = ""; + QString isdbtSbSegIdx = ""; + QString isdbtSbSegCount = ""; + QString isdbtLayerAFec = ""; + QString isdbtLayerAModulation = ""; + QString isdbtLayerASegCount = ""; + QString isdbtLayerAInterleaving = ""; + QString isdbtLayerBFec = ""; + QString isdbtLayerBModulation = ""; + QString isdbtLayerBSegCount = ""; + QString isdbtLayerBInterleaving = ""; + QString isdbtLayerCFec = ""; + QString isdbtLayerCModulation = ""; + QString isdbtLayerCSegCount = ""; + QString isdbtLayerCInterleaving = ""; + int isdbtLayers = 0; + int streamid = 0; +}; + +int parseDvbv5::getPos() +{ + return lineno; +}; + +parseDvbv5::parseDvbv5(QString name) +{ + type = DvbTransponderBase::Invalid; + hasTransponder = false; + + this->name = name; + + lineno = 0; +}; + +void parseDvbv5::resetParser() +{ + delsys = ""; + frq = ""; + modulation = ""; + symbolRate = ""; + fec = ""; + polar = ""; + inversion = ""; + rollOff = ""; + plscode = ""; + plsmode = ""; + bandwith = ""; + fec_hi = ""; + fec_lo = ""; + t_mode = ""; + g_interval = ""; + hierarchy = ""; + + isdbtLayerEnabled = ""; + isdbtPartialReception = ""; + isdbtSb = ""; + isdbtSbSubchId = ""; + isdbtSbSegIdx = ""; + isdbtSbSegCount = ""; + isdbtLayerAFec = ""; + isdbtLayerAModulation = ""; + isdbtLayerASegCount = ""; + isdbtLayerAInterleaving = ""; + isdbtLayerBFec = ""; + isdbtLayerBModulation = ""; + isdbtLayerBSegCount = ""; + isdbtLayerBInterleaving = ""; + isdbtLayerCFec = ""; + isdbtLayerCModulation = ""; + isdbtLayerCSegCount = ""; + isdbtLayerCInterleaving = ""; + isdbtLayers = 0; + streamid = 0; +} + +bool parseDvbv5::parseInputLine(QString line) +{ + lineno++; + + QRegularExpression rejex = QRegularExpression("^\\s*\\[(.*)]"); + if (line.contains(rejex)) { + bool oldHasTransponder = hasTransponder; + hasTransponder = true; + return oldHasTransponder; + } + + int pos = line.indexOf('#'); + + if (pos != -1) { + while ((pos > 0) && (line[pos - 1] == ' ')) { + --pos; + } + + line.truncate(pos); + } + + if (line.isEmpty()) { + return false; + } + + if (line.contains("DELIVERY_SYSTEM")) { + delsys = line.split(" = ")[1]; + if (!delsys.compare("ATSC", Qt::CaseInsensitive)) { + type = DvbTransponderBase::Atsc; + } else if (!delsys.compare("DVBC/ANNEX_A", Qt::CaseInsensitive)) { + type = DvbTransponderBase::DvbC; + } else if (!delsys.compare("DVBC/ANNEX_B", Qt::CaseInsensitive)) { + type = DvbTransponderBase::Atsc; + } else if (!delsys.compare("DVBS", Qt::CaseInsensitive)) { + type = DvbTransponderBase::DvbS; + } else if (!delsys.compare("DVBS2", Qt::CaseInsensitive)) { + type = DvbTransponderBase::DvbS2; + } else if (!delsys.compare("DVBT", Qt::CaseInsensitive)) { + type = DvbTransponderBase::DvbT; + } else if (!delsys.compare("DVBT2", Qt::CaseInsensitive)) { + type = DvbTransponderBase::DvbT2; + } else if (!delsys.compare("ISDBT", Qt::CaseInsensitive)) { + type = DvbTransponderBase::IsdbT; + } else { + type = DvbTransponderBase::Invalid; + } + return false; + } + if (line.contains("FREQUENCY = ")) { + frq = line.split(" = ")[1]; + return false; + } + if (line.contains("INNER_FEC")) { + fec = line.split(" = ")[1]; + return false; + } + if (line.contains("SYMBOL_RATE")) { + symbolRate = line.split(" = ")[1]; + return false; + } + if (line.contains("MODULATION")) { + modulation = line.split(" = ")[1]; + return false; + } + if (line.contains("POLARIZATION")) { + polar = line.split(" = ")[1]; + return false; + } + if (line.contains("INVERSION")) { + inversion = line.split(" = ")[1]; + return false; + } + if (line.contains("ROLLOFF")) { + rollOff = line.split(" = ")[1]; + return false; + } + if (line.contains("STREAM_ID")) { + streamid = line.split(" = ")[1].toInt(); + return false; + } + if (line.contains("PLS_CODE")) { + plscode = line.split(" = ")[1]; + return false; + } + if (line.contains("PLS_MODE")) { + plsmode = line.split(" = ")[1]; + return false; + } + if (line.contains("BANDWIDTH_HZ")) { + bandwith = line.split(" = ")[1]; + return false; + } + if (line.contains("TRANSMISSION_MODE")) { + t_mode = line.split(" = ")[1]; + return false; + } + if (line.contains("CODE_RATE_HP")) { + fec_hi = line.split(" = ")[1]; + return false; + } + if (line.contains("CODE_RATE_LP")) { + fec_lo = line.split(" = ")[1]; + return false; + } + if (line.contains("HIERARCHY")) { + hierarchy = line.split(" = ")[1]; + return false; + } + if (line.contains("GUARD_INTERVAL")) { + g_interval = line.split(" = ")[1]; + return false; + } + if (line.contains("ISDBT_LAYER_ENABLED")) { + isdbtLayerEnabled = line.split(" = ")[1]; + return false; + } + if (line.contains("ISDBT_PARTIAL_RECEPTION")) { + isdbtPartialReception = line.split(" = ")[1]; + return false; + } + if (line.contains("ISDBT_SOUND_BROADCASTING")) { + isdbtSb = line.split(" = ")[1]; + return false; + } + if (line.contains("ISDBT_SB_SUBCHANNEL_ID")) { + isdbtSbSubchId = line.split(" = ")[1]; + return false; + } + if (line.contains("ISDBT_SB_SEGMENT_IDX")) { + isdbtSbSegIdx = line.split(" = ")[1]; + return false; + } + if (line.contains("ISDBT_SB_SEGMENT_COUNT")) { + isdbtSbSegCount = line.split(" = ")[1]; + return false; + } + // Layer A + if (line.contains("ISDBT_LAYERA_FEC")) { + isdbtLayerAFec = line.split(" = ")[1]; + isdbtLayers |= 1; + return false; + } + if (line.contains("ISDBT_LAYERA_MODULATION")) { + isdbtLayerAModulation = line.split(" = ")[1]; + isdbtLayers |= 1; + return false; + } + if (line.contains("ISDBT_LAYERA_SEGMENT_COUNT")) { + isdbtLayerASegCount = line.split(" = ")[1]; + isdbtLayers |= 1; + return false; + } + if (line.contains("ISDBT_LAYERA_TIME_INTERLEAVING")) { + isdbtLayerAInterleaving = line.split(" = ")[1]; + isdbtLayers |= 1; + return false; + } + // Layer B + if (line.contains("ISDBT_LAYERB_FEC")) { + isdbtLayerBFec = line.split(" = ")[1]; + isdbtLayers |= 2; + return false; + } + if (line.contains("ISDBT_LAYERB_MODULATION")) { + isdbtLayerBModulation = line.split(" = ")[1]; + isdbtLayers |= 2; + return false; + } + if (line.contains("ISDBT_LAYERB_SEGMENT_COUNT")) { + isdbtLayerBSegCount = line.split(" = ")[1]; + isdbtLayers |= 2; + return false; + } + if (line.contains("ISDBT_LAYERB_TIME_INTERLEAVING")) { + isdbtLayerBInterleaving = line.split(" = ")[1]; + isdbtLayers |= 2; + return false; + } + // Layer C + if (line.contains("ISDBT_LAYERC_FEC")) { + isdbtLayerCFec = line.split(" = ")[1]; + isdbtLayers |= 4; + return false; + } + if (line.contains("ISDBT_LAYERC_MODULATION")) { + isdbtLayerCModulation = line.split(" = ")[1]; + isdbtLayers |= 4; + return false; + } + if (line.contains("ISDBT_LAYERC_SEGMENT_COUNT")) { + isdbtLayerCSegCount = line.split(" = ")[1]; + isdbtLayers |= 4; + return false; + } + if (line.contains("ISDBT_LAYERC_TIME_INTERLEAVING")) { + isdbtLayerCInterleaving = line.split(" = ")[1]; + isdbtLayers |= 4; + return false; + } + qWarning() << "Can't parse line" << lineno << ":" << line << " for " << name; + return false; +}; + + +QString parseDvbv5::outputLine() +{ + QString line = ""; + + if (frq.isEmpty()) { + qWarning() << "frequency is empty in pos " + << lineno << " file" << name; + return line; + } + + switch (type) { + case DvbTransponderBase::Invalid: + if (!hasTransponder) + return ""; + qWarning() << "Invalid transponder type in pos " + << lineno << " file" << name; + return line; + case DvbTransponderBase::DvbC: { + if (symbolRate.isEmpty()) { + qWarning() << "No symbol rate in pos " + << lineno << " file" << name; + return line; + } + if (modulation.isEmpty()) { + qWarning() << "No symbol rate in pos " + << lineno << " file" << name; + return line; + } + line = "C " + frq + " " + symbolRate + " " + fec + " " + modulation.replace("/", ""); + return line; + } + case DvbTransponderBase::DvbS: { + if (rollOff.isEmpty() && (modulation.isEmpty() || !modulation.compare("QPSK"))) { + line = "S " + frq + " " + polar[0] + " " + symbolRate + " " + fec; + return line; + } + // Fall though, because it is not DvbS + type = DvbTransponderBase::DvbS2; + } + case DvbTransponderBase::DvbS2: { + if (rollOff.isEmpty()) + rollOff = "25"; + + if (modulation.isEmpty()) { + modulation = "AUTO"; + } if (modulation.contains("/")) { + QString temp1 = modulation.split("/")[0]; + QString temp2 = modulation.split("/")[1]; + modulation = temp2 + temp1; + } + + line = "S2 " + frq + " " + polar[0] + " " + symbolRate + " " + fec + " " + rollOff + " " + modulation; + + return line; + } + case DvbTransponderBase::DvbT: { + line = "T " + frq; + if (!bandwith.isEmpty()) { + int number = bandwith.toInt(); + number = number / 1000000; + line += " " + QString::number(number) + "MHz"; + } + if (!fec_hi.isEmpty()) { + line += " " + fec_hi; + } else { + line += " AUTO"; + } + if (!fec_lo.isEmpty()) { + line += " " + fec_lo; + } else { + line += " AUTO"; + } + if (!modulation.isEmpty()) { + line += " " + modulation.replace("/", "").replace("QAMAUTO", "AUTO"); + } else { + line += " AUTO"; + } + if (!t_mode.isEmpty()) { + line += " " + t_mode.replace("K", "k"); + } else { + line += " AUTO"; + } + if (!g_interval.isEmpty()) { + line += " " + g_interval; + } else { + line += " AUTO"; + } + if (!hierarchy.isEmpty()) { + line += " " + hierarchy; + } else { + line += " AUTO"; + } + return line; + } + case DvbTransponderBase::DvbT2: { + line = "T2 " + frq; + if (!bandwith.isEmpty()) { + int number = bandwith.toInt(); + number = number / 1000000; + line += " " + QString::number(number) + "MHz"; + } + if (!fec_hi.isEmpty()) { + line += " " + fec_hi; + } else { + line += " AUTO"; + } + if (!fec_lo.isEmpty()) { + line += " " + fec_lo; + } else { + line += " AUTO"; + } + if (!modulation.isEmpty()) { + line += " " + modulation.replace("/", "").replace("QAMAUTO", "AUTO"); + } else { + line += " AUTO"; + } + if (!t_mode.isEmpty()) { + line += " " + t_mode.replace("K", "k"); + } else { + line += " AUTO"; + } + if (!g_interval.isEmpty()) { + line += " " + g_interval; + } else { + line += " AUTO"; + } + if (!hierarchy.isEmpty()) { + line += " " + hierarchy; + } else { + line += " AUTO"; + } + line += " " + QString::number(streamid); + return line; + } + case DvbTransponderBase::Atsc: { + line = "A " + frq; + if (!modulation.isEmpty()) { + QString temp1 = modulation.split("/")[0]; + QString temp2 = modulation.split("/")[1]; + if (!(temp1 == "QAM")) { + line += " " + temp2 + temp1; + } else { + line += " " + temp1 + temp2; + } + } else { + line += " AUTO"; + } + return line; + } + case DvbTransponderBase::IsdbT: { + line = "I " + frq; + if (!bandwith.isEmpty()) { + int number = bandwith.toInt(); + number = number / 1000000; + line += " " + QString::number(number) + "MHz"; + } else { + line += " 6MHz"; + } + if (!t_mode.isEmpty()) { + line += " " + t_mode.replace("K", "k"); + } else { + line += " AUTO"; + } + if (!g_interval.isEmpty()) { + line += " " + g_interval; + } else { + line += " AUTO"; + } + if (!isdbtPartialReception.isEmpty()) { + line += " " + isdbtPartialReception; + } else { + line += " AUTO"; + } + if (!isdbtSb.isEmpty()) { + line += " " + isdbtSb; + } else { + line += " AUTO"; + } + if (!isdbtSbSubchId.isEmpty()) { + line += " " + isdbtSbSubchId; + } else { + line += " AUTO"; + } + if (!isdbtSbSegCount.isEmpty()) { + line += " " + isdbtSbSegCount; + } else { + line += " AUTO"; + } + if (!isdbtSbSegIdx.isEmpty()) { + line += " " + isdbtSbSegIdx; + } else { + line += " AUTO"; + } + + line += " " + QString::number(isdbtLayers); + + // Layer A + if (!isdbtLayerAModulation.isEmpty()) { + line += " " + isdbtLayerAModulation.replace("/", "").replace("QAMAUTO", "AUTO"); + } else { + line += " AUTO"; + } + if (!isdbtLayerAFec.isEmpty()) { + line += " " + isdbtLayerAFec; + } else { + line += " AUTO"; + } + if (!isdbtLayerASegCount.isEmpty()) { + line += " " + isdbtLayerASegCount; + } else { + line += " AUTO"; + } + if (!isdbtLayerAInterleaving.isEmpty()) { + line += " " + isdbtLayerAInterleaving; + } else { + line += " AUTO"; + } + // Layer B + if (!isdbtLayerBModulation.isEmpty()) { + line += " " + isdbtLayerBModulation.replace("/", "").replace("QAMAUTO", "AUTO"); + } else { + line += " AUTO"; + } + if (!isdbtLayerBFec.isEmpty()) { + line += " " + isdbtLayerBFec; + } else { + line += " AUTO"; + } + if (!isdbtLayerBSegCount.isEmpty()) { + line += " " + isdbtLayerBSegCount; + } else { + line += " AUTO"; + } + if (!isdbtLayerBInterleaving.isEmpty()) { + line += " " + isdbtLayerBInterleaving; + } else { + line += " AUTO"; + } + // Layer C + if (!isdbtLayerCModulation.isEmpty()) { + line += " " + isdbtLayerCModulation.replace("/", "").replace("QAMAUTO", "AUTO"); + } else { + line += " AUTO"; + } + if (!isdbtLayerCFec.isEmpty()) { + line += " " + isdbtLayerCFec; + } else { + line += " AUTO"; + } + if (!isdbtLayerCSegCount.isEmpty()) { + line += " " + isdbtLayerCSegCount; + } else { + line += " AUTO"; + } + if (!isdbtLayerCInterleaving.isEmpty()) { + line += " " + isdbtLayerCInterleaving; + } else { + line += " AUTO"; + } + return line; + } + } + + return line; +} + static QString parseLine(DvbTransponderBase::TransmissionType type, const QString &line, const QString &fileName) { switch (type) { @@ -74,7 +663,6 @@ if (!transponder.fromString(line)) { break; } - if (transponder.modulation == DvbCTransponder::ModulationAuto) { qWarning() << "Warning: modulation == AUTO in file" << fileName; } @@ -82,49 +670,48 @@ if (transponder.fecRate != DvbCTransponder::FecNone) { qWarning() << "Warning: fec rate != NONE in file" << fileName; } - return transponder.toString(); } case DvbTransponderBase::DvbS: { - if (line.startsWith(QLatin1String("S "))) { - DvbSTransponder transponder; - - if (!transponder.fromString(line)) { - break; - } + DvbSTransponder transponder; - if (transponder.fecRate == DvbSTransponder::FecNone) { - qWarning() << "Warning: fec rate == NONE in file" << fileName; - } - - // fecRate == AUTO is ok - - return transponder.toString(); - } else { - DvbS2Transponder transponder; + if (!transponder.fromString(line)) { + break; + } + if (transponder.fecRate == DvbSTransponder::FecNone) { + qWarning() << "Warning: fec rate == NONE in file" << fileName; + } + // fecRate == AUTO is ok - if (!transponder.fromString(line)) { - break; - } + return transponder.toString(); + } + case DvbTransponderBase::DvbS2: { + DvbS2Transponder transponder; - if (transponder.fecRate == DvbSTransponder::FecNone) { - qWarning() << "Warning: fec rate == NONE in file" << fileName; - } + if (!transponder.fromString(line)) { + break; + } + if (transponder.fecRate == DvbSTransponder::FecNone) { + qWarning() << "Warning: fec rate == NONE in file" << fileName; + } + // fecRate == AUTO is ok - // fecRate == AUTO is ok + return transponder.toString(); + } + case DvbTransponderBase::DvbT2: { + DvbT2Transponder transponder; - return transponder.toString(); + if (!transponder.fromString(line)) { + break; } + return transponder.toString(); } - case DvbTransponderBase::DvbS2: - break; case DvbTransponderBase::DvbT: { DvbTTransponder transponder; if (!transponder.fromString(line)) { break; } - if (transponder.bandwidth == DvbTTransponder::BandwidthAuto) { qWarning() << "Warning: bandwidth == AUTO in file" << fileName; } @@ -154,7 +741,6 @@ if (transponder.hierarchy != DvbTTransponder::HierarchyNone) { qWarning() << "Warning: hierarchy != NONE in file" << fileName; } - return transponder.toString(); } case DvbTransponderBase::Atsc: { @@ -163,10 +749,17 @@ if (!transponder.fromString(line)) { break; } - if (transponder.modulation == AtscTransponder::ModulationAuto) { qWarning() << "Warning: modulation == AUTO in file" << fileName; } + return transponder.toString(); + } + case DvbTransponderBase::IsdbT: { + IsdbTTransponder transponder; + + if (!transponder.fromString(line)) { + break; + } return transponder.toString(); } @@ -175,29 +768,11 @@ return QString(); } -static void readScanDirectory(QTextStream &out, const QString &path, DvbTransponderBase::TransmissionType type) +static void readScanDirectory(QTextStream &out, const QString &path) { QDir dir; - switch (type) { - case DvbTransponderBase::Invalid: - break; - case DvbTransponderBase::DvbC: - dir.setPath(path + "/dvb-c"); - break; - case DvbTransponderBase::DvbS: - dir.setPath(path + "/dvb-s"); - break; - case DvbTransponderBase::DvbS2: - break; - case DvbTransponderBase::DvbT: - dir.setPath(path + "/dvb-t"); - break; - case DvbTransponderBase::Atsc: - dir.setPath(path + "/atsc"); - break; - } - + dir.setPath(path); if (!dir.exists()) { qCritical() << "Error: can't open directory" << dir.path(); return; @@ -214,425 +789,61 @@ QTextStream stream(&file); stream.setCodec("UTF-8"); QList transponders; + QString name = dir.dirName() + '/' + fileName; - QString newChannel = ""; - QString frq = ""; - QString modulation = ""; - QString symbolRate = ""; - QString fec = ""; - QString polar = ""; - QString inversion = ""; - QString rollOff = ""; - QString streamid = ""; - QString plscode = ""; - QString plsmode = ""; - QString bandwith = ""; - QString fec_hi = ""; - QString fec_lo = ""; - QString t_mode = ""; - QString g_interval = ""; - QString hierarchy = ""; - + parseDvbv5 parser(name); while (!stream.atEnd()) { QString line = stream.readLine(); - if (line.contains("[") && line.contains("]")) { - newChannel = ""; + if (!parser.parseInputLine(line) && !stream.atEnd()) continue; - } - int pos = line.indexOf('#'); - - if (pos != -1) { - while ((pos > 0) && (line[pos - 1] == ' ')) { - --pos; - } - line.truncate(pos); - } - - if (line.isEmpty()) { - //continue; - } - if (line.contains("DELIVERY_SYSTEM")) { + if (!parser.hasTransponder) continue; - } - if (line.contains("ELIVERY_SYSTEM")) { - continue; - } - switch (type) { - case DvbTransponderBase::DvbC: { - if (!frq.isEmpty() && !fec.isEmpty() && !symbolRate.isEmpty() && !modulation.isEmpty()) { - line = "C " + frq + " " + symbolRate + " " + fec + " " + modulation.replace("/", ""); - qWarning() << line; - frq = ""; - modulation = ""; - symbolRate = ""; - fec = ""; - } - if (line.contains("DELIVERY_SYSTEM = DVBC/ANNEX_A")) { - continue; - } - if (line.contains("FREQUENCY = ")) { - frq = line.split(" = ")[1]; - continue; - } - if (line.contains("INNER_FEC")) { - fec = line.split(" = ")[1]; - continue; - } - if (line.contains("SYMBOL_RATE")) { - symbolRate = line.split(" = ")[1]; - continue; - } - if (line.contains("MODULATION")) { - modulation = line.split(" = ")[1]; - //continue; - } - if (line.contains("INVERSION")) { - continue; - } - } - case DvbTransponderBase::DvbS: { - if (line.isEmpty() && !frq.isEmpty()) { - line = "S " + frq + " " + polar[0] + " " + symbolRate + " " + fec; - if (!rollOff.isEmpty()) { - line = line + " " + rollOff; - } - if (!modulation.isEmpty()) { - line = line + " " + modulation.replace("/", ""); - } - qWarning() << line; - frq = ""; - polar = ""; - symbolRate = ""; - fec = ""; - modulation = ""; - rollOff = ""; - streamid = ""; - plscode = ""; - plsmode = ""; - } - if (line.contains("DELIVERY_SYSTEM = DVBC/ANNEX_A")) { - continue; - } - if (line.contains("FREQUENCY = ")) { - frq = line.split(" = ")[1]; - continue; - } - if (line.contains("POLARIZATION")) { - polar = line.split(" = ")[1]; - continue; - } - if (line.contains("SYMBOL_RATE")) { - symbolRate = line.split(" = ")[1]; - continue; - } - if (line.contains("INNER_FEC")) { - fec = line.split(" = ")[1]; - continue; - } - if (line.contains("INVERSION")) { - inversion = line.split(" = ")[1]; - continue; - } - if (line.contains("ROLLOFF")) { - rollOff = line.split(" = ")[1]; - continue; - } - if (line.contains("MODULATION")) { - modulation = line.split(" = ")[1]; - continue; - } - if (line.contains("STREAM_ID")) { - streamid = line.split(" = ")[1]; - continue; - } - if (line.contains("PLS_CODE")) { - plscode = line.split(" = ")[1]; - continue; - } - if (line.contains("PLS_MODE")) { - plsmode = line.split(" = ")[1]; - continue; - } - //continue; - - // S 12518000 V 22000000 AUTO - } - case DvbTransponderBase::DvbS2: { - //continue; - } - - // # T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy - // T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE - case DvbTransponderBase::DvbT: { - if (line.isEmpty() && !frq.isEmpty()) { - line = "T " + frq; - if (!bandwith.isEmpty()) { - int number = bandwith.toInt(); - number = number / 1000000; - line = line + " " + QString::number(number) + "MHz"; - } - if (!fec_hi.isEmpty()) { - line = line + " " + fec_hi; - } else { - line = line + " AUTO"; - } - if (!fec_lo.isEmpty()) { - line = line + " " + fec_lo; - } else { - line = line + " AUTO"; - } - if (!modulation.isEmpty()) { - line = line + " " + modulation.replace("/", "").replace("QAMAUTO", "AUTO"); - } else { - line = line + " AUTO"; - } - if (!t_mode.isEmpty()) { - line = line + " " + t_mode.replace("K", "k"); - } else { - line = line + " AUTO"; - } - if (!g_interval.isEmpty()) { - line = line + " " + g_interval; - } else { - line = line + " AUTO"; - } - if (!hierarchy.isEmpty()) { - line = line + " " + hierarchy; - } else { - line = line + " AUTO"; - } - qWarning() << line; - frq = ""; - polar = ""; - symbolRate = ""; - fec = ""; - modulation = ""; - rollOff = ""; - streamid = ""; - plscode = ""; - plsmode = ""; - bandwith = ""; - fec_hi = ""; - fec_lo = ""; - t_mode = ""; - g_interval = ""; - hierarchy = ""; - } - if (line.contains("DELIVERY_SYSTEM = DVBC/ANNEX_A")) { - continue; - } - if (line.contains("FREQUENCY = ")) { - frq = line.split(" = ")[1]; - continue; - } - if (line.contains("POLARIZATION")) { - polar = line.split(" = ")[1]; - continue; - } - if (line.contains("SYMBOL_RATE")) { - symbolRate = line.split(" = ")[1]; - continue; - } - if (line.contains("INNER_FEC")) { - fec = line.split(" = ")[1]; - continue; - } - if (line.contains("INVERSION")) { - inversion = line.split(" = ")[1]; - continue; - } - if (line.contains("ROLLOFF")) { - rollOff = line.split(" = ")[1]; - continue; - } - if (line.contains("MODULATION")) { - modulation = line.split(" = ")[1]; - continue; - } - if (line.contains("STREAM_ID")) { - streamid = line.split(" = ")[1]; - continue; - } - if (line.contains("PLS_CODE")) { - plscode = line.split(" = ")[1]; - continue; - } - if (line.contains("PLS_MODE")) { - plsmode = line.split(" = ")[1]; - continue; - } - if (line.contains("BANDWIDTH_HZ")) { - bandwith = line.split(" = ")[1]; - continue; - } - if (line.contains("TRANSMISSION_MODE")) { - t_mode = line.split(" = ")[1]; - continue; - } - if (line.contains("CODE_RATE_HP")) { - fec_hi = line.split(" = ")[1]; - continue; - } - if (line.contains("CODE_RATE_LP")) { - fec_lo = line.split(" = ")[1]; - continue; - } - if (line.contains("HIERARCHY")) { - hierarchy = line.split(" = ")[1]; - continue; - } - if (line.contains("GUARD_INTERVAL")) { - g_interval = line.split(" = ")[1]; - continue; - } - } - - case DvbTransponderBase::Atsc: { + QString parsedLine = parser.outputLine(); + parser.resetParser(); - if (line.isEmpty() && !frq.isEmpty()) { - line = "A " + frq; - if (!modulation.isEmpty()) { - QString temp1 = modulation.split("/")[0]; - QString temp2 = modulation.split("/")[1]; - if (!(temp1 == "QAM")) { - line = line + " " + temp2 + temp1; } else - { - line = line + " " + temp1 + temp2; - } - } else { - line = line + " AUTO"; - } - qWarning() << line; - frq = ""; - polar = ""; - symbolRate = ""; - fec = ""; - modulation = ""; - rollOff = ""; - streamid = ""; - plscode = ""; - plsmode = ""; - bandwith = ""; - fec_hi = ""; - fec_lo = ""; - t_mode = ""; - g_interval = ""; - hierarchy = ""; - inversion = ""; - } - if (line.contains("DELIVERY_SYSTEM = DVBC/ANNEX_A")) { - continue; - } - if (line.contains("FREQUENCY = ")) { - frq = line.split(" = ")[1]; - continue; - } - if (line.contains("POLARIZATION")) { - polar = line.split(" = ")[1]; - continue; - } - if (line.contains("SYMBOL_RATE")) { - symbolRate = line.split(" = ")[1]; - continue; - } - if (line.contains("INNER_FEC")) { - fec = line.split(" = ")[1]; - continue; - } - if (line.contains("INVERSION")) { - inversion = line.split(" = ")[1]; - continue; - } - if (line.contains("ROLLOFF")) { - rollOff = line.split(" = ")[1]; - continue; - } - if (line.contains("MODULATION")) { - modulation = line.split(" = ")[1]; - continue; - } - if (line.contains("STREAM_ID")) { - streamid = line.split(" = ")[1]; - continue; - } - if (line.contains("PLS_CODE")) { - plscode = line.split(" = ")[1]; - continue; - } - if (line.contains("PLS_MODE")) { - plsmode = line.split(" = ")[1]; - continue; - } - if (line.contains("BANDWIDTH_HZ")) { - bandwith = line.split(" = ")[1]; - continue; - } - if (line.contains("TRANSMISSION_MODE")) { - t_mode = line.split(" = ")[1]; - continue; - } - if (line.contains("CODE_RATE_HP")) { - fec_hi = line.split(" = ")[1]; - continue; - } - if (line.contains("CODE_RATE_LP")) { - fec_lo = line.split(" = ")[1]; - continue; - } - if (line.contains("HIERARCHY")) { - hierarchy = line.split(" = ")[1]; - continue; - } - if (line.contains("GUARD_INTERVAL")) { - g_interval = line.split(" = ")[1]; - continue; - } - } - } + QString string = parseLine(parser.type, parsedLine, fileName); - if (line.isEmpty()) { + if (string.isEmpty()) { + qCritical() << "Error: can't parse Transponder pos " << parser.getPos() << "line" << parsedLine << "in file" << name; continue; } - QString string = parseLine(type, line, fileName); - - if (string.isEmpty() && !(fileName == "ca-AB-Calgary")) { - qCritical() << "Error: can't parse line" << line << "in file" << fileName; - return; - } - - // reduce multiple spaces to one space and remove leading zeros + // reduce multiple spaces to one space - for (int i = 1; i < line.length(); ++i) { - if (line.at(i - 1) != ' ') { + for (int i = 1; i < parsedLine.length(); ++i) { + if (parsedLine.at(i - 1) != ' ') { continue; } - if ((line.at(i) == ' ') || (line.at(i) == '0')) { - line.remove(i, 1); + if (parsedLine.at(i) == ' ') { + parsedLine.remove(i, 1); --i; } } + if (parsedLine.at(parsedLine.length() - 1) == ' ') { + parsedLine.remove(parsedLine.length() - 1, 1); + } - if (line != string) { - qWarning() << "Warning: suboptimal representation" << line << "<-->" << string << "in file" << fileName; + if (parsedLine != string) { + qWarning() << "Warning: suboptimal representation:"; + qWarning() << parsedLine << "<-->"; + qWarning() << string << "in file" << name; } transponders.append(string); } if (transponders.isEmpty()) { - //qWarning() << "Warning: no transponder found in file" << fileName; + qWarning() << "Warning: no transponder found in file" << name; continue; } - QString name = dir.dirName() + '/' + fileName; - - if (type == DvbSTransponder::DvbS) { + if (parser.type == DvbTransponderBase::DvbS || + parser.type == DvbTransponderBase::DvbS2) { // use upper case for orbital position name[name.size() - 1] = name.at(name.size() - 1).toUpper(); @@ -650,7 +861,7 @@ } if (!ok) { - qWarning() << "Warning: invalid orbital position for file" << fileName; + qWarning() << "Warning: invalid orbital position for file" << name; } } @@ -678,16 +889,17 @@ QTextStream out(&data); out.setCodec("UTF-8"); - out << "# this file is automatically generated from http://linuxtv.org/hg/dvb-apps\n"; + out << "# this file is automatically generated from https://linuxtv.org/downloads/dtv-scan-tables\n"; out << "[date]\n"; out << QDate::currentDate().toString(Qt::ISODate) << '\n'; QString path(argv[1]); - readScanDirectory(out, path, DvbTransponderBase::DvbC); - readScanDirectory(out, path, DvbTransponderBase::DvbS); - readScanDirectory(out, path, DvbTransponderBase::DvbT); - readScanDirectory(out, path, DvbTransponderBase::Atsc); + readScanDirectory(out, path + "/dvb-c"); + readScanDirectory(out, path + "/dvb-s"); + readScanDirectory(out, path + "/dvb-t"); + readScanDirectory(out, path + "/atsc"); + readScanDirectory(out, path + "/isdb-t"); out.flush(); diff -Nru kaffeine-1.3.1+git20151128/tools/dvbsi.xml kaffeine-2.0.4+git20160916/tools/dvbsi.xml --- kaffeine-1.3.1+git20151128/tools/dvbsi.xml 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/dvbsi.xml 2016-09-17 17:18:56.000000000 +0000 @@ -1,82 +1,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -111,6 +34,17 @@ + + + + + + + + + + + @@ -157,6 +91,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -193,6 +216,8 @@ + + diff -Nru kaffeine-1.3.1+git20151128/tools/.gitignore kaffeine-2.0.4+git20160916/tools/.gitignore --- kaffeine-1.3.1+git20151128/tools/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/.gitignore 2016-09-17 17:18:56.000000000 +0000 @@ -0,0 +1,7 @@ +convertscanfiles +scanfile +scanfile.qz +updatedvbsi +updatemimetypes +updatesource + diff -Nru kaffeine-1.3.1+git20151128/tools/updatedvbsi.cpp kaffeine-2.0.4+git20160916/tools/updatedvbsi.cpp --- kaffeine-1.3.1+git20151128/tools/updatedvbsi.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/updatedvbsi.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -19,6 +19,10 @@ */ #include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif + #include #include #include @@ -204,25 +208,29 @@ QString initFunctionName = QString(entryName).replace(QRegExp("^Dvb|^Atsc"), "init"); bool ignoreFirstNewLine = false; + QString funcName = entryName + "::"; + switch (type) { case Descriptor: + funcName += entryName; cppStream << "\n"; - cppStream << entryName << "::" << entryName << "(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor)\n"; + cppStream << funcName << "(const DvbDescriptor &descriptor) : DvbDescriptor(descriptor)\n"; cppStream << "{\n"; cppStream << "\tif (getLength() < " << (minBits / 8) << ") {\n"; - cppStream << "\t\tkDebug() << \"invalid descriptor\";\n"; + cppStream << "\t\tqWarning(\"Invalid descriptor\");\n"; cppStream << "\t\tinitSectionData();\n"; cppStream << "\t\treturn;\n"; cppStream << "\t}\n"; break; case Entry: { + funcName += initFunctionName; cppStream << "\n"; - cppStream << "void " << entryName << "::" << initFunctionName << "(const char *data, int size)\n"; + cppStream << "void " << funcName << "(const char *data, int size)\n"; cppStream << "{\n"; cppStream << "\tif (size < " << (minBits / 8) << ") {\n"; cppStream << "\t\tif (size != 0) {\n"; - cppStream << "\t\t\tkDebug() << \"invalid entry\";\n"; + cppStream << "\t\tqWarning(\"Invalid entry at descriptor\");\n"; cppStream << "\t\t}\n"; cppStream << "\n"; cppStream << "\t\tinitSectionData();\n"; @@ -248,7 +256,7 @@ while (true) { int oldSize = entryLengthCalculation.size(); - entryLengthCalculation.replace(QRegExp("at\\(([0-9]*)\\)"), "static_cast(data[\\1])"); + entryLengthCalculation.replace(QRegExp("at\\(([0-9]*)\\)"), "quint8(data[\\1])"); if (entryLengthCalculation.size() == oldSize) { break; @@ -258,7 +266,7 @@ cppStream << "\tint entryLength = ((" << entryLengthCalculation << ") + " << ((element.bitIndex + element.bits) / 8) << ");\n"; cppStream << "\n"; cppStream << "\tif (entryLength > size) {\n"; - cppStream << "\t\tkDebug() << \"adjusting length\";\n"; + cppStream << "\t\tqWarning(\"Adjusting length on descriptor\");\n"; cppStream << "\t\tentryLength = size;\n"; cppStream << "\t}\n"; cppStream << "\n"; @@ -279,6 +287,7 @@ } case Section: + funcName += initFunctionName; cppStream << "\n"; cppStream << "void " << entryName << "::" << initFunctionName << "(const char *data, int size)\n"; cppStream << "{\n"; @@ -317,11 +326,11 @@ if (element.offsetString.isEmpty()) { cppStream << "\tif (" << element.name << "Length > (getLength() - " << (minBits / 8) << ")) {\n"; - cppStream << "\t\tkDebug() << \"adjusting length\";\n"; + cppStream << "\t\tqWarning(\"Adjusting length on descriptor\");\n"; cppStream << "\t\t" << element.name << "Length = (getLength() - " << (minBits / 8) << ");\n"; } else { cppStream << "\tif (" << element.name << "Length > (getLength() - (" << (minBits / 8) << element.offsetString << "))) {\n"; - cppStream << "\t\tkDebug() << \"adjusting length\";\n"; + cppStream << "\t\tqWarning(\"Adjusting length on descriptor\");\n"; cppStream << "\t\t" << element.name << "Length = (getLength() - (" << (minBits / 8) << element.offsetString << "));\n"; } @@ -424,6 +433,15 @@ headerStream << "\tQString " << element.name << "() const\n"; headerStream << "\t{\n"; headerStream << "\t\treturn DvbSiText::convertText(getData() + " << element << ", "; + } else if (element.listType == "DvbInt") { + headerStream << "\n"; + + headerStream << "\tint " << element.name << "Length() const\n\t{\n"; + headerStream << "\t\treturn (getLength() - 4) / 2;\n\t}\n\n"; + headerStream << "\tint " << element.name << "(int idx) const\n"; + headerStream << "\t{\n"; + headerStream << "\t\tint pos = (idx * 2) + 4;\n"; + headerStream << "\t\treturn (at(pos) << 8) | at(pos + 1);\n"; } else if (element.listType == "AtscString") { headerStream << "\n"; headerStream << "\tQString " << element.name << "() const\n"; @@ -436,14 +454,16 @@ headerStream << "\t\treturn " << element.listType << "(getData() + " << element << ", "; } - if (element.lengthFunc.isEmpty()) { - if (element.offsetString.isEmpty()) { - headerStream << "getLength() - " << (minBits / 8) << ");\n"; + if (element.listType != "DvbInt") { + if (element.lengthFunc.isEmpty()) { + if (element.offsetString.isEmpty()) { + headerStream << "getLength() - " << (minBits / 8) << ");\n"; + } else { + headerStream << "getLength() - (" << (minBits / 8) << element.offsetString << "));\n"; + } } else { - headerStream << "getLength() - (" << (minBits / 8) << element.offsetString << "));\n"; + headerStream << element.name << "Length);\n"; } - } else { - headerStream << element.name << "Length);\n"; } headerStream << "\t}\n"; @@ -614,9 +634,12 @@ xmlFile.close(); +#if 0 + // Don't rewrite the xml file + if (xmlFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) { xmlFile.write(document.toByteArray(2)); } - +#endif return 0; } diff -Nru kaffeine-1.3.1+git20151128/tools/update_dvbsi.sh kaffeine-2.0.4+git20160916/tools/update_dvbsi.sh --- kaffeine-1.3.1+git20151128/tools/update_dvbsi.sh 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/update_dvbsi.sh 2016-09-17 17:18:56.000000000 +0000 @@ -1,9 +1,12 @@ #!/bin/sh set -eu -mkdir -p kaffeine_build -cd kaffeine_build -cmake ../kaffeine -DBUILD_TOOLS=1 +if [ "$(grep KAFFEINE_MAJOR_VERSION CMakeLists.txt)" == "" ]; then + echo "Entering into the Kaffeine dir" + cd kaffeine +fi + +cmake -DBUILD_TOOLS=1 . make updatedvbsi -cd ../kaffeine/tools -../../kaffeine_build/tools/updatedvbsi +cd tools +./updatedvbsi diff -Nru kaffeine-1.3.1+git20151128/tools/update_headers.sh kaffeine-2.0.4+git20160916/tools/update_headers.sh --- kaffeine-1.3.1+git20151128/tools/update_headers.sh 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/update_headers.sh 2016-09-17 17:18:56.000000000 +0000 @@ -1,10 +1,18 @@ #!/bin/sh set -eu +if [ "$(grep KAFFEINE_MAJOR_VERSION CMakeLists.txt)" == "" ]; then + echo "Entering into the Kaffeine dir" + cd kaffeine +fi + +BASE_URL="https://git.linuxtv.org/media_tree.git" + cd include rm dmx.h frontend.h -wget https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/include/uapi/linux/dvb/dmx.h -wget https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/include/uapi/linux/dvb/frontend.h + +wget -nv $BASE_URL/plain/include/uapi/linux/dvb/dmx.h +wget -nv $BASE_URL/plain/include/uapi/linux/dvb/frontend.h unifdef -k -U__KERNEL__ -o dmx.h dmx.h || true unifdef -k -U__KERNEL__ -o frontend.h frontend.h || true sed 'N;s/,\n\}/\n\}/;P;D;' -i dmx.h diff -Nru kaffeine-1.3.1+git20151128/tools/update_icons.sh kaffeine-2.0.4+git20160916/tools/update_icons.sh --- kaffeine-1.3.1+git20151128/tools/update_icons.sh 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/update_icons.sh 2016-09-17 17:18:56.000000000 +0000 @@ -1,16 +1,117 @@ #!/bin/sh set -eu -cd kaffeine/icons -rm -f hi* +#ICONSET="Oxygen" +ICONSET="Breeze" +ORIGIN="local" + +# Those two icons are not found on Oxygem. They're modified versions +# of the icons found at Oxygen: +# actions-audio-radio-encrypted +# actions-video-television-encrypted +# + +ICONS="apps-kaffeine mimetypes-application-x-subrip actions-arrow-left actions-arrow-right devices-audio-card status-audio-volume-high status-audio-volume-low status-audio-volume-medium status-audio-volume-muted actions-configure actions-dialog-cancel status-dialog-error status-dialog-information actions-dialog-ok-apply actions-document-open-folder actions-document-save actions-edit-clear-list actions-edit-delete actions-edit-find actions-edit-rename actions-edit-undo actions-format-justify-center actions-go-jump actions-list-add devices-media-optical devices-media-optical-audio devices-media-optical-video actions-media-playback-pause actions-media-playback-start actions-media-playback-stop actions-media-record actions-media-skip-backward actions-media-skip-forward actions-page-zoom actions-player-time places-start-here-kde mimetypes-text-html actions-text-speak devices-video-television mimetypes-video-x-generic actions-view-fullscreen actions-view-list-details actions-view-media-playlist actions-view-pim-calendar actions-view-refresh actions-view-restore" + +if [ "$ICONSET" == "Oxygen" ]; then + ICONS="$ICONS status-media-playlist-repeat status-media-playlist-shuffle" + + # To use the latest icons downloaded directly from the repository + if [ "$ORIGIN" == "local" ]; then + ICONS_URL="file://$(pwd)/../oxygen-icons5/" + else + ICONS_URL="https://quickgit.kde.org/?p=oxygen-icons5.git&a=blob&f=" + fi +else + if [ "$ORIGIN" == "local" ]; then + ICONS_URL="file://$(pwd)/../breeze-icons/icons/" + else + ICONS="$ICONS actions-media-playlist-repeat actions-media-playlist-shuffle" + fi +fi + +if [ "$ORIGIN" == "local" ]; then + ICONS_URL_END="" +else + ICONS_URL_END="&o=plain" +fi + +if [ "$(grep KAFFEINE_MAJOR_VERSION CMakeLists.txt)" == "" ]; then + echo "Entering into the Kaffeine dir" + cd kaffeine +fi + +rm -f $(for i in $ICONS; do echo icons/*-$i.*; done) if [ `find /usr/share/icons/oxygen | grep -i kaffeine | wc --lines` != 6 ] ; then echo "recheck number of icons" exit 1 fi -for SIZE in 16 22 32 48 64 128 ; do - wget http://websvn.kde.org/*checkout*/trunk/kdesupport/oxygen-icons/$SIZE'x'$SIZE/apps/kaffeine.png -O hi$SIZE-apps-kaffeine.png +FILES="" +ICONS_NOT_FOUND="" +for i in $ICONS; do + FOUND="" + j=$(echo $i|sed "s,-,/,") + curl -s "${ICONS_URL}scalable/$j.svgz${ICONS_URL_END}" -o icons/sc-$i.svgz && FOUND=1 && FILES="$FILES sc-$i.svgz" || true + + if [ "$FOUND" == "1" ]; then echo "Found $i.svgz"; continue; fi + + curl -s "${ICONS_URL}scalable/$j.svg${ICONS_URL_END}" -o icons/sc-$i.svg && FOUND=1 && FILES="$FILES sc-$i.svg" || true + + if [ "$FOUND" == "1" ]; then echo "Found $i.svg"; continue; fi + + for SIZE in 16 22 32 48 64 128 ; do + j=$(echo $i|sed "s,-,/,") + # Oxygen path + curl -s "${ICONS_URL}${SIZE}x$SIZE/$j.png${ICONS_URL_END}" -o icons/$SIZE-$i.png && FOUND=1 && FILES="$FILES $SIZE-$i.png" || true + if [ "$FOUND" == "" ]; then + # Breeze path + j=$(echo $j|sed "s,/,/${SIZE}/,") + curl -s "${ICONS_URL}$j.svg${ICONS_URL_END}" -o icons/sc-$i.svg && FOUND=1 && FILES="$FILES sc-$i.svg" || true + fi + done + + if [ "$FOUND" == "1" ]; then echo "Found $i.png on several sizes"; continue; fi + + ICONS_NOT_FOUND="$ICONS_NOT_FOUND $i" done -wget http://websvn.kde.org/*checkout*/trunk/kdesupport/oxygen-icons/scalable/apps/kaffeine.svgz -O hisc-apps-kaffeine.svgz +cat > icons/CMakeLists.txt << EOF +# Auto-generated by ../tools/update_icons.sh +# +# Breeze Icons are developed by The KDE Visual Design Group. +# All icons are licensed under LGPL3+ + +ecm_install_icons(ICONS + # This icon is a merge of Breeze audio-mp4.svg with lock.svg + sc-actions-audio-radio-encrypted.svg + # This icon is a merge of Breeze sc-devices-video-television.svg with lock.svg + sc-actions-video-television-encrypted.svg + + # Those icons are copied as-is from ${ICONSET} theme + +EOF + +# Remve duplicated files +FILES=$(echo "$FILES" | tr ' ' '\n' | sort -u | tr '\n' ' ') + +for i in $FILES; do + echo -e "\t$i" >> icons/CMakeLists.txt +done + +echo -e "\tDESTINATION \${ICON_INSTALL_DIR}\n)" >> icons/CMakeLists.txt + +# Add the two extra files +FILES="$FILES sc-actions-audio-radio-encrypted.svg sc-actions-video-television-encrypted.svg" + +echo "" >src/kaffeine.qrc +for i in $FILES; do + alias=$(echo $i|cut -d'-' -f 3-|cut -d'.' -f1) + echo -e "\t\n\t\t../icons/$i\n\t" +done >>src/kaffeine.qrc +echo "" >>src/kaffeine.qrc + +if [ "$ICONS_NOT_FOUND" != "" ]; then + echo "WARNING: Icons not found: $ICONS_NOT_FOUND" +fi diff -Nru kaffeine-1.3.1+git20151128/tools/update_l10n.sh kaffeine-2.0.4+git20160916/tools/update_l10n.sh --- kaffeine-1.3.1+git20151128/tools/update_l10n.sh 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/update_l10n.sh 2016-09-17 17:18:56.000000000 +0000 @@ -1,7 +1,11 @@ #!/bin/sh set -eu -cd kaffeine +if [ "$(grep KAFFEINE_MAJOR_VERSION CMakeLists.txt)" == "" ]; then + echo "Entering into the Kaffeine dir" + cd kaffeine +fi + rm -fr po mkdir po cd po @@ -18,20 +22,21 @@ EOF -wget http://websvn.kde.org/*checkout*/trunk/l10n-kde4/subdirs +svn cat svn://anonsvn.kde.org/home/kde/trunk/l10n-kf5/subdirs >subdirs SUBDIRS=$(cat subdirs | grep -vx "x-test") rm subdirs for SUBDIR in $SUBDIRS ; do - mkdir $SUBDIR - cd $SUBDIR - wget http://websvn.kde.org/*checkout*/trunk/l10n-kde4/$SUBDIR/messages/extragear-multimedia/kaffeine.po || true - cd .. - - if test -e $SUBDIR/kaffeine.po ; then - echo "add_subdirectory($SUBDIR)" >>CMakeLists.txt - echo "GETTEXT_PROCESS_PO_FILES($SUBDIR ALL INSTALL_DESTINATION \${LOCALE_INSTALL_DIR} kaffeine.po)" >$SUBDIR/CMakeLists.txt - else - rmdir $SUBDIR + if [ "$(svn ls svn://anonsvn.kde.org/home/kde/trunk/l10n-kf5/$SUBDIR/messages/extragear-multimedia/kaffeine.po 2>/dev/null|grep kaffeine.po)" != "" ]; then + mkdir $SUBDIR + svn cat svn://anonsvn.kde.org/home/kde/trunk/l10n-kf5/$SUBDIR/messages/extragear-multimedia/kaffeine.po > $SUBDIR/kaffeine.po || true + if [ -e "$SUBDIR/kaffeine.po" ]; then + echo "Downloaded $SUBDIR/kaffeine.po" + echo "add_subdirectory($SUBDIR)" >>CMakeLists.txt + echo "GETTEXT_PROCESS_PO_FILES($SUBDIR ALL INSTALL_DESTINATION \${LOCALE_INSTALL_DIR} kaffeine.po)" >$SUBDIR/CMakeLists.txt + else + echo "Failed to download $SUBDIR/kaffeine.po" + rmdir $SUBDIR + fi fi done diff -Nru kaffeine-1.3.1+git20151128/tools/updatemimetypes.cpp kaffeine-2.0.4+git20160916/tools/updatemimetypes.cpp --- kaffeine-1.3.1+git20151128/tools/updatemimetypes.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/updatemimetypes.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,13 +18,20 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include #include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif + +#include #include -#include +#include +#include int main(int argc, char *argv[]) { + bool dontUpdate = false; + // QCoreApplication is needed for proper file name handling QCoreApplication application(argc, argv); @@ -60,7 +67,7 @@ if (mimeTypeIndex >= 0) { qCritical() << "more than one MimeType entry found in file" << file.fileName(); - return 1; + dontUpdate = true; } mimeTypeIndex = i; @@ -76,22 +83,86 @@ mimeTypes.removeDuplicates(); mimeTypes.sort(); + QStringList mimeTypesExt; + + for (int i = 0; i < mimeTypes.size(); ++i) { + QMimeDatabase db; + QString curMime, newMime; + + curMime = mimeTypes.at(i); + + if (!curMime.compare("application/x-extension-mp4")) { + newMime = db.mimeTypeForFile("*.mp4").name(); + } else if (!curMime.compare("application/x-flac")) { + newMime = db.mimeTypeForFile("*.flac").name(); + } else if (!curMime.compare("audio/x-ms-asf")) { + newMime = db.mimeTypeForFile("*.wma").name(); + } else if (!curMime.compare("audio/x-ms-wax")) { + newMime = db.mimeTypeForFile("*.wax").name(); + } else if (!curMime.compare("audio/x-pn-aiff")) { + newMime = db.mimeTypeForFile("*.aif").name(); + } else if (!curMime.compare("audio/x-pn-au")) { + newMime = db.mimeTypeForFile("*.au").name(); + } else if (!curMime.compare("audio/x-real-audio")) { + newMime = db.mimeTypeForFile("*.rmvb").name(); + } else if (!curMime.compare("audio/x-pn-wav") || !curMime.compare("audio/x-pn-acm") || !curMime.compare("audio/x-pn-windows-acm")) { + newMime = db.mimeTypeForFile("*.wav").name(); + } else if (!curMime.compare("video/x-flc")) { + newMime = db.mimeTypeForFile("*.flc").name(); + } else if (!curMime.compare("misc/ultravox")) { + // Mime Type is not associated with extensions + continue; + } else if (curMime.contains("x-scheme-handler/")) { + // Mime Type is not associated with extensions + continue; + } + if (!newMime.isEmpty()) { + // Use the mime type name known by QMimeDatabase + mimeTypes.replace(i, newMime); + + mimeTypesExt << newMime; + qInfo() << "replacing" << curMime << "by" << newMime; + } else { + mimeTypesExt << curMime; + } + } + + mimeTypes.removeDuplicates(); + mimeTypes.sort(); + + mimeTypesExt.removeDuplicates(); + mimeTypesExt.sort(); + QStringList realExtensions; - for (int skipMimeType = -1; skipMimeType < mimeTypes.size(); ++skipMimeType) { + for (int skipMimeType = -1; skipMimeType < mimeTypesExt.size(); ++skipMimeType) { QStringList extensions; - for (int i = 0; i < mimeTypes.size(); ++i) { + for (int i = 0; i < mimeTypesExt.size(); ++i) { if (i != skipMimeType) { - KMimeType::Ptr mimetype = KMimeType::mimeType(mimeTypes.at(i), - KMimeType::DontResolveAlias); + QMimeDatabase db; + QString mime = mimeTypesExt.at(i); + QMimeType mimetype = db.mimeTypeForName(mime); + + if (!mime.compare("skip")) { + continue; + } + if (!mime.compare("application/octet-stream")) { + qInfo() << "Warning: application/octet-stream detected!"; + continue; + } + if (!mime.compare("application/text")) { + qInfo() << "Warning: application/text detected!"; + continue; + } - if (mimetype.isNull()) { - qCritical() << "unknown mime type" << mimeTypes.at(i); - return 1; + if (!mimetype.isValid()) { + qCritical() << "unknown mime type" << mime; + dontUpdate = true; + continue; } - extensions.append(mimetype->patterns()); + extensions.append(mimetype.globPatterns()); } } @@ -111,10 +182,14 @@ extensions.insert(i, "*.anim9"); extensions.insert(i, "*.animj"); } + if (extensions.at(i) == "[0-9][0-9][0-9].vdr") { + extensions.removeAt(i); + extensions.insert(i, "*.vdr"); + } if (!regExp.exactMatch(extensions.at(i))) { qCritical() << "unknown extension syntax" << extensions.at(i); - return 1; + dontUpdate = true; } } @@ -129,7 +204,16 @@ } } + qInfo() << "Supported mime types:" << mimeTypes; + qInfo() << "Supported file extensions:" << realExtensions; + + if (dontUpdate) { + qInfo() << "Error parsing mime types. Aborting."; + return 1; + } + { + qInfo() << "Updating" << file.fileName(); if (!file.open(QFile::WriteOnly | QFile::Truncate)) { qCritical() << "cannot open file" << file.fileName(); return 1; @@ -167,6 +251,7 @@ } { + qInfo() << "Updating" << file.fileName(); if (!file.open(QFile::WriteOnly | QFile::Truncate)) { qCritical() << "cannot open file" << file.fileName(); return 1; @@ -205,5 +290,6 @@ file.close(); } + qInfo() << "file extensions updated successfuly."; return 0; } diff -Nru kaffeine-1.3.1+git20151128/tools/update_mimetypes.sh kaffeine-2.0.4+git20160916/tools/update_mimetypes.sh --- kaffeine-1.3.1+git20151128/tools/update_mimetypes.sh 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/update_mimetypes.sh 2016-09-17 17:18:56.000000000 +0000 @@ -1,8 +1,12 @@ #!/bin/sh set -eu -mkdir -p kaffeine_build -cd kaffeine_build -cmake ../kaffeine -DBUILD_TOOLS=1 +if [ "$(grep KAFFEINE_MAJOR_VERSION CMakeLists.txt)" == "" ]; then + echo "Entering into the Kaffeine dir" + cd kaffeine +fi + +cmake . -DBUILD_TOOLS=1 + make updatemimetypes tools/updatemimetypes ../kaffeine/src/kaffeine.desktop ../kaffeine/src/mediawidget.cpp diff -Nru kaffeine-1.3.1+git20151128/tools/update_scanfile.sh kaffeine-2.0.4+git20160916/tools/update_scanfile.sh --- kaffeine-1.3.1+git20151128/tools/update_scanfile.sh 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/update_scanfile.sh 2016-09-17 17:18:56.000000000 +0000 @@ -1,10 +1,21 @@ #!/bin/sh + +if [ "$1" == "" ]; then + echo "$0 " + exit 1 +fi +SCAN_DIR="$1" + set -eu -mkdir -p kaffeine_build -cd kaffeine_build -cd .. -cd .. -cmake -DBUILD_TOOLS=1 +if [ "$(grep KAFFEINE_MAJOR_VERSION CMakeLists.txt)" == "" ]; then + echo "Entering into the Kaffeine dir" + cd kaffeine +fi + +cmake . -DBUILD_TOOLS=1 make convertscanfiles -tools/convertscanfiles ./tools/dvb ../kaffeine/src/scanfile.dvb \ No newline at end of file + +(cd $SCAN_DIR; git remote update; git rebase origin/master) + +tools/convertscanfiles /devel/v4l/dtv-scan-tables ../kaffeine/src/scanfile.dvb diff -Nru kaffeine-1.3.1+git20151128/tools/updatesource.cpp kaffeine-2.0.4+git20160916/tools/updatesource.cpp --- kaffeine-1.3.1+git20151128/tools/updatesource.cpp 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/updatesource.cpp 2016-09-17 17:18:56.000000000 +0000 @@ -18,8 +18,12 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include #include +#if QT_VERSION < 0x050500 +# define qInfo qDebug +#endif + +#include #include int main(int argc, char *argv[]) diff -Nru kaffeine-1.3.1+git20151128/tools/update_source.sh kaffeine-2.0.4+git20160916/tools/update_source.sh --- kaffeine-1.3.1+git20151128/tools/update_source.sh 2015-11-26 14:36:26.000000000 +0000 +++ kaffeine-2.0.4+git20160916/tools/update_source.sh 2016-09-17 17:18:56.000000000 +0000 @@ -3,9 +3,12 @@ # not for production use -sourcedir=$(pwd) -cd ~/bin/kaffeine-build +if [ "$(grep KAFFEINE_MAJOR_VERSION CMakeLists.txt)" == "" ]; then + echo "Entering into the Kaffeine dir" + cd kaffeine +fi + cmake -DBUILD_TOOLS=1 . make updatesource -cd $sourcedir -~/bin/kaffeine-build/tools/updatesource + +tools/updatesource