FireBirdLib - Topfield TMS PVR TAP Programming Library
PlayMediaFile.c
Go to the documentation of this file.
1#include <unistd.h>
2#include <string.h>
3#include "FBLib_av.h"
4
5bool PlayMediaFile(char *MediaFileName)
6{
8
9 bool ret;
10 tDirEntry _TempWorkFolder;
11 char tempINF[FBLIB_DIR_SIZE];
12 char TempFileName[FBLIB_DIR_SIZE];
13
15 memset(&_TempWorkFolder, 0, sizeof(_TempWorkFolder));
16 _TempWorkFolder.Magic = 0xbacaed31;
17
18 ConvertPathType(MediaFileName, TempFileName, PF_LinuxPathOnly);
19 if(StringEndsWith(TempFileName, "/")) TempFileName[strlen(TempFileName) - 1] = '\0';
20 ret = ApplHdd_SelectFolder(&_TempWorkFolder, &TempFileName[1]);
21
22 if(!ret)
23 {
24 ApplHdd_SetWorkFolder(&_TempWorkFolder);
25
26 ConvertPathType(MediaFileName, tempINF, PF_FullLinuxPath);
27 strcat(tempINF, ".inf");
28 ConvertPathType(MediaFileName, TempFileName, PF_FileNameOnly);
29
30 if((access(tempINF, F_OK) != -1) && HDD_isRecFileName(MediaFileName) && !StringEndsWith(TempFileName, ".ts"))
31 ret = Appl_StartPlayback(TempFileName, 0, TRUE, FALSE) == 0;
32 else if(StringEndsWith(TempFileName, ".avi") || StringEndsWith(TempFileName, ".divx"))
33 {
34 ret = Appl_StartPlaybackDivx(TempFileName, 0, FALSE) == 0;
35 }
36 else if(StringEndsWith(TempFileName, ".mp3"))
37 {
38 ret = Appl_StartPlaybackMp3(TempFileName) == 0;
39 }
40 else
41 {
42 ret = Appl_StartPlaybackMedia(TempFileName, 0, TRUE, FALSE) == 0;
43 }
44 }
46
47 TRACEEXIT();
48 return ret;
49}
void ApplHdd_RestoreWorkFolder(void)
void ApplHdd_SaveWorkFolder(void)
dword ApplHdd_SelectFolder(tDirEntry *FolderStruct, char *FolderPath)
void ApplHdd_SetWorkFolder(tDirEntry *FolderStruct)
int Appl_StartPlaybackDivx(char *FileName, unsigned int p2, bool p3)
int Appl_StartPlaybackMedia(char *FileName, unsigned int p2, bool p3, bool ScaleInPip)
int Appl_StartPlaybackMp3(char *FileName)
int Appl_StartPlayback(char *FileName, unsigned int p2, bool p3, bool ScaleInPip)
void ConvertPathType(const char *Source, char *Dest, tPathFormat DestFormat)
bool PlayMediaFile(char *MediaFileName)
Definition: PlayMediaFile.c:5
bool HDD_isRecFileName(const char *FileName)
#define FBLIB_DIR_SIZE
Definition: libFireBird.h:1871
#define TRACEEXIT()
Definition: libFireBird.h:1244
#define TRACEENTER()
Definition: libFireBird.h:1243
bool StringEndsWith(const char *text, const char *postfix)
Definition: StringEndsWith.c:4
@ PF_LinuxPathOnly
Definition: libFireBird.h:1924
@ PF_FullLinuxPath
Definition: libFireBird.h:1926
@ PF_FileNameOnly
Definition: libFireBird.h:1922
dword Magic
Definition: libFireBird.h:1446