Koxp, Koxp Türkiye, Koxp 1868, 1869 Koxp  

Geri git   Koxp, Koxp Türkiye, Koxp 1868, 1869 Koxp > Çöplük > Forum Arşivi

Forum Arşivi Gereksiz,Yanlış konular bu alanda toplanır.

Hoş geldiniz..
www.HilePort.Com



Yeni sitemize sizleride bekleriz.

 
 
LinkBack Konu Araçları Stil
Alt 05-13-2010, 14:56   #1 (permalink)
Usta Koxper
 
dangerus - ait Kullanıcı Resmi (Avatar)
 
Forum
Üye No: 37
Üyelik tarihi: Feb 2010
Mesajlar: 149
Teşekkürler
+ Puan Verdi: 0
+ Puan Aldı: 12
Rep Bilgileri
Rep Gücü: 10
Rep Derecesi:
dangerus is on a distinguished road
Standart DirectShow Filtre Yazılımı 1/3

Bilgisayarımızdaki medya dosyalarını oynatan, görüntü ve seste değişiklikler veya efekt yazmamıza yarayan ve çoğu zaman codec olarak DirectShow filtrelerinin yazılımına ilişkin bir başlangıç dökümanıdır.DirectShow filtre yazılımı için DirectShow temel sınıflarının kullanımı tavsiye edilir. Temel sınıflar ile filtrenin başvuru adımları gerçekleştirilir. Bunlara ek olarak C++ da aşağıdaki adımları uygulamak gerekir.

• DirectX SDK kök klasörünün altında “Samples\Multimedia\DirectShow\BaseClasses” klasörünün altında bulunan dosyaları C++ ile “Lib” dosyası olarak oluşturmak gerekir. Bu işlem için öncelikle SDK’yı kurmalı “BaseClasses” klasörü oluşmamış ise en son yeni SDK yamaları da kurulmalıdır. Bu kütüphane için iki adet sürüm derlenmelidir. Bu derlemeler, bir serbest (release) versiyon (Strmbase.lib), bir de hata ayıklama (debug) için ayrı bir versiyon olarak yapılmalıdır. Unicode ve Multicode için de aynı işlemleri yapmak isterseniz release, debug, release_unicode, debug_unicode olarak dört versiyona ihtiyacınız olacaktır.
• Filtre uygulamanızda başlık dosyası olarak daha önceden derlemiş olduğumuz kütüphaneler için “Streams.h” dosyasını eklemelisiniz. (#include <streams.h>)
• Derleyici ayarlarında __stdcall çağrı düzenini seçiniz.
• C için çalışma zamanında kütüphanelerin kullanımı için multithreaded olarak ayarlayın. (release, debug ve diğerleri için)
• DLL fonksiyonlarının icra edilebilmesi için projenize tanım dosyası ekleyin (.def) . Mesela MyFilter.dll için bu dosya örneği aşağıdaki gibidir.

• Aşağıdaki kütüphane dosyalarını derleyicinin ayarlarında tanımlayın.

Debug Build: Strmbasd.lib, Msvcrtd.lib, Winmm.lib
Retail Build: Strmbase.lib, Msvcrt.lib, Winmm.lib


• “Linker Settings” ayarlarında “Ignode default library” seçiniz.
• Aşağıdaki kodu DLL in giriş noktası olarak projenizde tanımlayın.


extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE, ULONG, LPVOID);
BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, LPVOID lpReserved)
{
return DllEntryPoint((HINSTANCE)(hModule), dwReason, lpReserved);
}


DirectShow 9.0 dan önceki temel sınıf kütüphaneleri için aşağıdaki ayarları yapmanız gerekir.

• Hata ayıklama işlemi için prosesörde DEBUG olarak bir bayrak tanımlamalısınız.

DirectShow 9.0 ve sonraki sürümler için bu gerekli değildir.

Filtreler Nasıl Bağlanır?


Bu bölümde filtre geliştiriciler için filrelerin birbirleri ile nasıl bağlandığı anlatılacaktır. DirectShow filtresi yazarken muhtemelen ayrıntıları atlayacaksınız. Bu bölümde size detaylar anlatılacaktır.

Bu bölüm aşağıdaki konuları içerir.
• Pin bağlantıları
• Medya Tip işlemleri
• Ayırıcı işlemleri
• Özel Ayırıcı sağlama
• Pinlerin tekrar bağlanması

Pin Bağlantıları


Filtreler kendilerine ait pinlerle IPin arayüzü vasıtasıyla bağlanır. Bir filtrenin çıkış pini diğer filtrenin giriş pinine bağlanır. Her bir pinin kendine ait bir medya tipi vardır ve AM_MEDIA_TYPE yapısı ile bu tip tanımlamaları yapılır.

Herhangi bir uygulamada birbirleri ile bağlanacak olan filtreler “Filter Graph Manager” daki metotlara yapılan çağrılar ve bu metotlar kullanılarak gerçekleştirilmektedir. Asla bu filtre veya pinlere ait metotlar bağlantı için kullanılmamalıdır. Uygulama içinde filtreleri bağlamak için IFilterGraph::ConnectDirect veya IGraphBuilder::Connect metotlarını kullanabilirsiniz. Ya da dolaylı olarak IGraphBuilder arayüzünün IGraphBuilder::RenderFile metodunu kullanarak, uygun filtrelere de sahipseniz, fitrelerin eklenmesi ve bağlanması otomatik olarak gerçekleştirilir.

Bağlantının başarılı olması için, her iki filtrenin de filter graph içinde olması gerekmektedir. Bunun için öncelikli olarak her iki filtrenin de IGraphBuilder::AddFilter metodu ile graph builder’a eklenmesi gerekmektedir. Filter Graph Manager, filtreleri iyi bir şekilde graph nesnesine ekleyebilir. Filtreler başarılı bir şekilde eklendiğinde “Filter Graph Manager”, durumu IBaseFilter::JoinFilterGraph metodu ile filtre tarafına bildirir.

Genel olarak bağlantı işlemindeki şüreçler şunlardır;

1. Filtre Grafik Yöneticisi (Filter Graph Manager) çıkış pinindeki IPin::Connect metoduna yaptığı çağrı ile diğer filtrenin giriş pinine işaretçisini geçirir.

2. Eğer çıkış pini bağlantıyı kabul eder ise, giriş pinindeki IPin::ReceiveConnection metoduna yaptığı çağrı ile bildiride bulunur.

3. Aynı zamanda giriş pini de bağlantıyı kabul ederse, bağlantı girişimi başarı ile gerçekleşip iki pin birbiri ile bağlanır.

Bazı pinlerin bağlantısı kesilebilir. Filtre etkin olduğunda bu bağlantı tekrar sağlanır. Bu bağlantı tipi yeniden dinamik bağlantı olarak adlandırılır. Ancak pek çok filtre dinamik bağlantı tipini desteklemez.

Downstream işlemlerinde genellikle filtrenin giriş pinleri, çıkış pinlerinden önce bağlanır. Bir filtre bağlantı işleminde bu sırayı destekler. Bazı filtreler de öncelikli bağlantıda çıkış pinini referans alır ve çalışma koşullarında bunu destekler. Mesela dosyaya yazma işlemini gerçekleştiren filtreler için, öncelikli olarak çıkış pininin bağlanması mümkün olabilir.

Bir pin Connect veya ReceiveConnection metotlarına çağrı yaparsa, pin mutlaka bu bağlantı yöntemlerini desteklemelidir. Ortak olarak pinlerin en çok içerdiği görevler şunlardır;

• Kabul işlemi için medya tiplerini kontrol ederler.
• Bilgi aktarım işlemi için bir ayırıcı kullanırlar.
• Gerekli olan arayüzleri oluşturabilmek için diğer pinlere sorgu yaparlar.

