Direct Show Programiranje Vedran Mari Uvod u Direct

  • Slides: 17
Download presentation
Direct. Show Programiranje Vedran Marić

Direct. Show Programiranje Vedran Marić

Uvod u Direct. Show Rad s multimedijom predstavlja niz velikih izazova: n n n

Uvod u Direct. Show Rad s multimedijom predstavlja niz velikih izazova: n n n Multimedijski streamovi sadrže veliku količinu podataka, koji moraju biti obrađeni vrlo brzo Audio i video moraju biti sinkronizirani Podaci dolaze iz raznih izvora Podaci dolaze u raznim formatima Programeri ne znaju unaprijed kakav hardware ima krajnji korisnik

Uvod u Direct. Show je arhitektura namijenjena za prikaz i obradu multimedijalnih sadržaja n

Uvod u Direct. Show je arhitektura namijenjena za prikaz i obradu multimedijalnih sadržaja n Podržava razne formate kao npr. avi, mpeg, mp 3, wav. . . n Osigurava sinkronizaciju audio i video sadržaja n Omogućuje capture koristeći Windows Driver Model (WDM) i starije Video for Windows drivere n Koristi video i audio akceleraciju n Bitno pojednostavljuje pisanje multimedijskih aplikacija kao što su mp 3 playeri, capture programi, DVD playeri. . .

Uvod u Direct. Show n n n Zasnovan je na Component Object Model (COM)

Uvod u Direct. Show n n n Zasnovan je na Component Object Model (COM) tehnologiji Programeri trebaju znati osnove COM programiranja Za većinu aplikacija nije potrebno pisati nove COM objekte već je moguće koristiti postojeće Direct. Show objekte

COM n n COM objekti su crne kutije koje programi učitavaju i koriste Uglavnom

COM n n COM objekti su crne kutije koje programi učitavaju i koriste Uglavnom implementirani unutar DLL-a Svaki objekt ima sučelja preko kojih se pozivaju metode Svaki objekt ima GUID

GUID n n GUID (Globally Unique Identifier) je 128 -bitna struktura pomoću koje se

GUID n n GUID (Globally Unique Identifier) je 128 -bitna struktura pomoću koje se objekti prepoznaju Direct. Show koristi GUID-e radi jedinstvenog označavanja objekata (CLSID) i sučelja (IID)

Stvaranje COM objekata n n n Najčešći način je stvaranje pomoću Co. Create. Instance

Stvaranje COM objekata n n n Najčešći način je stvaranje pomoću Co. Create. Instance funkcije Kao jedan od parametara navodimo sučelje koje želimo Funkcija stvara objekt i vraća pokazivač na traženo sučelje Primjer: IGraph. Builder* p. Graph; hr = Co. Create. Instance(CLSID_Filter. Graph, NULL, CLSCTX_INPROC_SERVER, IID_IGraph. Builder, (void **)&p. Graph);

Dodatna sučelja n n Na sada postojećem objektu možemo zatražiti dodatna sučelja Ostvaruje se

Dodatna sučelja n n Na sada postojećem objektu možemo zatražiti dodatna sučelja Ostvaruje se pozivom Query. Interface metode koju ima svaki COM objekt Primjer: IMedia. Control *p. Control; hr = p. Graph->Query. Interface(IID_IMedia. Control, (void **)&p. Control);

Direct. Show arhitektura n n n Osnovna jedinica Direct. Show programa je COM objekt

Direct. Show arhitektura n n n Osnovna jedinica Direct. Show programa je COM objekt zvan filtar Filtar je softwareska komponenta koja obavlja neku radnju na multimedijalnim podacima Direct. Show filtri mogu: u čitati multimedijalne podatke iz datoteka u dohvatiti video sa npr. TV kartice u dekodirati raznovrsne formate u proslijediti multimedijalne podatke grafičkim i zvučnim karticama

Direct. Show arhitektura n n n Filtri povezani u lance čine graf filtara (eng.

Direct. Show arhitektura n n n Filtri povezani u lance čine graf filtara (eng. filter graph) Aplikacija ne mora voditi računa o toku podataka već se za ovo brine COM objekt Filter Graph Manager Programer piše Direct. Show aplikaciju tako što pomoću Filter Graph Managera stvara graf tj. povezuje filtre

Stvaranje grafa Programer u aplikaciji mora napraviti tri osnovna koraka: 1. Aplikacija stvara objekt

Stvaranje grafa Programer u aplikaciji mora napraviti tri osnovna koraka: 1. Aplikacija stvara objekt Filter Graph Manager 2. Aplikacija koristi Filter Graph Manager da sastavi graf 3. Aplikacija koristi Filter Graph Manager radi kontroliranja grafa

Direct. Show filtri n n Direct. Show filtri sadrže pinove Pinovi su COM objekti

Direct. Show filtri n n Direct. Show filtri sadrže pinove Pinovi su COM objekti putem kojih se filtri povezuju te razmjenjuju podatke

Direct. Show filtri Filtri se mogu svrstati u osnovne kategorije: n Source filtri n

Direct. Show filtri Filtri se mogu svrstati u osnovne kategorije: n Source filtri n Transform filtri n Renderer filtri n Splitter filtri n Mux filtri

Inteligentno spajanje n n Filter Graph Manager koristi inteligentno spajanje (eng. Intelligent connect) Inteligentno

Inteligentno spajanje n n Filter Graph Manager koristi inteligentno spajanje (eng. Intelligent connect) Inteligentno spajanje je zapravo dodavanje među-filtara radi mogućeg spajanja Direct. Show sam pronalazi potrebne filtre te ih dodaje u graf i spaja Programer ne mora točno znati koji filtri se mogu međusobno spojiti

Graph. Edit n n Graph. Edit je vizualni pomoćni alat za stvaranje i testiranje

Graph. Edit n n Graph. Edit je vizualni pomoćni alat za stvaranje i testiranje grafova Pomoću Graph. Edita je moguće: u Spojiti graf i isprobati ga prije početka pisanja aplikacije u Vidjeti graf koji aplikacija trenutno stvara u Spremiti graf u datoteku i kasnije ga učitati u aplikaciji u Pokrenuti, pauzirati i zaustaviti graf u Vidjeti koji filtri su registrirani na računalu te vidjeti informacije o svakome filtru u Vidjeti tipove multimedijalnih podataka koje određeni filtri podržavaju

Graph. Edit

Graph. Edit

Direct. Show programiranje Literatura: n n Microsoft Direct. X Software Development Kit Help Files

Direct. Show programiranje Literatura: n n Microsoft Direct. X Software Development Kit Help Files Mark D. Pesce, Programming Microsoft Direct. Show for Digital Video and Television