Open GoogleCodeExporter opened 9 years ago
Okay, a little followup info -- I was finally able to get electricsheep to
render sheep on the screen. I found inspiration in this discussion -->
http://libav-users.943685.n4.nabble.com/Libav-user-got-picture-ptr-of-avcodec-de
code-video2-always-returns-0-for-a-particular-MTS-file-td4360493.html -- where
the advisor points out that the video in question contained "non-displayable"
(?) frames for which avcodec_decode_video2() returned 0 in the flag used to
indicate a valid video frame.
Thus I changed CContentDecoder::ReadOneFrame() method to repeatedly attempt to
get a valid frame (with a maximum of 10 attempts before giving up) and it turns
out that for some sheep, there are as many as 5 frames at the beginning that
have to be skipped before the first usable frame is obtained. However, there
are no other frames in that sheep that have to be skipped this way.
This makes me wonder why this happens -- is it a quirk of the codec used by
electricsheep or something? Also, what is the behavior of electricsheep on
other platforms? After all, this is shared code that should pretty much behave
the same way on all supported platforms. Can anyone say how it works on
Windows/Mac?
At any rate, this wasn't the only problem with electricsheep that prevents its
proper use. It seems that the input processing part is also somewhat broken
because when I run the screensaver via the command line, I cannot terminate it
from its window, even with Ctrl+C; I always have to go to the command line and
press Ctrl+C there. (Maybe the deprecation message mentioned in ticket #13 has
something to do with that.)
Original comment by znovo...@gmail.com
on 9 Nov 2013 at 6:56
Original issue reported on code.google.com by
znovo...@gmail.com
on 8 Nov 2013 at 1:06