Softdevice-logs getting flodded

Message ID 200511142203.13880.stefan@lucke.in-berlin.de
State New
Headers

Commit Message

Stefan Lucke Nov. 14, 2005, 9:03 p.m. UTC
  On Montag, 14. November 2005 21:24, Dave wrote:
> Here is some more:
> 

> Nov 14 15:26:13 vdr vdr[7109]: [VideoOut]: aspect changed (0 -> 0 ; 
> 3ff5dddddddddddd -> 3ff5555555555555)
> Nov 14 15:26:13 vdr vdr[7109]: [VideoOut]: 544x480 [0,0 544x480] -> 
> 800x600 [0,0 800x600]
> Nov 14 15:26:13 vdr vdr[7109]: [VideoOut]: aspect changed (0 -> 0 ; 
> 3ff5555555555555 -> 3ff5555555555555)

That should be identical values.  Please try this inline patch.
  

Comments

Dave Nov. 14, 2005, 10:22 p.m. UTC | #1
That seemed to do it!  not only are the logs no longer getting flooded, 
but now the picture is even straight and perfect on the screen, before 
on the left edge there was a gap missing on the left side (blank space), 
that is gone now! 

I see some "xrun" things in the logs, but have no idea what they are.

were you able to reproduce the problem with the test stream at your end?

thanks!

Stefan Lucke wrote:

>On Montag, 14. November 2005 21:24, Dave wrote:
>  
>
>>Here is some more:
>>
>>    
>>
>
>  
>
>>Nov 14 15:26:13 vdr vdr[7109]: [VideoOut]: aspect changed (0 -> 0 ; 
>>3ff5dddddddddddd -> 3ff5555555555555)
>>Nov 14 15:26:13 vdr vdr[7109]: [VideoOut]: 544x480 [0,0 544x480] -> 
>>800x600 [0,0 800x600]
>>Nov 14 15:26:13 vdr vdr[7109]: [VideoOut]: aspect changed (0 -> 0 ; 
>>3ff5555555555555 -> 3ff5555555555555)
>>    
>>
>
>That should be identical values.  Please try this inline patch.
>
>Index: video.c
>===================================================================
>RCS file: /cvsroot/softdevice/softdevice/video.c,v
>retrieving revision 1.36
>diff -U3 -r1.36 video.c
>--- video.c     27 Oct 2005 05:30:52 -0000      1.36
>+++ video.c     14 Nov 2005 20:56:35 -0000
>@@ -319,7 +319,7 @@
> void cVideoOut::CheckAspectDimensions(AVFrame *picture,
>                                         AVCodecContext *context)
> {
>-    double new_asp;
>+    volatile double new_asp;
>
>   /* --------------------------------------------------------------------------
>    * check and handle changes of dimensions first
>
>  
>
  
Stefan Lucke Nov. 15, 2005, 6:19 a.m. UTC | #2
On Montag, 14. November 2005 23:22, Dave wrote:
> That seemed to do it!  not only are the logs no longer getting flooded, 
> but now the picture is even straight and perfect on the screen, before 
> on the left edge there was a gap missing on the left side (blank space), 
> that is gone now! 
> 
> I see some "xrun" things in the logs, but have no idea what they are.

They are printed when we have nto enough audio data. Sound card
plays a bit too fast or transmission sampled a bit to slow.

> 
> were you able to reproduce the problem with the test stream at your end?

No, that was not reproducable for me. But I re-read my own comment in
that section. So there maybe some situations where compiler generated
code uses a higher presicion than double for a previous calculated value.
I changed the variable definition a short time ago from static volatile float
to local / member double and did not see a difference as I'm still using
the same gcc 3.3.1 mentioned in that comment. I've to redo the
volatile way.
Done, fix is in cvs.


Stefan Lucke
  

Patch

Index: video.c
===================================================================
RCS file: /cvsroot/softdevice/softdevice/video.c,v
retrieving revision 1.36
diff -U3 -r1.36 video.c
--- video.c     27 Oct 2005 05:30:52 -0000      1.36
+++ video.c     14 Nov 2005 20:56:35 -0000
@@ -319,7 +319,7 @@ 
 void cVideoOut::CheckAspectDimensions(AVFrame *picture,
                                         AVCodecContext *context)
 {
-    double new_asp;
+    volatile double new_asp;

   /* --------------------------------------------------------------------------
    * check and handle changes of dimensions first