IWMReaderAdvanced2::OpenStream()

5 отговора 135 прегледа
#1

IWMReaderAdvanced2::OpenStream()

някой ползвал ли го е? При мен не ще да работи мамаму - OnStatus() никога не се извиква и толкоз. Съшия код, но с IWMReader::Open() работи, но на мен не ми върши работа в случая.

F1 !!!!!!

никога не е твърде рано да пропушиш
Отговор
в отговор на Xypodilec #2

Re: IWMReaderAdvanced2::OpenStream()

dokato prelistwah njakude iz DirectShow - sreshtnah neshto is newsgroupite za tova - tam njakoi metodi bjaha "disable"-nati ako ne si instaliral daden license-dll (ne mi stana mnogo jasno) - edin vid - za da mozhe softwareto ti da encodwa ili da decodwa beshe nuzhdno da ima njakakwo DLL-che - koeto se dawa sreshtu licensa.... Abe mozhe i da ne e tova w krajna smetka...

Um tzaruwa, Um robuwa, Um belia delfin
Отговор
в отговор на Xypodilec #3

Re: IWMReaderAdvanced2::OpenStream()

Trqbwa ti licenciran LIB & DLL ot MS.

Towa e zadadi Media Rights Managera ( bozata za licenzna zashtita na mediata )

Firmata v kojato bachkash trqbwa da contacnte MS i da oredat problema

Отговор
в отговор на Dominator #4

За лицензите - къде сте чели по-точно? Понеже

Доколкото аз разбрах, това е общ лиценз, който ти го дават за да се ползва WM Format SDK-то. Или не?
В края на краищата, IWMReader, IWMReaderAdvanced и IWMReaderAdvanced2 са си там, мамицата им!

И защо не ми дава никаф error в HRESULT????? Просто си стоя и си чакам вовеки да се извика OnStatus()....

никога не е твърде рано да пропушиш
Отговор
в отговор на Xypodilec #5

Re: За лицензите - къде сте чели по-точно? Понеже

Ne ti go davat da pozvash WM Format SDK-to a Da polzvash DRM-to,

Postni malko code da mu hvyrlja edno oko shto moze da e drugade problem-a,

prosto s MS Media Shit-a ne sym se zanimvala ot godina i polovina i sym gi zabravil malko neshtata

Отговор
в отговор на Dominator #6

Надявам се да бъркам някъде

btw, нямаше ме няколко дни, затова чак сега гледам тук.

За постване на сорс: много е дълго като за постване, а не бих казал, че нещо съществено съм направил засега, понеже в съвсем-най-ранен етап се сбозяса работата.

Значи, реших да тръгна от примерчето във WM Format SDK - wmvcopy. То си работи, но с отваря файл със задаване на името през IWMReader::Open().

И тъй като аз няма да отварям файлове, а ще получавам byte stream => остава ми да ползвам IWMReaderAdvanced::OpenStream(), за който пише, че е същия като IWMReader::Open(), но иска за параметър IStream*. В IWMStatusCallback::OnStatus() праща същия статус - WMT_OPENED.

Понеже не намерих имплементнат IStream, освен за compound files, имплементнах си го да чете файл - колкото да няма съществена промяна в програмчето.

И резултата е, че IWMReaderAdvanced::OpenStream() връща S_OK, но OnStatus() на callback-a никога не се извиква с какъвто и да е статус!

Това, в което изобщо не съм сигурен е имплементирането на IStream поради 2 основни причини:
1. Все още съм на "Вие" с COM
2. Никъде не видях да има специални изисквания към подадения IStream в OpenStream()

На всичкото отгоре сякаш никой в целия шибан интернет не знае нищо за IWMReaderAdvanced2! Търсачките намират инфо само в msdn, а там няма описани никакви особености по въпроса, сякаш всичко си му е наред и не би следвало нещо да не работи!

Ако ти се занимава ще ти мейлна примерчето от SDK-to + това, кето съм се опитал да направя. Ако не - здраве да е.

никога не е твърде рано да пропушиш
Отговор