AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia DVD Navigator und VMR9 Allocator
Thema durchsuchen
Ansicht
Themen-Optionen

DVD Navigator und VMR9 Allocator

Ein Thema von SonnyBoyPro · begonnen am 16. Jul 2014 · letzter Beitrag vom 16. Jul 2014
Antwort Antwort
SonnyBoyPro

Registriert seit: 9. Mai 2007
68 Beiträge
 
#1

DVD Navigator und VMR9 Allocator

  Alt 16. Jul 2014, 20:28
Hallo zusammen,
da ich im Netz keinen Hinweis darauf bekommen habe (oder falsch gesucht habe ), hier nun eine kurz Info:
mit dem VMR9 Allocator und DirectX9Ex kann man ja sehr schön SharedResources generieren, die man dann z.B. unter DirectX 11 verwenden kann. Hat bei File-Play auch sofort funktioniert. Nur bei DVD kam bei mir immer nur ein schwarzer Bildschirm (obwohl FilterGraph okay war und bei WindowMode die DVD abgespielt wurde).
Der Grund: die function TAllocator.InitializeDevice(dwUserID: DWORD; lpAllocInfo: PVMR9AllocationInfo; var lpNumBuffers: DWORD): HResult; stdcall; Funktion wird 2x aufgerufen, daher bekommt man also wieder ein anderes Handle und muss die Texture neu erzeugen.

Hier mal kurzer Codeausschnitt
Delphi-Quellcode:
function TAllocator.InitializeDevice(dwUserID: DWORD; lpAllocInfo: PVMR9AllocationInfo; var lpNumBuffers: DWORD): HResult; stdcall;

....

VideoHandle := 0;
            // create the private texture
           hr:=FD3DDev.CreateTexture(lpAllocInfo.dwWidth, lpAllocInfo.dwHeight, 1, D3DUSAGE_RENDERTARGET, dm.Format, D3DPOOL_DEFAULT,
                FVideoTexture, @VideoHandle);
           { in the case we got a new handle -> for VMR9 and DVD playback e.g. }
           if Assigned (FNewHandle) then
              FNewHandle;
            if hr<>S_OK then
                exit;

...
und

Delphi-Quellcode:

procedure TGUIWindowVideo.NewHandle;
var
    lTextureD3D11: ID3D11Texture2D;
    tempResource11: ID3D11Resource;
    hr: Hresult;
begin
    FOffscreenTexture := nil;

    hr := FDeviceD11.OpenSharedResource(FFilterGraphDVD.Allocator.VideoHandle, ID3D11Resource, tempResource11);

    tempResource11.QueryInterface(ID3D11Texture2D, lTextureD3D11);
    tempResource11 := nil;
    hr := FDeviceD11.CreateShaderResourceView(lTextureD3D11, nil, FOffscreenTexture);
end;
Das Ergebnis hängt dabei

Da ich als nächstes nun die DVD-Navigation einbauen werde, bin ich schon gespannt worauf ich noch alles komm
Miniaturansicht angehängter Grafiken
cmc_dvd_test.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: DVD Navigator und VMR9 Allocator

  Alt 16. Jul 2014, 21:43
Was genau ist die Frage?
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
SonnyBoyPro

Registriert seit: 9. Mai 2007
68 Beiträge
 
#3

AW: DVD Navigator und VMR9 Allocator

  Alt 16. Jul 2014, 22:41
Die Frage müsste lauten:

Warum wird bei Verwendung eines VMR9 Allocator bei DVD-Wiedergabe das Bild nicht angezeigt, bei einfachen Video-Dateien aber schon?

bg

PS: ansonsten den Thread in Tipps und Tricks verschieben
  Mit Zitat antworten Zitat
SonnyBoyPro

Registriert seit: 9. Mai 2007
68 Beiträge
 
#4

AW: DVD Navigator und VMR9 Allocator

  Alt 16. Jul 2014, 22:57
bzw, vielleicht in Frage umformuliert:

warum ist das so das die Initialisierung zweimal aufgerufen wird? Gibt es einen Grund dafür. Die MSDN schweigt ja dazu.

bg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz