Changeset 413:9fae78545b7e in mediastreamer2


Ignore:
Timestamp:
Apr 14, 2009 5:07:35 PM (4 years ago)
Author:
smorlat <smorlat@…>
Branch:
default
Message:

ready for 3.1.1, fix a severe bug in directshow capture plugin

git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@416 3f6dc0c8-ddfe-455d-9043-3cd528dc4637

Location:
linphone
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • linphone/coreapi/private.h

    r371 r413  
    3434 
    3535#ifndef LINPHONE_VERSION 
    36 #define LINPHONE_VERSION "3.0.0" 
     36#define LINPHONE_VERSION "3.1.1" 
    3737#endif 
    3838 
  • linphone/gtk-glade/linphone.h

    r399 r413  
    2424 
    2525#ifndef LINPHONE_VERSION 
    26 #define LINPHONE_VERSION "3.1.0-20090402" 
     26#define LINPHONE_VERSION "3.1.1" 
    2727#endif 
    2828 
  • linphone/gtk-glade/linphone.iss

    r389 r413  
    44[Setup] 
    55AppName=Linphone 
    6 AppVerName=Linphone version 3.1.0 
     6AppVerName=Linphone version 3.1.1 
    77AppPublisher=linphone.org 
    88AppPublisherURL=http://www.linphone.org 
  • linphone/gtk-glade/main.c

    r398 r413  
    909909                return 0; 
    910910        } 
     911#ifdef WIN32 
     912        /*workaround for windows: sometimes LANG is defined to an integer value, not understood by gtk */ 
     913        if ((lang=getenv("LANG"))!=NULL){ 
     914                if (atoi(lang)!=0){ 
     915                        char tmp[128]; 
     916                        snprintf(tmp,sizeof(tmp),"LANG=",lang); 
     917                        _putenv(tmp); 
     918                } 
     919        } 
     920#endif 
    911921         
    912922        if ((lang=linphone_gtk_get_lang(config_file))!=NULL && lang[0]!='\0'){ 
  • linphone/mediastreamer2/build/win32native/mediastreamer2.dev

    r389 r413  
    620620Priority=1000 
    621621OverrideBuildCmd=0 
    622 BuildCmd=       $(CPP) -c winvideods.c -o "Default Profile/winvideods.o" $(CXXFLAGS) 
     622BuildCmd=$(CPP) -c winvideods.c -o "Default Profile/winvideods.o" $(CXXFLAGS) 
     623 
     624[Unit58] 
     625FileName=..\..\src\void.c 
     626CompileCpp=0 
     627Folder=mediastreamer2 
     628Compile=1 
     629Link=1 
     630Priority=1000 
     631OverrideBuildCmd=0 
     632BuildCmd=       $(CC) -c void.c -o "Default Profile/void.o" $(CFLAGS) 
    623633 
    624634[Unit57] 
    625 FileName=..\..\src\mingw-dshow.h 
    626 CompileCpp=1 
    627 Folder= 
    628 Compile=1 
    629 Link=1 
    630 Priority=1000 
    631 OverrideBuildCmd=0 
    632 BuildCmd= 
    633  
     635FileName=..\..\src\void.c 
     636CompileCpp=0 
     637Folder=mediastreamer2 
     638Compile=1 
     639Link=1 
     640Priority=1000 
     641OverrideBuildCmd=0 
     642BuildCmd=       $(CC) -c void.c -o "Default Profile/void.o" $(CFLAGS) 
     643 
  • linphone/mediastreamer2/plugins/msdscap/libmsdscap.dev

    r388 r413  
    7878ResourceIncludes= 
    7979MakeIncludes= 
    80 Compiler=-DBUILDING_DLL=1_@@_-DORTP_INET6_@@_ 
    81 CppCompiler=-DBUILDING_DLL=1_@@_ 
     80Compiler=_@@_ 
     81CppCompiler=-DBUILDING_DLL=1_@@_-DORTP_INET6_@@_-ggdb -02_@@_-Wall_@@_ 
    8282Linker=--no-export-all-symbols_@@_--add-stdcall-alias_@@_-lole32_@@_-loleaut32_@@_-lwinmm_@@_-luuid_@@_-lmediastreamer2_@@_-lortp_@@_ 
    8383PreprocDefines= 
  • linphone/mediastreamer2/plugins/msdscap/mdscap.cc

    r399 r413  
    503503                _pixfmt=MS_YUV420P; 
    504504                _ready=false; 
     505                m_refCount=1; 
    505506        } 
    506507        virtual ~DSCapture(){ 
     
    553554        int _frame_count; 
    554555        MSPixFmt _pixfmt; 
     556        ComPtr< IGraphBuilder > _graphBuilder; 
    555557        ComPtr< IBaseFilter > _source; 
    556558        ComPtr< IBaseFilter > _nullRenderer; 
     
    747749    enumMoniker->Reset(); 
    748750 
    749     int index = 0; 
    750751    ULONG fetched = 0; 
    751         ComPtr< IGraphBuilder > graphBuilder; 
    752         graphBuilder.coCreateInstance( CLSID_FilterGraph, IID_IGraphBuilder, 
     752        _graphBuilder.coCreateInstance( CLSID_FilterGraph, IID_IGraphBuilder, 
    753753                                   "Could not create graph builder " 
    754754                                   "interface" ); 
     
    768768        moniker.reset(); 
    769769    enumMoniker.reset(); 
    770     if (graphBuilder->AddFilter( _source.get(), L"Source" )!=S_OK){ 
     770    if (_graphBuilder->AddFilter( _source.get(), L"Source" )!=S_OK){ 
    771771        ms_error("Error adding camera source to filter graph" ); 
    772772        return -1; 
     
    799799        return -1; 
    800800        } 
    801     if (graphBuilder->AddFilter( _grabberBase.get(), L"Grabber" )!=S_OK){ 
     801    if (_graphBuilder->AddFilter( _grabberBase.get(), L"Grabber" )!=S_OK){ 
    802802                ms_error("Error adding sample grabber to filter graph"); 
    803803                return -1; 
     
    837837                return -1; 
    838838        } 
    839         if (graphBuilder->AddFilter( _nullRenderer.get(), L"Sink" )!=S_OK){ 
     839        if (_graphBuilder->AddFilter( _nullRenderer.get(), L"Sink" )!=S_OK){ 
    840840        ms_error("Error adding null renderer to filter graph" ); 
    841841        return -1; 
    842842        } 
    843843    ComPtr< IPin > nullIn = getPin( _nullRenderer.get(), PINDIR_INPUT, 0 ); 
    844         if (graphBuilder->Connect( sourceOut.get(), grabberIn.get() )!=S_OK){ 
     844        if (_graphBuilder->Connect( sourceOut.get(), grabberIn.get() )!=S_OK){ 
    845845        ms_error("Error connecting source to sample grabber" ); 
    846846        return -1; 
    847847        } 
    848     if (graphBuilder->Connect( grabberOut.get(), nullIn.get() )!=S_OK){ 
     848    if (_graphBuilder->Connect( grabberOut.get(), nullIn.get() )!=S_OK){ 
    849849        ms_error("Error connecting sample grabber to sink" ); 
    850850        return -1; 
     
    852852    ms_message("Directshow graph is now ready to run."); 
    853853 
    854     if (graphBuilder->QueryInterface( IID_IMediaControl, 
     854    if (_graphBuilder->QueryInterface( IID_IMediaControl, 
    855855                                                (void **)&_mediaControl )!=S_OK){ 
    856856        ms_error("Error requesting media control interface" ); 
    857857                return -1; 
    858858        } 
    859     if (graphBuilder->QueryInterface( IID_IMediaEvent, 
     859    if (_graphBuilder->QueryInterface( IID_IMediaEvent, 
    860860                                        (void **)&_mediaEvent )!=S_OK){ 
    861861        ms_error("Error requesting event interface" ); 
     
    863863        } 
    864864        _ready=true; 
     865        return 0; 
    865866} 
    866867 
     
    875876        } 
    876877        ms_message("Graph started"); 
     878        return 0; 
    877879} 
    878880 
    879881void DSCapture::stopAndClean(){ 
    880882        if (_mediaControl.get()!=NULL){ 
    881                 _mediaControl->Stop(); 
    882         long evCode = 0; 
    883         _mediaEvent->WaitForCompletion( INFINITE, &evCode ); 
     883                HRESULT r; 
     884                r=_mediaControl->Stop(); 
     885                if (r!=S_OK){ 
     886                        ms_error("msdscap: Could not stop graph !"); 
     887                        fflush(NULL); 
     888                } 
     889        _graphBuilder->RemoveFilter(_source.get()); 
     890        _graphBuilder->RemoveFilter(_grabberBase.get()); 
     891                _graphBuilder->RemoveFilter(_nullRenderer.get()); 
    884892        } 
    885893        _source.reset(); 
     
    888896        _mediaControl.reset(); 
    889897        _mediaEvent.reset(); 
     898        _graphBuilder.reset(); 
     899        CoUninitialize(); 
     900        ms_mutex_lock(&_mutex); 
    890901        flushq(&_rq,0); 
     902        ms_mutex_unlock(&_mutex); 
    891903        _ready=false; 
    892904} 
     
    919931        mblk_t *m; 
    920932        uint32_t timestamp; 
    921         int cur_frame; 
    922933 
    923934        if (s->isTimeToSend(obj->ticker->time)){ 
     
    10031014 
    10041015static void ms_dshow_detect(MSWebCamManager *obj){ 
    1005         int i; 
    1006         MSWebCam *cam; 
    10071016        ComPtr<IPropertyBag> pBag; 
    10081017         
     
    10211030    enumMoniker->Reset(); 
    10221031     
    1023     int index = 0; 
    10241032    ULONG fetched = 0; 
    10251033    ComPtr< IMoniker > moniker; 
  • linphone/mediastreamer2/src/videoout.c

    r214 r413  
    753753                                qvga_size.height=MS_VIDEO_SIZE_QVGA_H; 
    754754                                obj->prevsize=newsize; 
     755                                ms_message("received size is %ix%i",newsize.width,newsize.height); 
    755756                                /*don't resize less than QVGA, it is too small*/ 
    756757                                if (ms_video_size_greater_than(qvga_size,newsize)){ 
Note: See TracChangeset for help on using the changeset viewer.