Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#50

AW: C++ Delphi Übersetzung 3DYDYoutube Filter

  Alt 20. Nov 2020, 17:26
Habe dir angeboten den Quelltext zu schicken wenn du ihn nicht anforderst dann kann ich leider auch nichts machen.

Zitat:
Hat da schon mal jemnd angefragt, was was genau wie wo bewirkt und wa wann wo veranlasst ?
Jemand schon mal nachgefragt ?
Jo und auf Grund dessen meine Funktionen geschrieben.
Bsp.

IAMMediaContent
Delphi-Quellcode:
function TEVMRPlayer.GetYoutubeFilterDescription(var Description: string): HRESULT;
var
   MediaContent: IAMMediaContent;
   pwcDescription: PWideChar;
begin

   Result := E_FAIL;

   if not Assigned(srcFilter) then
     exit;

   if IsUrl then
   begin
     if Assigned(DYDYoutubeFilter) then
     begin
       srcFilter.QueryInterface(IID_IAMMediaContent, MediaContent);
       Result := MediaContent.get_Description(pwcDescription);
       if not SUCCEEDED(Result) then
         ReportError('YoutubeFilterTitle fails', Result)
       else
         begin
           Description := pwcDescription;
           SysFreeString(pwcDescription);
         end;
     end;
   end;

end;
prop page.
Delphi-Quellcode:
procedure TEVMRPlayer.Show_YoutubeFilterPropertyPage(ParentHandle: HWND);
var
  hr: HRESULT;
  PropertyPage: ISpecifyPropertyPages;
  FilterInfo: FILTER_INFO;
  pFilterUnk: IUnknown;
  caGUID: CAUUID;
begin

  if not IsRegisteredFilter(CLSID_LegacyAmFilterCategory, CLSID_3DYDYoutubeSource) then
    Exit;

  if not Assigned(DYDYoutubeFilter) then
    Exit;

  hr := DYDYoutubeFilter.QueryInterface(IID_ISpecifyPropertyPages, PropertyPage);
  if (SUCCEEDED(hr)) then
  begin
    // Get the name of filter and pointer to IUnknown.
    DYDYoutubeFilter.QueryFilterInfo(FilterInfo);
    DYDYoutubeFilter.QueryInterface(IID_IUnknown, pFilterUnk);

    // Get configuration page.
    PropertyPage.GetPages(caGUID);
{$IFDEF CPUX64}
    MyOleCreatePropertyFrame(
{$ELSE}
    OleCreatePropertyFrame(
{$ENDIF}
      ParentHandle, 0, 0, FilterInfo.achName, 1, @pFilterUnk,
        caGUID.cElems, caGUID.pElems, 0, 0, nil);

    // Clean up
    pFilterUnk := nil;
    FilterInfo.pGraph := nil;
    CoTaskMemFree(caGUID.pElems);
  end;
end;

exports..
Delphi-Quellcode:
  KVideo_ShowYoutubeFilterConfig: function(Index: Integer; ParentHandle:HWND): HRESULT; stdcall;
  // Shows the YoutubeFilter Config window
  // ( parameter )
  // - Index : Instance Count of KVideoPlayer

  KVideo_YoutubeFilterState: procedure(Index: Integer; out Registered, Loaded: BOOL); stdcall;
  // Checks if YoutubeFilter is ready to service
  // YoutubeFilter is used to play files from YouTube
  // * note) The configuration window to change YoutubeFilter's properties is shown only
  // when YoutubeFilter is registered at system.
  // ( parameter )
  // - Index : Instance Count of KVideoPlayer
  // - Registered : true if YoutubeFilter is registered at system, else false
  // - Loaded : true if YoutubeFilter is loaded, else false

  KVideo_GetYoutubeFilterTitle: function(Index: Integer; var Title: PWideChar): HRESULT; stdcall;
  // Get Media Title
  // ( parameter )
  // - Index : Instance Count of KVideoPlayer
  // - Title : if Available

  KVideo_GetYoutubeFilterSupportedSites: function(Index: Integer; var Sites: string;
    Count: Integer): HRESULT; stdcall;
  // Get Supported Sites
  // ( parameter )
  // - Index : Instance Count of KVideoPlayer
  // - Sites : which supported
  // - Count : Index from KVideo_GetYoutubeFilterSupportedSitesCount
  // ( result )
  // - 0 on success, else fails

  KVideo_GetYoutubeFilterSupportedSitesCount: function(Index: Integer;
    var Count: Integer): HRESULT; stdcall;
  // Get Supported Sites count
  // ( parameter )
  // - Index : Instance Count of KVideoPlayer
  // - Count : of Supported Sites
  // ( result )
  // - 0 on success, else fails
und, und, und...

Zitat:
Wenn ich in meinem Proggie nun den LAV durch den YT-Filter ersetze (nur die CLSID ändern), dann kommt der Fehler Interface not found schon bei LOAD(URL).
Du meinst mit 3DYDYouTube ersetzt?
Wenn ja warum?
Die Filter arbeiten doch zusammen.

https://www.gitmemory.com/issue/ytdl...2258/568124272
http://trac.lliurex.net/xenial/brows...oo.py?rev=8788

Bei Google suchenusing Zattoo with youtube-dl

Geändert von venice2 (20. Nov 2020 um 18:20 Uhr)
  Mit Zitat antworten Zitat