Experimental TsReader development

Discussion in 'General Development (no feature request here!)' started by Owlsroost, November 16, 2011.

  1. Owlsroost
    • Team MediaPortal

    Owlsroost Development Group

    Joined:
    October 28, 2008
    Messages:
    5,537
    Likes Received:
    2,829
    Location:
    Cambridge
    Ratings:
    +4,131 / 1
    Home Country:
    United Kingdom United Kingdom
    Show System Specs
    OK folks - by popular request, this thread is for discussions related to development of the MP1 'TsReader.ax' splitter/source DirectShow filter component (used by MP1 for live and recorded TV playback).

    (To install the new versions, just close MP, unzip the file and copy the new TsReader.ax into the MP program folder e.g. C:\Program Files\Team MediaPortal\MediaPortal)

    Tony

    To download the latest version, please view this post here


     
    • Like Like x 14
  2. Google AdSense Guest Advertisement



    to hide all adverts.
  3. Owlsroost
    • Team MediaPortal

    Owlsroost Development Group

    Joined:
    October 28, 2008
    Messages:
    5,537
    Likes Received:
    2,829
    Location:
    Cambridge
    Ratings:
    +4,131 / 1
    Home Country:
    United Kingdom United Kingdom
    Show System Specs
    A collection of TsReader.ax versions already posted in other threads - to make life easier :)

    EDIT: Standard MP 1.2.2 (v0.4.14) TsReader.ax added. This has the graph rebuilding mod, but does not have any of the other mods the experimental versions have. It's here for convenience in case you've lost the standard MP TsReader.ax file....

    EDIT: Standard MP 1.2.1 (v0.4.12) TsReader.ax added.

    EDIT: Modified MP 1.2.2 (v0.4.14 XXX) TsReader.ax added (with fix for audio graph rebuild problems).

    EDIT: noStopMod42d added from - https://forum.team-mediaportal.com/bugreports-74/mediaportal-hangs-going-between-hd-sd-channels-100978/index5.html#post833169 - Has experimental SD/HD zapping fix and some other mods - not well tested, so may have bugs....
     

    Attached Files:

    • Like Like x 4
  4. Owlsroost
    • Team MediaPortal

    Owlsroost Development Group

    Joined:
    October 28, 2008
    Messages:
    5,537
    Likes Received:
    2,829
    Location:
    Cambridge
    Ratings:
    +4,131 / 1
    Home Country:
    United Kingdom United Kingdom
    Show System Specs

    Attached Files:

  5. Owlsroost
    • Team MediaPortal

    Owlsroost Development Group

    Joined:
    October 28, 2008
    Messages:
    5,537
    Likes Received:
    2,829
    Location:
    Cambridge
    Ratings:
    +4,131 / 1
    Home Country:
    United Kingdom United Kingdom
    Show System Specs
  6. Owlsroost
    • Team MediaPortal

    Owlsroost Development Group

    Joined:
    October 28, 2008
    Messages:
    5,537
    Likes Received:
    2,829
    Location:
    Cambridge
    Ratings:
    +4,131 / 1
    Home Country:
    United Kingdom United Kingdom
    Show System Specs
    The first of the new versions - continuing from the https://forum.team-mediaportal.com/mediaportal-1-2-0-beta-540/live-tv-freeze-15-30-helps-98842/ thread.

    (To install them, just close MP, unzip the file and copy the new TsReader.ax into the MP program folder e.g. C:\Program Files\Team MediaPortal\MediaPortal)

    Quite a few changes since v29 - main one is that the data buffering is handled differently, which allows the audio renderer to buffer more data. This is an experiment to help with the problem here - https://forum.team-mediaportal.com/bugreports-74/stuttering-live-tv-since-1-2-a-101612/ - but can create some stuttering on channel changes, so I'm interested in feedback on this....

    EDIT: The sources are at https://github.com/MediaPortal/MediaPortal-1/tree/EXP-TsReader_noStopMod (a branch in the new MP Git repository)

    EDIT: noStopMod31 release attached for trials - this incorporates mm's patch and mods to try and fix the excessive stuttering that some people have been getting with v30. Feedback please :)

    EDIT: noStopMod32 release attached for trials - this has re-worked file read handling.

    EDIT: noStopMod33 added - this has more initial buffering and less audio decode/renderer buffering, so it should have less stuttering on channel changes.

    EDIT: noStopMod34 added - more buffering changes, and video 'fast sync' timestamp modification logic improved

    EDIT: noStopMod35 added - PAT version change handling mods (very experimental, trying to fix RTSP 'loop on zapping' problem), and FillBuffer() sleep handling changed to try and fix LAV video hang problems.

    EDIT: noStopMod36 added - Should generate less idle time IO read requests, timestamp limit checking modified, and timeGetTime() wraparound handled globally.

    EDIT: noStopMod37 added - fix for RTSP 'Wait for Good PAT' bug (introduced in v35), and some prefetch threshold changes.

    EDIT: noStopMod38 added - more fixes for RTSP zapping PAT change problem.

    EDIT: noStopMod39 added - as v38, but with prefetch thresholds reverted back to v36 settings.

    EDIT: noStopMod41 added - IO read thread added, another fix for RTSP zapping problem, prefetch thresholds adjusted (slightly more aggressive), seek logic mods, small mod to graph rebuild trigger code.

    EDIT: noStopMod43 added - SD/HD zapping fix from https://forum.team-mediaportal.com/...-hd-sd-channels-100978/index5.html#post833169 and a pmt (SetMediaType()) is now added to first sample delivered after OnThreadStartPlay() for video and audio pins. (This version is noStopMod42d with a minor mod/reversion to video sample delivery rate control).

    EDIT: noStopMod44 added - Fix for random 'black screen at start of play' problem introduced in v41, and mods to duration update code to (hopefully) fix the 'live' recording stop problem.

    EDIT: noStopMod45 added - Channel change (zapping) speed improvements, small duration code mods.

    EDIT: noStopMod48 added - Fix for hang/quit after seek bug, experimental workaround for UNC 'file doesn't exist' (SMB2) problem, new debug registry settings (to disable graph rebuild on video frame size change).

    EDIT: noStopMod50 added - Various H.264 header parsing, media sample PMT info, NALU start code detection, sample queue locking, video/audio 'slow motion sync' experiments/mods/fixes.

    EDIT: noStopMod52 removed - possible 'pause' bug.....

    EDIT: noStopMod54 added - Various mods to change start up behaviour and support new version of MP Audio Renderer.

    EDIT: noStopMod55 added - Buffering modified to reduce zapping times and improve compatibility with MP Audio Renderer. Bug fix for radio zapping/graph rebuild problem. Seek logic simplified, and startup is much faster when used in other players. Other internal changes & improvements.

    EDIT: noStopMod57 added - Significant changes to H.264 code to fix problems with some IPTV streams. Changes to buffer under-run logic.

    EDIT: noStopMod59 added - Fixed a memory allocation problem in H264 header parser. Now compatible with MP 1.3.0 DVBSub3 filter. Improved compatibility with other players e.g. PotPlayer (subtitle output pin will not connect to any filter when used outside MP).

    EDIT: noStopMod59b added - Crash with MP 1.3.0 subtitle filter fixed.

    EDIT: noStopMod59c added - Added flush when large negative timestamp delta detected. Compatible with MP 1.2.3 and MP 1.3.0

    EDIT: noStopMod63b added - Several minor bug fixes and updates, plus added a better fallback when Seeking fails due to PCR problems. Compatible with MP 1.2.3 and MP 1.3.0

    EDIT: noStopMod65 added - video FPS is now calculated from stream timestamps (if possible) to improve compatibility with MPAR. Registry key added to allow FFDShow sync workaround to be forced 'on' (to fix an A/V sync problem when Core CC Parser filter is inserted between TsReader.ax and FFDShow video decoder) - HKEY_CURRENT_USER\Software\Team MediaPortal\TsReader, set "ForceFFDShowSyncFix" to '1' to force on (default is '0')

    EDIT: noStopMod66 added - updates to FPS code to sanity check and correct stream timestamp FPS values.

    EDIT: noStopMod68 added -
    • New feature: Registry key added to adjust data buffering time - HKEY_CURRENT_USER\Software\Team MediaPortal\TsReader, set "BufferingDelayInMilliSeconds" to a (decimal) value in milliseconds (range is 0 to 2000, default is 0). Note - this will add delay to live TV channel changes since it needs to build up the buffer before play starts.
    • Fix for crashes when TV Server preview is closed.
    • Logging changed to use async system (same as dshowhelper).
    • Improvements to FPS detection code.
    EDIT: noStopMod69 added -
    • Improvements to FPS detection code.
    • A 'pmt' is now added to video output pin after all channel changes (experiment).
    • For Devs only - new "SubPinConnectAlways" reg value, allows Subtitle filter to connect when used outside of MP.
    EDIT: noStopMod70 added - fix for logging problem when log folder path doesn't exist.

    EDIT: v73_dev added -
    • This version is compatible with MP 1.3.0 and later only (no support for 1.2.3)
    • Several bug fixes (Mantis 4252, 4269, 4270 and 4341)
    • Some experimental changes to try and improve RTSP behaviour - need feedback on this from client/server users - is it better/worse/no change ?
    • Sources for this version are at - https://github.com/MediaPortal/MediaPortal-1/tree/EXP_TsReader_RTSP_dev
    EDIT: v77 added here - https://forum.team-mediaportal.com/...eader-development.102693/page-90#post-1035833 (with fix for NZ Freeview DVB-T problems).

    Tony
     

    Attached Files:

    Last edited: October 26, 2013
    • Like Like x 33
    • Thank You! Thank You! x 1
  7. mylle

    mylle Portal Pro

    Joined:
    April 14, 2005
    Messages:
    574
    Likes Received:
    54
    Location:
    Denmark
    Ratings:
    +68 / 0
    Home Country:
    Denmark Denmark
    Hi Owlsroost,

    Thanks for all your hard work.

    I have stutter on channel change. Sometimes it dissapears again, sometimes not and audio goes out.

    logs attached. (using tourettes blu-ray build)

    Regards
    Mylle
     
  8. mm1352000
    • Team MediaPortal

    mm1352000 Development Group

    Joined:
    September 1, 2008
    Messages:
    21,527
    Likes Received:
    4,738
    Ratings:
    +8,205 / 17
    Home Country:
    New Zealand New Zealand
    tony: I have a patch for this TsReader issue. I wonder if we could join forces and get the fix integrated into your builds? I would rather not start yet another TsReader related thread and obviously the more people that can test fixes, the better... :)
     
  9. Owlsroost
    • Team MediaPortal

    Owlsroost Development Group

    Joined:
    October 28, 2008
    Messages:
    5,537
    Likes Received:
    2,829
    Location:
    Cambridge
    Ratings:
    +4,131 / 1
    Home Country:
    United Kingdom United Kingdom
    Show System Specs
    Yes, good idea - can you post the patch please ?

    Tony
     
  10. mm1352000
    • Team MediaPortal

    mm1352000 Development Group

    Joined:
    September 1, 2008
    Messages:
    21,527
    Likes Received:
    4,738
    Ratings:
    +8,205 / 17
    Home Country:
    New Zealand New Zealand
    Will do as soon as I get home from work.

    mm
     
  11. Owlsroost
    • Team MediaPortal

    Owlsroost Development Group

    Joined:
    October 28, 2008
    Messages:
    5,537
    Likes Received:
    2,829
    Location:
    Cambridge
    Ratings:
    +4,131 / 1
    Home Country:
    United Kingdom United Kingdom
    Show System Specs
    Mmm, I see what you mean - from the logs, it looks like the audio renderer keeps requesting data (so it's buffers never seem to fill up) sometimes.....

    Thanks for the feedback.

    Tony
     
Loading...

Users Viewing Thread (Users: 0, Guests: 0)

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice
  • About The Project

    The vision of the MediaPortal project is to create a free open source media centre application, which supports all advanced media centre functions, and is accessible to all Windows users.

    In reaching this goal we are working every day to make sure our software is one of the best.

             

  • Support MediaPortal!

    The team works very hard to make sure the community is running the best HTPC-software. We give away MediaPortal for free but hosting and software is not for us.

    Care to support our work with a few bucks? We'd really appreciate it!