No video/audio detected (3 Viewers)

JePe

New Member
June 9, 2008
4
0
Home Country
Netherlands Netherlands
Look at the last line, if I evaluate the following source code line
"if (((initialFileSize < minTimeShiftFile) && (fileSize >= minTimeShiftFile)) || (fileSize >= (initialFileSize + minTimeShiftFile)))"
the expression will never be true, since it waits for the .ts file to be increased with 102400 bytes. It will never reach this as there is no input data.

Hence, the function runs into a timeout, returns false and eventually TvResult.NoVideoAudioDetected.

Thats only the symptom, not the reason. The problem is on lower level as you can see that there is no data coming from TsWriter.ax to the TS buffer files.

Based on the log (havent ever checked the CI or card specific code in TsWriter.ax) it looks like the CAM would be present (like you already have noticed). Now this might be actually the issue as TsWriter tries to communicate with the CI (that doesnt even exists!). Based on the log the CI tried to access over 15 seconds and during that time the timeout for NoVideoAudioDetected is triggered.

I agree that this is the symptom and not the reason. I only point out that the fallback code doesn't work in this scenario. I doubt if the CAM issue is the cause of this as then I would expect the same thing to happen on the first tune right? There, it also tries to query the CI several times but decides to continue without it for some reason.

The query for the CI, does that directly route to the BDA driver? I couldn't find the implementation yet, only the interface and where the interface is called. The location of the TsWriter.ax sources is also puzzling, where is it in the SVN build tree?
 

tourettes

Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    I agree that this is the symptom and not the reason. I only point out that the fallback code doesn't work in this scenario. I doubt if the CAM issue is the cause of this as then I would expect the same thing to happen on the first tune right? There, it also tries to query the CI several times but decides to continue without it for some reason.

    Actually the fallback code does work. As you can see from the result the timeout gets triggered and MP shows the no video/audio message. This is all the code should do is to wait until the TS is started on TsWriter side and if that doesnt happen in certain amount of time the fallback code will about the waiting.

    The fallback code could be removed completely as the audio & video PID observing should provide as robust method for detecting the video and audio content (if TsWriter doesnt see audio / video PIDs then TsReader will face the same issue). Currently its only slowing down the cases where starting timeshifting fails.

    The query for the CI, does that directly route to the BDA driver? I couldn't find the implementation yet, only the interface and where the interface is called.

    I think its not BDA driver's but TT SDK code that gets called. Please have a look on the TsWriter.ax source codes (under the directshowfilters folder in SVN).
     

    JePe

    New Member
    June 9, 2008
    4
    0
    Home Country
    Netherlands Netherlands
    I agree that this is the symptom and not the reason. I only point out that the fallback code doesn't work in this scenario. I doubt if the CAM issue is the cause of this as then I would expect the same thing to happen on the first tune right? There, it also tries to query the CI several times but decides to continue without it for some reason.

    Actually the fallback code does work. As you can see from the result the timeout gets triggered and MP shows the no video/audio message. This is all the code should do is to wait until the TS is started on TsWriter side and if that doesnt happen in certain amount of time the fallback code will about the waiting.

    The fallback code could be removed completely as the audio & video PID observing should provide as robust method for detecting the video and audio content (if TsWriter doesnt see audio / video PIDs then TsReader will face the same issue). Currently its only slowing down the cases where starting timeshifting fails.

    The query for the CI, does that directly route to the BDA driver? I couldn't find the implementation yet, only the interface and where the interface is called.

    I think its not BDA driver's but TT SDK code that gets called. Please have a look on the TsWriter.ax source codes (under the directshowfilters folder in SVN).

    Ok, found it and I'll have a look.

    Something that immediatly raises doubts is the TechnoTrend.cpp file.

    m_slotStatus isn't set to a default value (I expect CI_SLOT_UNKNOWN_STATE) in the constructor. Now, it is left upto the compiler to just put something as default, which could be wrong. I think this is a bug. Could the "bdaapiCIGetSlotStatus" call be used somewhere to set the initial status of the CI module, the method is in the API (ttBdaDrvApi.h)?

    The value is only set in CTechnotrend::OnSlotChange and if that doesn't happen the value is undefined.
     

    JePe

    New Member
    June 9, 2008
    4
    0
    Home Country
    Netherlands Netherlands
    SVN build 19510 solved this problem, although channel switching is somewhat slow. Nevertheless, at least it works.
     

    Psirus

    Portal Member
    October 1, 2006
    33
    0
    126
    btw ...in my TV Server folder was no timeshiftbuffer-folder created so the server can't shift -> create folder FIXED
     

    seco

    Retired Team Member
  • Premium Supporter
  • August 7, 2007
    1,575
    1,239
    Home Country
    Finland Finland
    I ran to this problem again.

    Buffer file settings in TV-Server: min files 6, max files 20, max size 764MB

    If you see the attached tv.log, I was recording one channel and jumping between other channels (within the same mux because I only have one tuner) between 23.00 and 00.00 until I got "No audio/video detected" error message. There was over 10 buffer files on the disk with max size 764MB (didn't get exact count) and the partition ran out of space. My timeshift files are created to D:\ directly.

    Why does the deletion of the files fail? Why isn't there an error message if deletion fails?

    I'm running single-seat.


    TV-Server Version: 1.0 RC1 SVN 19574
    MediaPortal Version: 1.0 RC1 SVN 19574
    MediaPortal Skin: BlueTwo Wide
    Windows Version: Windows XP SP3
    CPU Type: Intel E8200 2.66GHz
    HDD: Seagate IV 40GB
    Memory: Corsair 2GB 800MHz
    Motherboard: Asus P5E-VM HDMI
    Video Card: Intel X3500 IGP HDMI
    Video Card Driver:
    Sound Card: Realtek HD Integrated
    Sound Card AC3: AC3Filter
    Sound Card Driver:
    1. TV Card: FireDTV DVB-C
    1. TV Card Type:
    1. TV Card Driver:
    2. TV Card:
    2. TV Card Type:
    2. TV Card Driver:
    3. TV Card:
    3. TV Card Type:
    3. TV Card Driver:
    4. TV Card:
    4. TV Card Type:
    4. TV Card Driver:
    MPEG2 Video Codec: nVidia Purevideo
    MPEG2 Audio Codec: AC3Filter
    h.264 Video Codec: CoreAVC 1.7
    Satelite/CableTV Provider:
    HTPC Case: Antec Fusion 2
    Cooling: Stock
    Power Supply: Antec 430W
    Remote: Logitech diNovo Mini / FireDTV Remote
    TV: Toshiba 46ZF355
    TV - HTPC Connection: HDMI
     

    Users who are viewing this thread

    Top Bottom