Talk:DirectShow

From Wikipedia, the free encyclopedia

This article is part of WikiProject Microsoft Windows, a WikiProject devoted to maintaining and improving the informative value and quality of Wikipedia's many Microsoft Windows articles.
B This article has been rated as B-Class on the assessment scale.
Mid This article has been rated as mid-importance on WikiProject Microsoft Windows's importance scale.
Peer review DirectShow has had a peer review by Wikipedia editors which is now archived. It may contain ideas you can use to improve this article.

Contents

[edit] removing anti-AVI troll

deleted "This probably explains why AVI (the format used by Video for Windows) continues to be used in spite of its obsolescence.". It's clearly not NPOV. —Preceding unsigned comment added by 24.215.162.119 (talk) 21:02, 19 January 2008 (UTC)

[edit] Minor typo

In the external links section, there's a word which I think should be prolific? Prolofic doesn't seem right.ExpatEgghead 18:53, 27 February 2006 (UTC)

[edit] Comparison to Apple technologies

Perhaps someone with the proper background could briefly compare DirectShow to the video framework in MacOS/OSX (Quicktime, Core Video, etc.)? unsigned

  • How would you like them compared? I already sort of compared DS and quicktime a few times in there --Ryan Norton T | @ | C 00:01, 19 August 2005 (UTC)

[edit] DirectShow moved to Platform SDK

The DirectShow library have been moved to the Microsoft Platform SDK, and is hence not a part of DirectX an more [1]. The article should be updated to account for this. --Fredrik Orderud 21:01, 13 September 2005 (UTC)

  • Yes, I've known this for some time - but simply changing it like you did is quite confusing. It would be better to say something like "was previously in the DirectX library but is now in the Platform SDK" etc. Ryan Norton T | @ | C 22:22, 13 September 2005 (UTC)
    • Can someone add a bit more description on the future of DirectShow, now that it is out of the PlatformSDK as of 2006? This pretty much means DirectShow is dead, right? What do developers use now? 20 January 2007 (UTC)

[edit] Peer review work

RN has done some excellent work in improving the quality of this article, and with the recent peer review, we've gotten a number of other ideas to work on. I've addressed a number of those things today, including knocking out the second-person per WP:MOS#Avoid_the_second_person and improving the overall quality of wikilinks. This article is getting better by day! Warrens 21:21, 24 March 2006 (UTC)

Thanks Warrens! Just another star in the night T | @ | C 14:10, 3 April 2006 (UTC)

[edit] sample

up for deletion on wikisource so I'll put it here until I figure out what to do with it :(

//This example in C++ just opens a specified media in a new window,
//plays the file, then quits. You must link with strmiids.lib.
//Used in the english wikipedia article DirectShow

#include <windows.h>
#include <objbase.h>
#include <dshow.h> // formerly <directshow.h>

IGraphBuilder* pGB = NULL;
IMediaEventEx* pME = NULL;
IMediaControl* pMC = NULL;
IVideoWindow* pVW = NULL;

#define WM_MYGRAPHNOTIFY (WM_USER+100)

int MyCleanup()
{
    pGB->Release();
    pME->Release();
    pMC->Release();
    pVW->Release();
    PostQuitMessage(0);
    return 0;
}

LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, 
                             WPARAM wParam, LPARAM lParam)
{
    LONG    evCode,
            evParam1,
            evParam2;
    switch(msg)
    {
    case WM_MYGRAPHNOTIFY:
        while(SUCCEEDED(pME->GetEvent(&evCode, (LONG_PTR *) &evParam1,
                                       (LONG_PTR *) &evParam2, 0)
                       )
             )
        {
            pME->FreeEventParams(evCode, evParam1, evParam2);
            if(evCode == 0)
            {
                PostQuitMessage(0);
                return 0;
            }
        }
        break;
    case WM_DESTROY:
        return MyCleanup();
    }
    return DefWindowProc(hWnd, msg, wParam, lParam);
}

