mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-29 17:29:20 +00:00
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
This commit is contained in:
parent
875c20aa5a
commit
7a9e71f886
5 changed files with 19 additions and 11 deletions
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue