Neumo 2.13.6

Status
Not open for further replies.

Rocknroll

Staff member
Administrator
Messages
6,174
Code:
Neumo-2.13.6_ReleaseNotes
-------------------------

I: new feature or improvement
B: bug fix
N: Note

Tuner support
---------------
I: Relook now supports new tuner introduced in recent models.

Mpeg program stream playback
----------------------------
I: Relook can now play back recordings in mpeg program stream format
   (usually stored in files with .mpg extension). Simply copy the files
   to /var/media/video. Trick play (fast forward, rewind, ...) is
   currently not implemented. 

Power on/off
-------------
I: Improved power button functionality. The button now switches
   between two states, which have the meaning ON="user wants to watch
   live" and OFF="user does not want to watch live". This is different
   from the previous meaning "user wants to turn on/off relook".

   The difference becomes important when a recording is in
   progress. In the old code, pressing the power button would pop up
   the question if the user would like to cancel the recording. In the
   new code, this question is not asked, the recording is continued,
   but picture output through scart and RF is disabled. Relook will
   switch off AFTER the recording, unless the user presses the power
   button once more. In this case, picture output on scart and RF is
   re-enabled and relook will NOT switch off after recording.

I: The preceding explanation actually applies to the case where the
   recording started when the user was already watching some program,
   i.e., after the user pressed the power button. 

   In case a recording starts when relook is off (in cold or warm
   sleep), relook will switch in but no picture will be shown through
   the scart and RF outputs, until the user presses the power button.  
   
   If the the user state is ON, relook will never switch off when a
   recording ends. 

N: The easiest way to understand what will happen when pressing the
   power button is to pretend that relook contains two devices: a TV tuner,
   which is controlled by the power button and a recorder, which is
   controlled by a timer. The power button switches the TV tuner on
   or off. Relook is turned on when either the recorder or the TV
   tuner needs to be on. It is turned off when both the TV tuner and the
   recorder are off.

N: Picture output though scart and RF is temporarily turned on during 
   cold boot. This is a limitation of the current code.


User preferences
----------------
I: Previously, the relook code had three different methods for storing
   user options leading to complicated and error-prone code. Almost
   all user settings are now stored in the table "options" in the
   database, except those that are needed in /bin/init, which are
   stored in the filesystem.

N: Because of the new options-code, many existing user settings will be
   lost when upgrading to neumoteam 2.13.6. Therefore, users should 
   carefully check all settings in the menus, because many options
   will be set to their default value after upgrade.
   
N: Because of the new option codes, plugins accessing old options
   will cease to function. Some minor code changes and recompilation
   are needed to make them function again. The standard plugins
   (ts_rec, mp3, sudoku, ...) and some others (spectrum analyzer) 
   have been fixed.
   
   Users should not expect plugins compiled for other images or other 
   neumoteam versions to work on neumoteam 2.13.6. Some combinations will
   work, but not all. This is nothing new: plugins have always been
   specific to the image for which they are compiled, but this time
   more plugins are affected.

N: Your version of pc-editor must be recent enough to support the
   database version 1.20. 

B: 12/24 hours option not stored correctly.

Language selection
---------------------
I: New language preference and audio switching code. Instead of
   selecting one default audio language, the user can now enter a list 
   of up to 7 preferred languages. The first language will be
   selected if it is available, otherwise the second and so on. In
   addition to the usual languages, a number of special languages are
   available: "German 2" is the second German language choice on
   premiere, which is typically English in reality. "Secondary" is the
   second language on some digital+ channels. The special languages are
   needed because the providers do not transmit the correct languages.

I: The new "prefer Dolby AC3" option is interpreted as follows: if it
   is set to "No" all AC3 streams will be ignored. If set to "Yes",
   AC3 audio will be used, except if another non-AC3 audio language 
   with higher preference is available. 

N: The audio language preference also applies to teletext and
   subtitles, but due to lack of suitable test cases, it has not been
   tested.

N: The current audio language is recomputed after each channel change 
   or when the transmitted PMT-table changes. After a PMT-change it
   can take up to 30s before the language switch occurs.	   

B: Incorrect audio switching when audio pids change.

Pixellation
-----------
N: Pixellation is still not completely fixed. One remaining source of
   pixellation is in the remuxer. In 2.13.5 this was minimised by
   increasing the clock speed of the on-board FPGA. As a result some 
   hardware cams cease to function correctly. Also, the solution does 
   not eliminate all data corruption. 

I: The data corruption is usually triggered by the epg code switching to
   certain transponders (but is not cause by the epg code!) and
   registering SI-tables on those transponders. The time during which
   SI-tables are registered is now minimized, so that the possibility
   of pixellation is limited. 

Start up and shutdown
--------------------
I: Picture on scart and RF is now switched off much sooner after 
   the user presses the power button. The user can watch regular tv,
   while relook is still shutting down.

B: Sporadic kernel crash after warm boot.

B: /bin/relook crashes on exit. As a result, all kinds of strange
   things could happen (such as entering a cold shutdown instead of a
   warm shutdown, starting a needless factory reset, ...

I: Epg code now exits gracefully at shutdown, reducing the likelihood
   of database corruption.

B: Database revision checking scripts fail in the case of a 
   missing database: when /var/data/dbepg.dat is missing the upgrade
   script creates an empty dbepg.dat rather than copying a clean
   one. Next it starts the database upgrade script, which fails
   because of the empty database. The same problem occurs for a
   missing db.dat/ 

B: Relook crashes when an empty /var/data/db.dat is installed.

B: Shut down in menu->usb-mode->pc-editor makes relook crash

Stability fixes
---------------
B: Relook crashes after pressing the info button twice in file list
   management screen. 

B: Relook crashes after running for many hours.

B: Upgrade to sqlite3.4.1 to fix a database corruption bug.

I: Implemented code to suspend epg parsing when memory gets too full.

B: Fix epg code becomes inactive for a long time if transponder
   doesn't transmit tdt table.

B: Memory leak in epg code. 

B: Fixed minor memory leak in new mhwepg2 code.

I: Improved enforcement of memory limits in dvbepg code.

B: Relook crashes while exiting automatic channel search.

B: Relook crashes in channel search.

B: Memory leaks in channel epg.

B: Various memory leaks.

Speed and resource usage improvements
--------------------------------------
I: Improved channel changing speed. Channel changing was slowed down 
   by saving history information, which can take a very long time when
   the database is locked for some reason. Other speed improvements have
   been made as well.

I: Improved performance of Channel List with EPG Program Name display.

I: Faster channel epg by avoiding duplicate database look-ups and by
   retrieving only the data that can fit on the screen.

I: Much faster epg code due to improved database calls (50-75% faster)
   and by reducing deliberate delays in the epg write code. The size 
   of the epg write queue has also been decreased which should lower
   memory fragmentation.

Other bug fixes and improvements
---------------------------------
I: The option "Use free tuner if scrambled" has been replaced by 
   "Dual descrambling." If the option is set to "Yes" relook will
   allow recording/watching two encrypted channels. Otherwise, when a
   user is watching a scrambled channel and a recording would start on
   another scrambled channel, relook will ask to tune the live tuner 
   to the channel which is to be recorded. 

   This option is needed for some CAMs which can only descramble a
   single channel. 

B: When "Use free tuner if scrambled" is "NO" (i.e., when  "Dual
   Descrambling"="YES") relook sometimes asks to switch the live tuner
   to the channel to be recorded, thus ignoring the user setting.

B: In /bin/init the code that converts the file system from ext2 to
   ext3 and the code that forces a full file system check was
   accidentally disabled. 

B: The "record end offset: was ignored when recording from live mode.

B: Relook failed to switch to regional programming.

B: Wrong time in epg display and on front panel after changing
   the timezone from within relook GUI.

I: A new option "Banner auto display" controls whether or not the live
   banner appears on screen after a channel change (or when the
   broadcast PMT changes). This option does NOT affect banner display
   when pressing trick play keys (e.g., fast forward) because visual
   feedback is essential for features like fast forward.

B: The "stop recording" dialog shows wrong program name.

B: The svn revision number in "compile info" was wrong: it showed the  
   version of the "relook_src" directory, but now it show the version
   of the most recent source file in that directory.

B: A newly selected banner type only became active after reboot.

B: The epg code crashed during certain operations, such as when running
   plugins. The real fix is to stop the epg code altogether in these cases,	
   but until that is implemented, a workaround has now been
   implemented that should prevent all or some of the crashes.

B: Cosmetic fixes in channel epg: long channel names overlapped with the
   date-time field. Event names sometimes extend into the thumb nail window.
   
Notes for developers
--------------------
N: In the database, the audio language preference is stored as a
   string of the form "eng;ger;ger1;fre". A number behind the
   language is used to refer to a specific audio channel if there is
   more than one channel with the given language. For instance the
   first German audio stream on premiere is "ger". The second "German"
   stream is "ger1" and so on.

N: Before 2.13.6, options were stored in three database tables:
   UserOption, options, optionInfo. The code for saving/loading the 
   options was duplicated all over the place; it dealt poorly with
   database inconsistencies or non-existing options, creating the
   potential for crashes.

   The new option system stores (almost) all options in the table
   "options" as two strings: a name of a variable and its value. There
   are four different types of options: INT, STRING, CHOICE and
   FSFLAG. The options are defined in dbmgr/db_options.in, which is
   converted by a script to include/db_options_generated.h.

   INT(i1,3) means: i1 is an integer, with default value 3 
   STRING(str1,"zorro"): str1 is string with default value "zorro"
   CHOICE(c1,yes,yes,no): c1 is an integer which can assume the values 
   key_yes and key_no. The default value is key_yes (2nd argument). 
   FSFLAG(hdd_check,"/var/.chfs",off): the hdd_check option is on if
   the file /var/.chfs exists. Otherwise it is off.

   In c-code, db_options.h should be included. This will define
   keys (e.g., key_yes and key_no) as numeric constants. All options
   are retrieved from the database using the function db_option_init.
   Individual options can be stored in or retrieved from the database
   using options_set and option_get:
   -to save an option to the database, use option_set(db,&options.str1)
   -to load an option from the database, use option_get(db,&options.str1)

   The value of an option can be accessed or changed by
   reading/setting a variable like options.c1.val. The name of an
   option can be found using a call like key_name(options.c1.val). In
   the case of a CHOICE option, there are also facilities for
   retrieving the allowed values for the option as a vector of integers.

   In case the options table in the database contains variable names which are
   not declared in db_options.in, they are simply ignored. Such values
   are currently used to lock favorite lists.

Old attachment removed to preserve space
 
Status
Not open for further replies.
Top