Commit 7a9e71f8 authored by smorlat's avatar smorlat

fix bug in videoout on windows, introduced by previous changes.



git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@124 3f6dc0c8-ddfe-455d-9043-3cd528dc4637
parent 875c20aa
......@@ -89,6 +89,12 @@ enum _MSFilterCategory{
*/
typedef enum _MSFilterCategory MSFilterCategory;
enum _MSFilterFlags{
MS_FILTER_IS_PUMP = 1
};
typedef enum _MSFilterFlags MSFilterFlags;
struct _MSFilterDesc{
MSFilterId id; /* the id declared in allfilters.h */
const char *name; /* filter name */
......@@ -103,6 +109,7 @@ struct _MSFilterDesc{
MSFilterFunc postprocess; /*called once after processing */
MSFilterFunc uninit;
MSFilterMethod *methods;
unsigned int flags;
};
/**
......
......@@ -3,7 +3,7 @@
[Setup]
AppName=msx264
AppVerName=msx264 version 1.1.5., an H.264 plugin for linphone.
AppVerName=msx264 version 1.1.6., an H.264 plugin for linphone.
AppPublisher=linphone.org
AppPublisherURL=http://www.linphone.org
AppSupportURL=http://www.linphone.org
......
......@@ -184,7 +184,7 @@ static bool_t filter_can_process(MSFilter *f, int tick){
static void call_process(MSFilter *f){
bool_t process_done=FALSE;
if (f->desc->ninputs==0){
if (f->desc->ninputs==0 || f->desc->flags & MS_FILTER_IS_PUMP){
ms_filter_process(f);
}else{
while (ms_filter_inputs_have_data(f)) {
......
......@@ -387,6 +387,7 @@ static void win_display_update(MSDisplay *obj){
HDC hdc;
BITMAPINFOHEADER bi;
RECT rect;
MSG msg;
bool_t ret;
if (wd->window==NULL) return;
hdc=GetDC(wd->window);
......@@ -426,6 +427,11 @@ static void win_display_update(MSDisplay *obj){
if (!ret) ms_error("DrawDibDraw failed.");
ReleaseDC(NULL,hdc);
while (PeekMessage(&msg, wd->window, 0, 0, PM_REMOVE) != 0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
static void win_display_uninit(MSDisplay *obj){
......@@ -814,7 +820,8 @@ MSFilterDesc ms_video_out_desc={
video_out_process,
video_out_postprocess,
video_out_uninit,
methods
methods,
MS_FILTER_IS_PUMP
};
#else
......@@ -831,7 +838,8 @@ MSFilterDesc ms_video_out_desc={
.process=video_out_process,
.postprocess=video_out_postprocess,
.uninit=video_out_uninit,
.methods=methods
.methods=methods,
.flags=MS_FILTER_IS_PUMP
};
#endif
......
......@@ -21,14 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "mediastreamer2/msfilter.h"
#include "mediastreamer2/msvideo.h"
#include "mediastreamer2/msrtp.h"
#if (defined(WIN32) || defined(_WIN32_WCE))
/* avoid double declaration of ms_win_display_desc */
#define MS_VIDEO_OUT_HANDLE_RESIZING MS_FILTER_METHOD_NO_ARG(MS_VIDEO_OUT_ID,1)
#else
#include "mediastreamer2/msvideoout.h"
#endif
#ifdef HAVE_CONFIG_H
#include "mediastreamer-config.h"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment