123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- #include "Main.h"
- #include "video.h"
- extern "C"
- {
- extern wchar_t vidoutbuf_save[];
- }
- int WINAPI VideoIPCProcedure(int which, WPARAM data, LRESULT *returnValue)
- {
- switch (which)
- {
- case IPC_GETNUMAUDIOTRACKS:
- *returnValue = video_getNumAudioTracks();
- return 1;
- case IPC_GETNUMVIDEOTRACKS:
- *returnValue = video_getNumVideoTracks();
- return 1;
- case IPC_GETAUDIOTRACK:
- *returnValue = video_getCurAudioTrack();
- return 1;
- case IPC_GETVIDEOTRACK:
- *returnValue = video_getCurVideoTrack();
- return 1;
- case IPC_SETAUDIOTRACK:
- *returnValue = video_setCurAudioTrack(data);
- return 1;
- case IPC_SETVIDEOTRACK:
- *returnValue = video_setCurVideoTrack(data);
- return 1;
- case IPC_SETSTOPONVIDEOCLOSE:
- config_video_stopclose = data;
- *returnValue = 0;
- return 1;
- case IPC_GETSTOPONVIDEOCLOSE:
- *returnValue = config_video_stopclose;
- return 1;
- case IPC_GETVIDEORESIZE:
- *returnValue = config_video_updsize;
- return 1;
- case IPC_SETVIDEORESIZE:
- config_video_updsize = data;
- *returnValue = 0;
- return 1;
- case IPC_GETWND:
- if (data == IPC_GETWND_VIDEO)
- {
- *returnValue = (LRESULT)hVideoWindow;
- return 1;
- }
- break;
- case IPC_ISWNDVISIBLE:
- if (data == IPC_GETWND_VIDEO)
- {
- *returnValue = config_video_open;
- return 1;
- }
- break;
- case IPC_ENABLEDISABLE_ALL_WINDOWS:
- EnableWindow(hVideoWindow, data != 0xdeadbeef);
- break;
- case IPC_GETINFO:
- if (data == 3)
- {
- *returnValue = videoGetWidthHeightDWORD();
- return 1;
- }
- if (data == 4)
- {
- *returnValue = (LRESULT) vidoutbuf_save;
- return 1;
- }
- break;
- case IPC_HAS_VIDEO_SUPPORT:
- *returnValue = g_has_video_plugin;
- return 1;
- case IPC_IS_PLAYING_VIDEO:
- *returnValue = video_isVideoPlaying() ? 2 : 0;
- return 1;
- case IPC_IS_FULLSCREEN:
- if (is_fullscreen_video)
- {
- *returnValue = 1;
- return 1;
- }
- break;
- case IPC_GET_IVIDEOOUTPUT:
- *returnValue = (LRESULT)video_getIVideoOutput();
- return 1;
- case IPC_VIDCMD:
- Vid_Cmd((windowCommand*)data);
- break;
- }
- return 0;
- }
|