Project

General

Profile

Actions

Support Request #2747

closed

Retrieve name of dat file

Added by hidden almost 6 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Normal
Customer:
AUDI
Department:
Requester's Priority:
Normal
Support Level:
2nd Level
Resolution:
Solved Issue
Product Issue Numbers:
Affected Products:
Platform:
Windows 7 64bit
Topic:
ADTF::FilterSDK
FAQ Links:

Description

Supportanfrage:

Hallo,

habe Probleme bei der Verwendung der cMacroResolver Klasse. Ich möchte den DAT-Dateinamen aus dem Macro $HD_PLAYER_FILE$ innerhalb eines Filters auslesen, bekomme aber immer nur einen leeren String zurück. Habe auch die Variante mit $(HD_PLAYER_FILE) versucht ohne Erfolg. Verwendet wird der cMacroResolver innerhalb der Run(...) Methode des Filters, im speziellen dann wenn der Harddiskplayer das EC_PlayPreFileOpen Event feuert. Auch die Registrierung eines eigenen Macros funktioniert nicht. Hierfür habe ich die Beispiel Implementation cMacroResolverImpl aus den ADTF Examples verwendet.

Init Funktion des Filters

if (eStage == StageFirst)
{
        RETURN_IF_FAILED(_kernel->SignalRegister(static_cast<IRunnable*>(this)));
        pResolver = new cMacroResolverImpl;
        RETURN_IF_FAILED(_runtime->RegisterObject(pResolver, OID_MACRORESOLVER, IRuntime::RL_Kernel));
}

Run Funktion des Filters

if (code == IEvent::EC_PlayPreFileOpen)
{                
                const tChar* MACRO_HD_PLAYER_FILE_NAME = "$HD_PLAYER_FILE_NAME$";
                const tChar* MACRO_USS_HD_PLAYER_FILE_NAME = "$USS_HD_PLAYER_FILE_NAME$";
                tChar filename[265];
                tChar ussFilename[256];

                RETURN_IF_FAILED(pResolver->ResolveMacros(MACRO_HD_PLAYER_FILE_NAME, filename, 256));
                RETURN_IF_FAILED(pResolver->RegisterMacro(MACRO_USS_HD_PLAYER_FILE_NAME, "abcd", IMacroResolver::MRF_Overwrite));  
}

Ziel: Ich möchte den Namen der Aufnahme-DAT-Datei vom Playback-DAT-Dateinamen abhängig machen, aber nicht exakt verwenden z.B. abcd_split_000.dat -> abcd.dat

Vielen Dank für eure Hilfe.

Mit freundlichen Grüßen,

Rick Vogel

Lösung:

Möglicherweise wird es im falschen runlevel aufgerufen, wodurch es dann leer ist.

Weitere Informationen zu Macros:
https://support.digitalwerk.net/adtf/v2/adtf_sdk_html_docs/page_adtf_macros.html


Related issues

Related to Public Support - Support Request #6181: HD_PLAYER_FILE could not be resolvedClosedActions
Actions

Also available in: Atom PDF