int APIENTRY    WinMain(HINSTANCE hInstance,
                                                HINSTANCE hPrevInstance,
                                                LPSTR     lpCmdLine,
                                                int       nCmdShow)
{
    CoInitialize(NULL);

    TCHAR szPath[2048];
    szPath[0] = 0;

    OPENFILENAME ofn;
    ZeroMemory(&ofn, sizeof(OPENFILENAME));
    ofn.lStructSize = sizeof(OPENFILENAME);
    ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
    ofn.lpstrFile = szPath;
    ofn.nMaxFile = 2048;
    
    if(::GetOpenFileName(&ofn) != 0)
    {
        WNDCLASS wc;
        ZeroMemory(&wc, sizeof(WNDCLASS));
        wc.style = CS_HREDRAW | CS_VREDRAW;
        wc.lpfnWndProc = MainWndProc;
        wc.hInstance = hInstance;
        wc.lpszClassName = TEXT("MyClass");
        wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
        RegisterClass(&wc);

        HWND hWnd = CreateWindow(TEXT("MyClass"), TEXT("DirectShow Sample"), 
                      WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,
                      CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);

        CoCreateInstance(CLSID_FilgraphManager, NULL, CLSCTX_INPROC_SERVER,
                      IID_IGraphBuilder, (void**)&pGB);

#ifndef UNICODE
        wchar_t wszPath[2048];
        MultiByteToWideChar(CP_ACP, 0, szPath, lstrlen(szPath)+1, wszPath, 2048);
#else
#define wszPath szPath
#endif
        
        if( SUCCEEDED(pGB->RenderFile(wszPath, NULL)) )
        {
            pGB->QueryInterface(IID_IMediaControl, (void**)&pMC);
            pGB->QueryInterface(IID_IMediaEventEx, (void**)&pME);
            pGB->QueryInterface(IID_IVideoWindow, (void**)&pVW);
            
            pVW->put_Owner((LONG_PTR)hWnd);
            pVW->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS);
            pVW->put_Visible(-1);
            pME->SetNotifyWindow((LONG_PTR)hWnd, WM_MYGRAPHNOTIFY, 0);
            pMC->Run();
            ShowWindow(hWnd, nCmdShow);  UpdateWindow(hWnd);

            MSG msg;
            while(GetMessage(&msg, NULL, NULL, NULL))
                DispatchMessage(&msg);
        }
    }
    return 0;
}

[edit] Alternatives

Shouldn't alternatives like GStreamer be cited ? —The preceding unsigned comment was added by 82.233.64.48 (talk) 18:49, 24 January 2007 (UTC).

[edit] Wording Ambiguity

I want to point out an ambiguity in the following sentence.

"ActiveMovie was first available as an add-on to Windows 95 and that required Internet Explorer 3.0."

This sentence is composed of two independent clauses, and ought to have a comma before "and that required," but it's unclear what "that" refers to. The sentence could mean that ActiveMovie required IE3, that Win95 required it, or that the whole clause (presumably making it available) required it. D021317c 00:28, 6 February 2007 (UTC)

[edit] Fair use rationale for Image:Dxmlogomsmall.gif

Image:Dxmlogomsmall.gif is being used on this article. I notice the image page specifies that the image is being used under fair use but there is no explanation or rationale as to why its use in Wikipedia articles constitutes fair use. ....[((additional instructions archived because this issue has been addressed already; see History for this Talk page for full Bot instructions.))] ...Thank you.BetacommandBot 03:18, 3 June 2007 (UTC)

Update, Sept 2007 : Rationale is available on the image page.

[edit] Ratings for Quality and Importance (2007 Sept)

Regarding the "wikipedia unrated" status this page: I don't know what criteria the raters use, but I for one find this article ( version as of 17 September 2007 ) to be one of the best technical/computing articles I have ever read on Wikipedia. Kudos to the authors! - Libertas 04:52, 19 September 2007 (UTC)