dangerus isimli Üye şimdilik offline konumundadır  
Alt 06-15-2010, 17:36   #2 (permalink)
Usta Oyuncu
 
Forum
Üye No: 32556
Üyelik tarihi: Jun 2010
Mesajlar: 31
Teşekkürler
+ Puan Verdi: 0
+ Puan Aldı: 1
Rep Bilgileri
Rep Gücü: 10
Rep Derecesi:
SyntaxError is on a distinguished road
Standart

++++++++++++++++++++++++++++++++
SyntaxError isimli Üye şimdilik offline konumundadır  
Alt 06-25-2010, 15:16   #3 (permalink)
Acemi Oyuncu
 
Forum
Üye No: 34908
Üyelik tarihi: Jun 2010
Mesajlar: 9
Teşekkürler
+ Puan Verdi: 0
+ Puan Aldı: 1
Rep Bilgileri
Rep Gücü: 100
Rep Derecesi:
isiyin19 will become famous soon enoughisiyin19 will become famous soon enough
Standart

fdsafdsafdsafdsafds
isiyin19 isimli Üye şimdilik offline konumundadır  
Alt 06-28-2010, 10:14   #4 (permalink)
Oyuncu
 
Kişisel
Bulunduğu yer: İstanbul
Forum
Üye No: 35414
Üyelik tarihi: Jun 2010
Mesajlar: 18
Teşekkürler
+ Puan Verdi: 0
+ Puan Aldı: 2
Rep Bilgileri
Rep Gücü: 100
Rep Derecesi:
kopedal.tr.gg will become famous soon enoughkopedal.tr.gg will become famous soon enough
Standart

Güzel paylaşım
kopedal.tr.gg isimli Üye şimdilik offline konumundadır  
Alt 07-03-2010, 19:37   #5 (permalink)
Usta Oyuncu
 
Forum
Üye No: 35585
Üyelik tarihi: Jun 2010
Mesajlar: 25
Teşekkürler
+ Puan Verdi: 0
+ Puan Aldı: 2
Rep Bilgileri
Rep Gücü: 100
Rep Derecesi:
lahoya61 will become famous soon enoughlahoya61 will become famous soon enough
Standart

+++++++++++++
lahoya61 isimli Üye şimdilik offline konumundadır  
Alt 07-16-2010, 22:12   #6 (permalink)
Oyuncu
 
Forum
Üye No: 36469
Üyelik tarihi: Jul 2010
Mesajlar: 20
Teşekkürler
+ Puan Verdi: 0
+ Puan Aldı: 0
Rep Bilgileri
Rep Gücü: 100
Rep Derecesi:
doompride will become famous soon enoughdoompride will become famous soon enough
Standart

+++repppppp
doompride isimli Üye şimdilik offline konumundadır  
Alt 09-06-2010, 14:46   #7 (permalink)
Banned
 
Forum
Üye No: 4872
Üyelik tarihi: Mar 2010
Mesajlar: 24
Teşekkürler
+ Puan Verdi: 0
+ Puan Aldı: 0
Rep Bilgileri
Rep Gücü: 10
Rep Derecesi:
coldrose is on a distinguished road
Standart

+++++++++++++
coldrose isimli Üye şimdilik offline konumundadır  
 

Etiket
1 or 3, directshow, filtre, yazılımı


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Konu Araçları
Stil

Yetkileriniz
Yeni Mesaj yazma yetkiniz Aktif değil dir.
Mesajlara Cevap verme yetkiniz aktif değil dir.
Eklenti ekleme yetkiniz Aktif değil dir.
Kendi Mesajınızı değiştirme yetkiniz Aktif değildir dir.

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Sponsor : balon patlatma puanlı giysi giydirme oyunları süper oyunlar kral oyun mario oyunları

Bütün Zaman Ayarları WEZ +2 olarak düzenlenmiştir. Şu Anki Saat: 12:22 .

Powered by vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
# CaN.