• 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 59
Testing audio engine ActiveAE
#46
(2013-08-12, 12:40)ace20022 Wrote: Hi, two things I've noticed:
  1. after seeking backwards a/v sync is lost. Pausing it for a while and press play starts fist audio and than video, then a/v is synced again.
  2. pausing and then stopping does not stop audio immediately (i.e. audio is audible for some ms))

Debug log:http://xbmclogs.com/show.php?id=44555

Thanks.

1)
please apply PR 3095. It hopefully it cures this error which I think is responsible for the a/v desync.
ERROR: CDVDAudio::AddPacketsRenderer - timeout adding data to renderer
With this patch I can't reproduce on Win 7 with WASAPI.

2)
That's a challenge and related to the primary reason why I have started ActiveAE. Some background:
Consider we play some video with 5.1 audio PCM. Now audio changes to stereo which is quite common, i.e. commercial break. dvdplayer called Drain, FreeStream, MakeStream. SoftAE did not drain, neither the sink nor the stream, then destructed the stream and opened a new sink. This lead to loss of some seconds of audio, stuttering of video, and buffering.

ActiveAE drains properly, the new stream starts after the old without any loss of packets.

We need to distinguish between:
- FreeStream and we want to open a new one
- FreeStream after having pressed stop.

This requires an API change

Pause:
Currently our sinks don't provide any method for pausing. Pause it called on the stream. Take into account that paplayer can open more than a single stream, hence all samples already mixed can't be paused.
SoftAE did not stop immediately either, the buffer in the sink played out. SostAE's interface to paplayer is borked anyway.

I am thinking about a solution for this but it's not trivial.
Reply
#47
Unfortunately, PR 3095 does not help.
Reply
#48
(2013-08-12, 13:37)FernetMenta Wrote: 2)
That's a challenge and related to the primary reason why I have started ActiveAE. Some background:
Consider we play some video with 5.1 audio PCM. Now audio changes to stereo which is quite common, i.e. commercial break. dvdplayer called Drain, FreeStream, MakeStream. SoftAE did not drain, neither the sink nor the stream, then destructed the stream and opened a new sink. This lead to loss of some seconds of audio, stuttering of video, and buffering.

Switching between audio tracks in a video with multiple audio tracks still cause several seconds of stuttering. Is that not handled in the same way?
Reply
#49
@sialvi: Logfile or it never happened (as it is working fine for me).
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#50
(2013-08-12, 15:19)fritsch Wrote: @sialvi: Logfile or it never happened (as it is working fine for me).

Didn't expect anyone to respond before I had finished getting and adding a log, but here it is: http://www.xbmclogs.com/show.php?id=44574

The relevant part starts on row 571.

If you want to test with the same sample file I used, I have it linked in the ticket I created about this a couple of months ago: http://trac.xbmc.org/ticket/13322
Reply
#51
(2013-08-12, 14:54)ace20022 Wrote: Unfortunately, PR 3095 does not help.

I have pushed some more commits to 3095. Stop playback should stop audio fster now.
Here is a log from my Win 7 machine doing ff/rw/seeks. a/v sync is ok after seeking and it does not show the add packets error. Can you spot any difference in what I have done to your actions?
http://www.xbmclogs.com/show.php?id=44584
Reply
#52
Stopping playback seems to work now, you was really fast, super!
Just retried the rw bug, sometimes I have to rw (jumping seems to work) multiple times to trigger it, but it always occurred in the end.
Reply
#53
(2013-08-12, 15:13)sialivi Wrote:
(2013-08-12, 13:37)FernetMenta Wrote: 2)
That's a challenge and related to the primary reason why I have started ActiveAE. Some background:
Consider we play some video with 5.1 audio PCM. Now audio changes to stereo which is quite common, i.e. commercial break. dvdplayer called Drain, FreeStream, MakeStream. SoftAE did not drain, neither the sink nor the stream, then destructed the stream and opened a new sink. This lead to loss of some seconds of audio, stuttering of video, and buffering.

Switching between audio tracks in a video with multiple audio tracks still cause several seconds of stuttering. Is that not handled in the same way?

you are observing a problem in dvdplayer:
Code:
{
            CloseAudioStream(false);
            OpenAudioStream(st.id, st.source);
            m_messenger.Put(new CDVDMsgPlayerSeek(GetTime(), true, true, true, true, true));
          }

it completely clears down audio and even does a seek after opening the new stream. i have no idea why this is done that way.
Reply
#54
(2013-08-12, 16:13)ace20022 Wrote: Stopping playback seems to work now, you was really fast, super!
Just retried the rw bug, sometimes I have to rw (jumping seems to work) multiple times to trigger it, but it always occurred in the end.

How much a/v desync do you estimate (in ms)? Could you post a new log with current PR applied?
Reply
#55
It keeps decreasing till -7600ms approximately and then changes back and forth from 0 to -7600ms (fps changes between 16 and 25).
log: http://www.xbmclogs.com/show.php?id=44792
Reply
#56
Can you change your DirtyRegions Method to 3? And the timeout to 0? (It should not influence anything, cause Video is playing - but never the less. You run a ATI card - i don't trust them :-))
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#57
Neither removing the gui block nor your settings helped.
Reply
#58
Oki, that was expected. I have seen a whole lot of things going on, when using experimental DirtyRegions settings (see the wiki). So that one is ruled out.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#59
Btw. do you run windowed?
Quote:CWinSystemWin32::ResizeInternal - resizing due to size change (0,0,824,972)->(420,9,1260,1019)

Same in fullscreen? (I might ask dump questions - cause normally I don't look at windows xbmc logs ;-))
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#60
Wink While developing I'm running it windowed, but the bug also occurs on the htpc. Just re-checked it's the same with fullscreen.
Reply
  • 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 59

Logout Mark Read Team Forum Stats Members Help
Testing audio engine ActiveAE1