Graphic bug with the Video window of a skin

About usage, announcement and development of skins for VLC
xan2622
Blank Cone
Blank Cone
Posts: 22
Joined: 25 Nov 2009 11:11

Graphic bug with the Video window of a skin

Postby xan2622 » 07 Dec 2009 07:58

Hello.

I notice a graphic bug when I open a video file. It happens with the Video window borders..
Here is a screenshot :

http://img707.imageshack.us/img707/7583 ... tre1gl.png

Here is the skin (still in progress) : viewtopic.php?f=15&t=15831&p=228851#p228851

erwan10
Developer
Developer
Posts: 415
Joined: 02 Nov 2008 23:16

Re: Graphic bug with the Video window of a skin

Postby erwan10 » 07 Dec 2009 13:15

I experienced this very problem on Linux with some ffmpeg svn version a while ago. It seems the libswscale library that scales bitmaps to fit a given window frame fails to do the job. If so, 'vlc --verbose 2' should be helpful

But, whether on Linux (latest git for vlc and svn for ffmpeg) or on Windows (official vlc1.0.3), this problem doesn't show up any more.

Please, can you describe your config (OS, version, ..) and check logs with verbosity = 2 ?

Erwan10

xan2622
Blank Cone
Blank Cone
Posts: 22
Joined: 25 Nov 2009 11:11

Re: Graphic bug with the Video window of a skin

Postby xan2622 » 07 Dec 2009 18:51

My computer :
AMD Phenom II x4 965 (3.40 Ghz)
6 Gb of DDR3
ATI Radeon 4890 1 Gb
Windows 7 64 bits
VLC 1.0.3 (official)
and it happens too with VLC-1.0.4-rc-20091206-0202

Here is the log (verbose = 2) :

Code: Select all

main debug: adding item `Coeur de pirate feat Julien Doré - Pour un infidèle.flv' ( D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv ) main debug: rebuilding array of current - root Liste de lecture main debug: rebuild done - 1 items, index -1 main debug: processing request item Coeur de pirate feat Julien Doré - Pour un infidèle.flv node null skip 0 main debug: resyncing on Coeur de pirate feat Julien Doré - Pour un infidèle.flv main debug: Coeur de pirate feat Julien Doré - Pour un infidèle.flv is at 0 main debug: starting new item main debug: creating new input thread main debug: Creating an input for 'Coeur de pirate feat Julien Doré - Pour un infidèle.flv' qt4 debug: Adding a new MRL to recent ones: D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv main debug: thread (input) created at priority 1 (../.././src/input/input.c:230) main debug: thread started main debug: using timeshift granularity of 50 MBytes main debug: using timeshift path 'C:\Users\user01\AppData\Local\Temp' main debug: `D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv' gives access `' demux `' path `D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv' main debug: creating demux: access='' demux='' path='D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv' main debug: looking for access_demux module: 3 candidates qt4 debug: IM: Setting an input qt4 debug: IM: Deleting the input qt4 debug: IM: Setting an input skins2 warning: cannot find node with id -1 dvdnav warning: cannot open dvdnav main debug: TIMER module_need() : 72.000 ms - Total 72.000 ms / 1 intvls (Avg 72.000 ms) main debug: creating access '' path='D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv' main debug: looking for access module: 5 candidates vcd debug: trying .cue file: D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Dor� - Pour un infid�le.cue vcd debug: could not find .cue file access_file debug: opening file `D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv' main debug: using access module "access_file" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: Using AStream*Stream main debug: pre buffering main debug: received first data after 0 ms main debug: pre-buffering done 1024 bytes in 0s - 1000000 kbytes/s main debug: looking for stream_filter module: 2 candidates main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: looking for stream_filter module: 1 candidate main debug: using stream_filter module "stream_filter_record" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: creating demux: access='' demux='' path='D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv' main debug: looking for demux module: 50 candidates lua debug: Trying Lua scripts in C:\Users\user01\AppData\Roaming\vlc\lua\playlist lua debug: Trying Lua scripts in C:\Program Files (x86)\vlc-1.0.3\\lua\playlist lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\anevia_streams.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\appletrailers.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\bbc_co_uk.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\break.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\canalplus.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\cue.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\dailymotion.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\france2.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\googlevideo.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\joox.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\koreus.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\lelombrik.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\megavideo.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\metacafe.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\mpora.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\vimeo.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\youtube.lua lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\youtube_homepage.lua lua debug: Trying Lua scripts in C:\Program Files (x86)\vlc-1.0.3\\share\lua\playlist avformat debug: detected format: flv main debug: selecting program id=0 avformat debug: adding es: video codec = h264 avformat debug: adding es: audio codec = mp4a avformat debug: AVFormat supported stream avformat debug: - format = flv (FLV format) avformat debug: - start time = 0 avformat debug: - duration = 162563000 main debug: using demux module "avformat" main debug: TIMER module_need() : 1105.000 ms - Total 1105.000 ms / 1 intvls (Avg 1105.000 ms) main debug: looking for a subtitle file in D:\backup\gravure_wip\clips\ main debug: looking for decoder module: 36 candidates avcodec debug: libavcodec initialized (interface 0x341e02) avcodec debug: ffmpeg codec (H264 - MPEG-4 AVC (part 10)) started main debug: using decoder module "avcodec" main debug: TIMER module_need() : 650.000 ms - Total 650.000 ms / 1 intvls (Avg 650.000 ms) main debug: thread (decoder) created at priority 0 (../.././src/input/decoder.c:315) main debug: thread started main debug: looking for decoder module: 36 candidates main debug: using decoder module "faad" main debug: TIMER module_need() : 3.000 ms - Total 3.000 ms / 1 intvls (Avg 3.000 ms) main debug: thread (decoder) created at priority 2 (../.././src/input/decoder.c:315) main debug: thread started main debug: looking for meta reader module: 1 candidate main debug: TIMER module_need() : 75.000 ms - Total 75.000 ms / 1 intvls (Avg 75.000 ms) main debug: `D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv' successfully opened main debug: Buffering 0% main debug: Buffering 7% main debug: Buffering 15% main debug: Buffering 23% main debug: Buffering 31% main debug: Buffering 38% main debug: Buffering 46% main debug: Buffering 54% main debug: Buffering 62% main debug: Buffering 69% main debug: Buffering 77% main debug: Buffering 85% main debug: Buffering 93% main debug: Stream buffering done (302 ms in 0 ms) faad warning: decoded zero sample main debug: creating aout main debug: no usable vout present, spawning one main debug: looking for text renderer module: 2 candidates main debug: looking for audio output module: 3 candidates aout_directx debug: OpenAudio main debug: thread (fontlist builder) created at priority 0 (../../.././modules/misc/freetype.c:475) freetype debug: using fontsize: 2 main debug: using text renderer module "freetype" main debug: TIMER module_need() : 90.000 ms - Total 90.000 ms / 1 intvls (Avg 90.000 ms) main debug: looking for video filter2 module: 20 candidates main debug: thread started freetype debug: Building font database... freetype debug: Finished building font database. freetype debug: Took 0 microseconds main debug: thread ended swscale debug: 32x32 chroma: YUVA -> 16x16 chroma: YUVA with scaling using Bicubic (good quality) main debug: using video filter2 module "swscale" main debug: TIMER module_need() : 105.000 ms - Total 105.000 ms / 1 intvls (Avg 105.000 ms) main debug: looking for video filter2 module: 20 candidates aout_directx debug: found device: P�riph�rique audio principal aout_directx debug: found device: Haut-parleurs (Realtek High Definition Audio) aout_directx debug: found device: Realtek Digital Output (Realtek High Definition Audio) yuvp debug: YUVP to YUVA converter main debug: using video filter2 module "yuvp" main debug: TIMER module_need() : 127.000 ms - Total 127.000 ms / 1 intvls (Avg 127.000 ms) main debug: window size: 480x360 main debug: looking for video output module: 7 candidates aout_directx debug: device supports 2 channels (DEFAULT!) aout_directx debug: device supports 1 channel aout_directx debug: Windows says your SpeakerConfig is stereo aout_directx debug: creating DirectSoundThread main debug: thread (DirectSound Notification Thread) created at priority 15 (../../.././modules/audio_output/directx.c:427) main debug: using audio output module "aout_directx" main debug: TIMER module_need() : 398.000 ms - Total 398.000 ms / 1 intvls (Avg 398.000 ms) main debug: thread started main debug: output 's16l' 44100 Hz Stereo frame=1 samples/4 bytes aout_directx debug: DirectSoundThread ready main debug: mixer 'fl32' 44100 Hz Stereo frame=1 samples/8 bytes main debug: filter(s) 'fl32'->'s16l' 44100 Hz->44100 Hz Stereo->Stereo main debug: looking for audio filter module: 24 candidates main debug: using audio filter module "converter_float" main debug: TIMER module_need() : 482.000 ms - Total 482.000 ms / 1 intvls (Avg 482.000 ms) main debug: found a filter for the whole conversion main debug: looking for audio mixer module: 3 candidates main debug: using audio mixer module "float32_mixer" main debug: TIMER module_need() : 8.000 ms - Total 8.000 ms / 1 intvls (Avg 8.000 ms) main debug: input 'fl32' 44100 Hz Stereo frame=1 samples/8 bytes main debug: looking for audio filter module: 1 candidate scaletempo debug: format: 44100 rate, 2 nch, 4 bps, fl32 scaletempo debug: params: 30 stride, 0.200 overlap, 14 search scaletempo debug: 1.000 scale, 1323.000 stride_in, 1323 stride_out, 1059 standing, 264 overlap, 617 search, 2204 queue, fl32 mode main debug: using audio filter module "scaletempo" main debug: TIMER module_need() : 10.000 ms - Total 10.000 ms / 1 intvls (Avg 10.000 ms) main debug: looking for audio filter module: 1 candidate equalizer debug: equalizer loaded for 44100 Hz with 10 bands 1 pass equalizer debug: 60 Hz -> factor:0.000000 alpha:0.003013 beta:0.993973 gamma:1.993901 equalizer debug: 170 Hz -> factor:0.000000 alpha:0.008490 beta:0.983019 gamma:1.982437 equalizer debug: 310 Hz -> factor:-0.201812 alpha:0.015374 beta:0.969252 gamma:1.967331 equalizer debug: 600 Hz -> factor:-0.088586 alpha:0.029328 beta:0.941343 gamma:1.934254 equalizer debug: 1000 Hz -> factor:0.000000 alpha:0.047918 beta:0.904163 gamma:1.884869 equalizer debug: 3000 Hz -> factor:0.647305 alpha:0.130408 beta:0.739184 gamma:1.582718 equalizer debug: 6000 Hz -> factor:1.002968 alpha:0.226555 beta:0.546889 gamma:1.015267 equalizer debug: 12000 Hz -> factor:-0.134405 alpha:0.344937 beta:0.310127 gamma:-0.181410 equalizer debug: 14000 Hz -> factor:0.000000 alpha:0.366438 beta:0.267123 gamma:-0.521151 equalizer debug: 16000 Hz -> factor:0.392599 alpha:0.379009 beta:0.241981 gamma:-0.808451 main debug: using audio filter module "equalizer" main debug: TIMER module_need() : 18.000 ms - Total 18.000 ms / 1 intvls (Avg 18.000 ms) main debug: filter(s) 'fl32'->'fl32' 48510 Hz->44100 Hz Stereo->Stereo main debug: looking for audio filter module: 24 candidates main debug: using audio filter module "bandlimited_resampler" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: found a filter for the whole conversion main debug: End of audio preroll[/size] direct3d debug: creating Vout EventThread main debug: thread (Vout Events Thread) created at priority 0 (../../../.././modules/video_output/msw/direct3d.c:218) main debug: thread started direct3d debug: DirectXCreateWindow main debug: looking for hwnd module: 3 candidates skins2 error: AlphaBlend() failed skins2 error: AlphaBlend() failed skins2 error: AlphaBlend() failed skins2 debug: New incoming vout=0x0x572471c, handle=0x0x205e8, VideoCtrl=0x0x26933b8 main debug: using hwnd module "skins2" main debug: TIMER module_need() : 25.000 ms - Total 25.000 ms / 1 intvls (Avg 25.000 ms) direct3d debug: created video sub-window direct3d debug: Vout EventThread running direct3d debug: disabling screen saver main debug: using video output module "direct3d" main debug: TIMER module_need() : 697.000 ms - Total 697.000 ms / 1 intvls (Avg 697.000 ms) main debug: Deinterlacing available direct3d debug: Direct3D device adapter successfully initialized direct3d debug: selected surface pixel format is YUY2 direct3d debug: 1 Direct3D pictures created successfully direct3d debug: Direct3D scene created successfully main debug: got 1 direct buffer(s) main debug: pic render sz 480x360, of (0,0), vsz 480x360, 4cc I420, ar 4:3, sar 1:1, msk r0x0 g0x0 b0x0 main debug: pic in sz 480x360, of (0,0), vsz 480x360, 4cc I420, ar 4:3, sar 1:1, msk r0x0 g0x0 b0x0 main debug: pic out sz 480x360, of (0,0), vsz 480x360, 4cc YUY2, ar 4:3, sar 1:1, msk r0x0 g0x0 b0x0 main debug: looking for video filter2 module: 20 candidates main debug: using video filter2 module "i420_yuy2_sse2" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: indirect render, mapping render pictures 0-15 to system pictures 1-16 skins2 debug: control query not supported main debug: End of video preroll main debug: Received first picture freetype debug: using fontsize: 22 main debug: Decoder buffering done in 1217 ms main warning: PTS is out of range (-33000), dropping buffer main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> YUY2 main debug: using video blending module "blend" main debug: TIMER module_need() : 25.000 ms - Total 25.000 ms / 1 intvls (Avg 25.000 ms) main debug: Post-processing available main warning: late picture skipped (26000 > -24257) main warning: late picture skipped (-14000 > -24257) main warning: output date isn't PTS date, requesting resampling (66000) main warning: buffer is 66618 late, triggering upsampling
Last edited by 3breadt on 09 Dec 2009 20:59, edited 1 time in total.
Reason: change log from a quote to a code so that it takes less space.

erwan10
Developer
Developer
Posts: 415
Joined: 02 Nov 2008 23:16

Re: Graphic bug with the Video window of a skin

Postby erwan10 » 07 Dec 2009 22:20

Thanks for your inputs.

I'm afraid you just discovered a bug related to your Windows7 being a 64 bit OS.

The problem is the following :
skins2 error: AlphaBlend() failed
skins2 error: AlphaBlend() failed
skins2 error: AlphaBlend() failed
in the source code, a 'msimg32.dll' dll is explicitly loaded. chances are this code is not portable in 64 bits.
More generally, skins2 refers to several 32 bit dll (msimg32.dll, user32.dll).

We need to find a 64 bit expert ..... Maybe, jb ?

Erwan10

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37519
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: Graphic bug with the Video window of a skin

Postby Jean-Baptiste Kempf » 07 Dec 2009 22:47

That shouldn't be a problem since we don't see
msg_Dbg( getIntf(), "couldn't find AlphaBlend()" );
nor
msg_Dbg( getIntf(), "couldn't find TransparentBlt(), falling back to BitBlt()" );

That is weird indeed.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

erwan10
Developer
Developer
Posts: 415
Joined: 02 Nov 2008 23:16

Re: Graphic bug with the Video window of a skin

Postby erwan10 » 08 Dec 2009 00:06

Actually, AlphaBlend is found, but a call to this function returns false.

Code: Select all

if( AlphaBlend && !AlphaBlend( m_hDC, xDest, yDest, width, height, hDC, 0, 0, width, height, bf ) ) { msg_Err( getIntf(), "AlphaBlend() failed" ); }
MSDN (http://msdn.microsoft.com/fr-fr/library ... 85%29.aspx) only states an invalid parameter as a possible problem.

The same code (same skins, same vlc version) on WinXP works fine.
Maybe, it is not 64 bits but just Windows7 being more stringent on some parameters.
It could be interesting to give a try on Vista or Windows7 32 bits to see if the problem exists.

Erwan10.

3breadt
Big Cone-huna
Big Cone-huna
Posts: 827
Joined: 19 Mar 2006 11:37
Operating System: Win7 Pro / OS X 10.7
Location: Paderborn, Germany
Contact:

Re: Graphic bug with the Video window of a skin

Postby 3breadt » 08 Dec 2009 08:28

I could reproduce that bug on Windows 7 32-bit, using the Navaga WIP skin.

But interestingly once I hid the video window and made it appear again, without pausing the playback, the window appeared normal again.

Config:

Dell Latitude 2100
CPU: Intel Atom N270 1.66 GHz
RAM: 1 GB
GPU: Intel 945 Express
GPU-RAM: 251 MB
DirectX 9.0+
-- 3breadt (aka altglass)

erwan10
Developer
Developer
Posts: 415
Joined: 02 Nov 2008 23:16

Re: Graphic bug with the Video window of a skin

Postby erwan10 » 08 Dec 2009 10:47

Thanks aLtgLasS , that's interesting.

I've got some more questions if somebody can test them (I've got no Windows7 at hand)

- Is it only the video window that shows the problem ? What about the playlist windows ?
- Does other skins also show this problem or just Navaga ?
- is it only those bitmaps that need to be scaled (as part of a resize process) that show the problem ?

fyi, Navaga uses the animated bitmap feature a lot, and hence AlphaBlend keeps on being called. And it seems to fail __only__ on some bitmaps that need to be scaled ...

Erwan10

3breadt
Big Cone-huna
Big Cone-huna
Posts: 827
Joined: 19 Mar 2006 11:37
Operating System: Win7 Pro / OS X 10.7
Location: Paderborn, Germany
Contact:

Re: Graphic bug with the Video window of a skin

Postby 3breadt » 09 Dec 2009 10:08

It's just the video window with that problem. It are just the images that are resized. It occurs only after the video window has automatically been resized to fit the video. Immediately after you resize the window yourself the bug goes away. Also if you hide/show the window the bug goes away. So a simple redraw of the window after auto resizing might do the job.

EDIT: It is NOT only the resizable images that are affected, I just had it that also the video was affected and also static images in the upper and lower right corners. Part of the video and the window were totally gone, not just stripes.

The bug does not occur when switching from one video to another and the window is auto resized. Then the window stays intact.

I could not reproduce that behaviour in the default skin.
-- 3breadt (aka altglass)

erwan10
Developer
Developer
Posts: 415
Joined: 02 Nov 2008 23:16

Re: Graphic bug with the Video window of a skin

Postby erwan10 » 09 Dec 2009 12:42

Weird, indeed. And not easy to figure out, as neither WinXP or wine(Linux) have this problem.

@xanax : do you still have the navaga skins you sent me (the one with the nbFrames syntax error). I am curious to know if this skins (where animated bitmaps were in fact disabled) also shows the problem.

By design, the inner part of the video is managed by one thread (vout thread) and the other windows are managed by a second thread (skins thread). I fear there might be a race condition at the OS level(a Windows7 bug ?). When animated bitmaps are used, the skins thread keeps on calling AlphaBlend. And the vout thread tries to reparent the video window on top of an area managed by the skins thread. ...

Also, maybe a test on Vista could be interesting to know if this problem is only related to the new Windows7 or older

Erwan10

xan2622
Blank Cone
Blank Cone
Posts: 22
Joined: 25 Nov 2009 11:11

Re: Graphic bug with the Video window of a skin

Postby xan2622 » 09 Dec 2009 17:14

Here is the latest version of the skin :
viewtopic.php?f=15&t=15831&p=228851#p228851

erwan10
Developer
Developer
Posts: 415
Joined: 02 Nov 2008 23:16

Re: Graphic bug with the Video window of a skin

Postby erwan10 » 01 Mar 2010 23:33

Hi,

Found in skins something that might cause the bug described in this thread. A patch has been committed today in vlc1.1. Feedbacks welcome with a nightly build that should be available as soon as tomorrow (vlc1.1 only)

Regards
Erwan10

Spyme
Blank Cone
Blank Cone
Posts: 60
Joined: 13 Jan 2009 16:59
VLC version: 1.1.7 Win32 / 1.2.0
Operating System: Win7 64

Re: Graphic bug with the Video window of a skin

Postby Spyme » 02 Mar 2010 01:40

While i´m currently in skin developing state too, i can confirm both errors (Alpha on Win7 x64 and the scaling issue). Especially the scaling issue isn´t restricted to unix, i get the same "rescaling" issues on my Win7 x64. This issue is gone, if you hover over a button element. Scaling issue appears most time on down(re)scaling a skin (e.g: if you openend a dvd and use the fullscreen while switiching back).
Try the Advantage.VLC:Sky Skin.

xan2622
Blank Cone
Blank Cone
Posts: 22
Joined: 25 Nov 2009 11:11

Re: Graphic bug with the Video window of a skin

Postby xan2622 » 04 May 2010 08:52

It seems this bug is gone in recent nightly builds.


Return to “Skins”

Who is online

Users browsing this forum: No registered users and 5 guests

cron