@christianriedl/media 1.0.112 → 1.0.114

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/iMedia.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { Dictionary } from '@christianriedl/utils';
1
2
  export declare enum EMediaType {
2
3
  Audio = 0,
3
4
  Video = 1,
@@ -127,6 +128,7 @@ export interface IMediaFolder extends IMediaItem {
127
128
  ChildCount: number;
128
129
  Folders: IMediaFolder[];
129
130
  Files: IMediaFile[];
131
+ prepared?: boolean;
130
132
  }
131
133
  export interface IRealFilesResult {
132
134
  Folder: IMediaFolder;
@@ -209,3 +211,37 @@ export interface ITranscodeParams {
209
211
  videoBitRate?: number;
210
212
  audioBitRate?: number;
211
213
  }
214
+ export interface IMediaService {
215
+ mainRoot: IMediaFolder;
216
+ audioRoot?: IMediaFolder;
217
+ videoRoot?: IMediaFolder;
218
+ pictureRoot?: IMediaFolder;
219
+ onlineRoot?: IMediaFolder;
220
+ roots: Dictionary<IMediaFolder>;
221
+ folders: Dictionary<IMediaFolder>;
222
+ medialists: Dictionary<IMediaListEntry>;
223
+ initialize(mediaType?: EMediaType): Promise<boolean>;
224
+ getListEntry(name: string, idx: number): string;
225
+ getVideos(folder: IMediaFolder): Promise<IMediaFolder>;
226
+ getAudios(folder: IMediaFolder): Promise<IMediaFolder>;
227
+ getPhotos(folder: IMediaFolder): Promise<IMediaFolder>;
228
+ getRecordedTVs(): Promise<IMediaFolder>;
229
+ getOnlineTVs(): Promise<IMediaFolder>;
230
+ getOnlineRadios(): Promise<IMediaFolder>;
231
+ getAlbumArtUrl(folderUrl: string): string;
232
+ getAlbumDownloadUrl(folderUrl: string, codec?: string, param?: string): string;
233
+ getPhotosDownloadUrl(folder: IMediaFolder, resy?: number, quality?: number): string;
234
+ getPhotoUrl(folderUrl: string, url: string, format: string): string;
235
+ getAudioUrl(item: IAudioFile): string;
236
+ getVideoUrl(url: string): string;
237
+ getFileUrl(path: string): string;
238
+ ping(): Promise<boolean>;
239
+ getImage(url: string): Promise<Blob>;
240
+ upload(form: FormData): Promise<boolean>;
241
+ uploadBigFile(file: File, directory: string, progress: (pos: string) => void): Promise<boolean>;
242
+ getDirectories(path: string): Promise<string[]>;
243
+ getFiles(path: string): Promise<string[]>;
244
+ getExifInfo(folderId: string, mediaId: string): Promise<Dictionary<any>>;
245
+ getSatIpProbe(channelName: string, urlOrFileName: string): Promise<IMediaInfo>;
246
+ stopSatIpStream(channelName: string, media: string): Promise<boolean>;
247
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"iMedia.js","sourceRoot":"","sources":["../src/iMedia.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,UASX;AATD,WAAY,UAAU;IAClB,6CAAS,CAAA;IACT,6CAAS,CAAA;IACT,iDAAW,CAAA;IACX,4CAAS,CAAA;IACT,0DAAgB,CAAA;IAChB,iDAAa,CAAA;IACb,6CAAW,CAAA;IACX,mDAAc,CAAA;AAClB,CAAC,EATW,UAAU,KAAV,UAAU,QASrB;AACD,MAAM,CAAN,IAAY,eAWX;AAXD,WAAY,eAAe;IACvB,qDAAiB,CAAA;IACjB,gEAAoB,CAAA;IACpB,gEAAoB,CAAA;IACpB,gEAAoB,CAAA;IACpB,gEAAoB,CAAA;IACpB,kEAAoB,CAAA;IACpB,4DAAoB,CAAA;IACpB,4DAAoB,CAAA;IACpB,4DAAoB,CAAA;IACpB,8DAAoB,CAAA;AACxB,CAAC,EAXW,eAAe,KAAf,eAAe,QAW1B;AAQD,MAAM,CAAN,IAAY,SAoDX;AApDD,WAAY,SAAS;IACjB,yCAAQ,CAAA;IACR,mDAAa,CAAA;IACb,uDAAe,CAAA;IACf,uDAAe,CAAA;IACf,6DAAkB,CAAA;IAClB,iEAAoB,CAAA;IACpB,iEAAoB,CAAA;IACpB,iEAAoB,CAAA;IACpB,iEAAoB,CAAA;IACpB,mDAAgB,CAAA;IAChB,6CAAa,CAAA;IACb,4CAAY,CAAA;IACZ,4CAAY,CAAA;IACZ,gDAAc,CAAA;IACd,6DAAoB,CAAA;IACpB,qDAAgB,CAAA;IAChB,yCAAa,CAAA;IACb,mDAA6C,CAAA;IAC7C,oDAA0B,CAAA;IAC1B,wDAAkC,CAAA;IAClC,wDAAkC,CAAA;IAClC,8DAAqC,CAAA;IACrC,sDAAiC,CAAA;IACjC,wDAAkC,CAAA;IAClC,sDAAiC,CAAA;IACjC,0DAAmC,CAAA;IACnC,uEAA0C,CAAA;IAC1C,2EAA8C,CAAA;IAC9C,sDAAkB,CAAA;IAClB,+DAAkC,CAAA;IAClC,oDAA0B,CAAA;IAC1B,wDAAkC,CAAA;IAClC,wDAAkC,CAAA;IAClC,8DAAqC,CAAA;IACrC,4DAAoC,CAAA;IACpC,uEAA0C,CAAA;IAC1C,2EAA8C,CAAA;IAC9C,yEAA+C,CAAA;IAC/C,oDAAiB,CAAA;IACjB,+DAAkC,CAAA;IAClC,wDAA8B,CAAA;IAC9B,4DAAsC,CAAA;IACtC,4DAAsC,CAAA;IACtC,kEAAyC,CAAA;IACzC,gEAAwC,CAAA;IACxC,wDAAoC,CAAA;IACpC,0DAAqC,CAAA;IACrC,wDAAqB,CAAA;IACrB,uDAA+C,CAAA;IAC/C,qDAAgB,CAAA;IAChB,yCAAU,CAAA;AACd,CAAC,EApDW,SAAS,KAAT,SAAS,QAoDpB;AACD,MAAM,CAAN,IAAY,MAUX;AAVD,WAAY,MAAM;IACd,mCAAQ,CAAA;IACR,yDAAsB,CAAA;IACtB,2CAAe,CAAA;IACf,+CAAiB,CAAA;IACjB,qDAAoB,CAAA;IACpB,kDAAkB,CAAA;IAClB,sDAAoB,CAAA;IACpB,0DAAsB,CAAA;IACtB,+DAAwB,CAAA;AAC5B,CAAC,EAVW,MAAM,KAAN,MAAM,QAUjB;AAwDD,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IAEpB,+CAAQ,CAAA;IACR,qDAAW,CAAA;IACX,6DAAe,CAAA;IACf,uDAAY,CAAA;IACZ,2DAAc,CAAA;IACd,yDAAa,CAAA;AACjB,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB"}
1
+ {"version":3,"file":"iMedia.js","sourceRoot":"","sources":["../src/iMedia.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,UASX;AATD,WAAY,UAAU;IAClB,6CAAS,CAAA;IACT,6CAAS,CAAA;IACT,iDAAW,CAAA;IACX,4CAAS,CAAA;IACT,0DAAgB,CAAA;IAChB,iDAAa,CAAA;IACb,6CAAW,CAAA;IACX,mDAAc,CAAA;AAClB,CAAC,EATW,UAAU,KAAV,UAAU,QASrB;AACD,MAAM,CAAN,IAAY,eAWX;AAXD,WAAY,eAAe;IACvB,qDAAiB,CAAA;IACjB,gEAAoB,CAAA;IACpB,gEAAoB,CAAA;IACpB,gEAAoB,CAAA;IACpB,gEAAoB,CAAA;IACpB,kEAAoB,CAAA;IACpB,4DAAoB,CAAA;IACpB,4DAAoB,CAAA;IACpB,4DAAoB,CAAA;IACpB,8DAAoB,CAAA;AACxB,CAAC,EAXW,eAAe,KAAf,eAAe,QAW1B;AAQD,MAAM,CAAN,IAAY,SAoDX;AApDD,WAAY,SAAS;IACjB,yCAAQ,CAAA;IACR,mDAAa,CAAA;IACb,uDAAe,CAAA;IACf,uDAAe,CAAA;IACf,6DAAkB,CAAA;IAClB,iEAAoB,CAAA;IACpB,iEAAoB,CAAA;IACpB,iEAAoB,CAAA;IACpB,iEAAoB,CAAA;IACpB,mDAAgB,CAAA;IAChB,6CAAa,CAAA;IACb,4CAAY,CAAA;IACZ,4CAAY,CAAA;IACZ,gDAAc,CAAA;IACd,6DAAoB,CAAA;IACpB,qDAAgB,CAAA;IAChB,yCAAa,CAAA;IACb,mDAA6C,CAAA;IAC7C,oDAA0B,CAAA;IAC1B,wDAAkC,CAAA;IAClC,wDAAkC,CAAA;IAClC,8DAAqC,CAAA;IACrC,sDAAiC,CAAA;IACjC,wDAAkC,CAAA;IAClC,sDAAiC,CAAA;IACjC,0DAAmC,CAAA;IACnC,uEAA0C,CAAA;IAC1C,2EAA8C,CAAA;IAC9C,sDAAkB,CAAA;IAClB,+DAAkC,CAAA;IAClC,oDAA0B,CAAA;IAC1B,wDAAkC,CAAA;IAClC,wDAAkC,CAAA;IAClC,8DAAqC,CAAA;IACrC,4DAAoC,CAAA;IACpC,uEAA0C,CAAA;IAC1C,2EAA8C,CAAA;IAC9C,yEAA+C,CAAA;IAC/C,oDAAiB,CAAA;IACjB,+DAAkC,CAAA;IAClC,wDAA8B,CAAA;IAC9B,4DAAsC,CAAA;IACtC,4DAAsC,CAAA;IACtC,kEAAyC,CAAA;IACzC,gEAAwC,CAAA;IACxC,wDAAoC,CAAA;IACpC,0DAAqC,CAAA;IACrC,wDAAqB,CAAA;IACrB,uDAA+C,CAAA;IAC/C,qDAAgB,CAAA;IAChB,yCAAU,CAAA;AACd,CAAC,EApDW,SAAS,KAAT,SAAS,QAoDpB;AACD,MAAM,CAAN,IAAY,MAUX;AAVD,WAAY,MAAM;IACd,mCAAQ,CAAA;IACR,yDAAsB,CAAA;IACtB,2CAAe,CAAA;IACf,+CAAiB,CAAA;IACjB,qDAAoB,CAAA;IACpB,kDAAkB,CAAA;IAClB,sDAAoB,CAAA;IACpB,0DAAsB,CAAA;IACtB,+DAAwB,CAAA;AAC5B,CAAC,EAVW,MAAM,KAAN,MAAM,QAUjB;AAyDD,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IAEpB,+CAAQ,CAAA;IACR,qDAAW,CAAA;IACX,6DAAe,CAAA;IACf,uDAAY,CAAA;IACZ,2DAAc,CAAA;IACd,yDAAa,CAAA;AACjB,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export * from './iMedia';
2
2
  export * from './iMediaInstance';
3
3
  export * from './mediaService';
4
+ export * from './mediaHelper';
4
5
  export * from './mediaInstanceService';
5
6
  export * from './playerService';
7
+ export * from './mediaServiceBin';
package/dist/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  export * from './iMedia';
2
2
  export * from './iMediaInstance';
3
3
  export * from './mediaService';
4
+ export * from './mediaHelper';
4
5
  export * from './mediaInstanceService';
5
6
  export * from './playerService';
7
+ export * from './mediaServiceBin';
6
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { IValueText } from '@christianriedl/utils';
2
+ import { EMediaType, EItemType, IMediaInfo, ITranscodeParams } from "./iMedia";
3
+ export declare class MediaHelper {
4
+ static toItemType(mediaType: EMediaType): EItemType;
5
+ static getVideoQualities(): IValueText[];
6
+ static getAudioStreams(mediaInfo: IMediaInfo): IValueText[];
7
+ static splitAudioStreams(streams: string): IValueText[];
8
+ static getTranscodeParams(useSatIp: boolean, width: number, height: number, screenWidth: number, quality: number): ITranscodeParams;
9
+ }
@@ -0,0 +1,53 @@
1
+ import { EMediaType, EItemType } from "./iMedia";
2
+ export class MediaHelper {
3
+ static toItemType(mediaType) {
4
+ switch (mediaType) {
5
+ case EMediaType.Audio: return EItemType.Audio;
6
+ case EMediaType.Video: return EItemType.Video;
7
+ case EMediaType.Picture: return EItemType.Picture;
8
+ case EMediaType.Online: return EItemType.Broadcast;
9
+ }
10
+ return EItemType.None;
11
+ }
12
+ static getVideoQualities() {
13
+ return [{ text: 'good', title: 'good', value: 0 },
14
+ { text: 'medium', title: 'medium', value: 1 },
15
+ { text: 'low', title: 'low', value: 2 },
16
+ { text: 'bad', title: 'bad', value: 3 }];
17
+ }
18
+ static getAudioStreams(mediaInfo) {
19
+ const res = [];
20
+ for (let i = 0; i < mediaInfo.audioStreams.length; i++) {
21
+ const as = mediaInfo.audioStreams[i];
22
+ const text = `${as.codec}-${as.language}-${as.numChannels}`;
23
+ res.push({ value: i, text: text, title: text });
24
+ }
25
+ return res;
26
+ }
27
+ static splitAudioStreams(streams) {
28
+ const res = [];
29
+ const arr = streams.split(':');
30
+ for (let i = 0; i < arr.length; i++) {
31
+ res.push({ value: i, text: arr[i], title: arr[i] });
32
+ }
33
+ return res;
34
+ }
35
+ static getTranscodeParams(useSatIp, width, height, screenWidth, quality) {
36
+ const par = { text: '', width: width, height: height, videoBitRate: 4096, audioBitRate: 192, scaleFactor: 1 };
37
+ let qual = 1;
38
+ while (screenWidth < par.width || qual < quality) {
39
+ par.scaleFactor = par.scaleFactor * 2;
40
+ par.width = par.width / 2;
41
+ par.height = par.height / 2;
42
+ par.videoBitRate = par.videoBitRate / 2;
43
+ par.audioBitRate = Math.floor(par.audioBitRate * 0.7);
44
+ qual++;
45
+ }
46
+ if (useSatIp)
47
+ par.text = `${par.width}x${par.height} vb:${par.videoBitRate}k ab:${par.audioBitRate}`;
48
+ else
49
+ par.text = `${par.width}x${par.height} vb:${par.videoBitRate}k sf:${par.scaleFactor}`;
50
+ return par;
51
+ }
52
+ }
53
+ //# sourceMappingURL=mediaHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediaHelper.js","sourceRoot":"","sources":["../src/mediaHelper.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { IRest } from '@christianriedl/rest';
2
- import { ILogger, Dictionary, InjectionKey, IStatistics, IStatisticsValue, IValueText } from '@christianriedl/utils';
3
- import { IMediaFolder, IMediaListEntry, IVirtualMediaFolder, IAudioFile, IRealFilesResult, EMediaType, IMediaInfo, ITranscodeParams } from "./iMedia";
2
+ import { ILogger, Dictionary, InjectionKey, IStatistics, IStatisticsValue } from '@christianriedl/utils';
3
+ import { IMediaFolder, IMediaListEntry, IVirtualMediaFolder, IMediaService, IAudioFile, IRealFilesResult, EMediaType, IMediaInfo } from "./iMedia";
4
4
  export interface IPhotoSelection {
5
5
  rating: number;
6
6
  criteria: string;
@@ -9,11 +9,12 @@ export interface IPhotoSelection {
9
9
  selectedAlbum?: IMediaFolder;
10
10
  }
11
11
  export declare const getMediaSymbol: InjectionKey<() => MediaService>;
12
- export declare class MediaService {
12
+ export declare class MediaService implements IMediaService {
13
13
  rest: IRest;
14
14
  mediaUrl: string;
15
15
  log: ILogger;
16
16
  user: string;
17
+ mainRoot: IMediaFolder;
17
18
  roots: Dictionary<IMediaFolder>;
18
19
  folders: Dictionary<IMediaFolder>;
19
20
  realPictureAlbums: Dictionary<IMediaFolder>;
@@ -31,12 +32,13 @@ export declare class MediaService {
31
32
  photoSelection: IPhotoSelection;
32
33
  constructor(rest: IRest, user: string, statistics: IStatistics, log: ILogger);
33
34
  updateFolders(folder: IMediaFolder): boolean;
35
+ initialize(mediaType?: EMediaType): Promise<boolean>;
34
36
  initializePhotos(stars: string, criteria: string): Promise<IMediaFolder>;
35
37
  initializeAudios(): Promise<IMediaFolder>;
36
38
  initializeVideos(): Promise<IMediaFolder>;
37
- initializeRecordedTVs(): Promise<IMediaFolder>;
38
- initializeOnlineTVs(): Promise<IMediaFolder>;
39
- initializeOnlineRadios(): Promise<IMediaFolder>;
39
+ getRecordedTVs(): Promise<IMediaFolder>;
40
+ getOnlineTVs(): Promise<IMediaFolder>;
41
+ getOnlineRadios(): Promise<IMediaFolder>;
40
42
  getListEntry(name: string, idx: number): string;
41
43
  getPhotos(folder: IMediaFolder): Promise<IMediaFolder>;
42
44
  private processPhotos;
@@ -58,10 +60,6 @@ export declare class MediaService {
58
60
  getExifInfo(folderId: string, mediaId: string): Promise<Dictionary<any>>;
59
61
  getSatIpProbe(channelName: string, urlOrFileName: string): Promise<IMediaInfo>;
60
62
  stopSatIpStream(channelName: string, media: string): Promise<boolean>;
61
- getVideoQualities(): IValueText[];
62
- getAudioStreams(mediaInfo: IMediaInfo): IValueText[];
63
- splitAudioStreams(streams: string): IValueText[];
64
- getTranscodeParams(useSatIp: boolean, width: number, height: number, screenWidth: number, quality: number): ITranscodeParams;
65
63
  ping(): Promise<boolean>;
66
64
  getImage(url: string): Promise<Blob>;
67
65
  getLists(mediaType: EMediaType): Promise<boolean>;
@@ -71,5 +69,9 @@ export declare class MediaService {
71
69
  getDirectories(path: string): Promise<string[]>;
72
70
  getFiles(path: string): Promise<string[]>;
73
71
  getFileUrl(path: string): string;
72
+ get audioRoot(): IMediaFolder;
73
+ get videoRoot(): IMediaFolder;
74
+ get pictureRoot(): IMediaFolder;
75
+ get onlineRoot(): IMediaFolder;
74
76
  private durationString;
75
77
  }
@@ -5,7 +5,12 @@ export class MediaService {
5
5
  rest;
6
6
  mediaUrl;
7
7
  log;
8
- user = "";
8
+ user;
9
+ mainRoot = {
10
+ Name: "Root", DLNAID: "0", ItemType: EItemType.MainRoot,
11
+ State: EState.FolderReal, ChildCount: 4, Folders: [], Files: [], Rating: 63, CreatorIdx: -1, GenreIdx: -1,
12
+ Year: -1, Description: "", DLNAParentID: "", Url: "", ThumbnailUrl: "", Date: new Date()
13
+ };
9
14
  roots = {};
10
15
  folders = {};
11
16
  realPictureAlbums = {};
@@ -73,6 +78,9 @@ export class MediaService {
73
78
  }
74
79
  return true;
75
80
  }
81
+ async initialize(mediaType) {
82
+ return true;
83
+ }
76
84
  async initializePhotos(stars, criteria) {
77
85
  const key = `${stars}.${criteria}`;
78
86
  this.lastFolderId = this.realFolderId = "";
@@ -120,8 +128,8 @@ export class MediaService {
120
128
  }
121
129
  return this.folders['vi'];
122
130
  }
123
- async initializeRecordedTVs() {
124
- this.log.trace("initializeRecordedTVs");
131
+ async getRecordedTVs() {
132
+ this.log.trace("getRecordedTVs");
125
133
  const root = await this.browse("0", 3, false, false, 'Root;Online;Rec TV');
126
134
  this.updateFolders(root);
127
135
  this.roots['online'] = root;
@@ -145,8 +153,8 @@ export class MediaService {
145
153
  }
146
154
  return videos;
147
155
  }
148
- async initializeOnlineTVs() {
149
- this.log.trace("initializeOnlineTVs");
156
+ async getOnlineTVs() {
157
+ this.log.trace("getOnlineTVs");
150
158
  const root = await this.browse("0", 3, false, false, 'Root;Online;TV');
151
159
  this.updateFolders(root);
152
160
  this.roots['online'] = root;
@@ -173,8 +181,8 @@ export class MediaService {
173
181
  videos.ThumbnailUrl = "";
174
182
  return videos;
175
183
  }
176
- async initializeOnlineRadios() {
177
- this.log.trace("initializeOnlineRadios");
184
+ async getOnlineRadios() {
185
+ this.log.trace("getOnlineRadios");
178
186
  const root = await this.browse("0", 3, false, false, 'Root;Online;Radio');
179
187
  this.updateFolders(root);
180
188
  this.roots['online'] = root;
@@ -459,46 +467,6 @@ export class MediaService {
459
467
  const res = this.rest.postData(url);
460
468
  return this.rest.toData(res);
461
469
  }
462
- getVideoQualities() {
463
- return [{ text: 'good', title: 'good', value: 0 },
464
- { text: 'medium', title: 'medium', value: 1 },
465
- { text: 'low', title: 'low', value: 2 },
466
- { text: 'bad', title: 'bad', value: 3 }];
467
- }
468
- getAudioStreams(mediaInfo) {
469
- const res = [];
470
- for (let i = 0; i < mediaInfo.audioStreams.length; i++) {
471
- const as = mediaInfo.audioStreams[i];
472
- const text = `${as.codec}-${as.language}-${as.numChannels}`;
473
- res.push({ value: i, text: text, title: text });
474
- }
475
- return res;
476
- }
477
- splitAudioStreams(streams) {
478
- const res = [];
479
- const arr = streams.split(':');
480
- for (let i = 0; i < arr.length; i++) {
481
- res.push({ value: i, text: arr[i], title: arr[i] });
482
- }
483
- return res;
484
- }
485
- getTranscodeParams(useSatIp, width, height, screenWidth, quality) {
486
- const par = { text: '', width: width, height: height, videoBitRate: 4096, audioBitRate: 192, scaleFactor: 1 };
487
- let qual = 1;
488
- while (screenWidth < par.width || qual < quality) {
489
- par.scaleFactor = par.scaleFactor * 2;
490
- par.width = par.width / 2;
491
- par.height = par.height / 2;
492
- par.videoBitRate = par.videoBitRate / 2;
493
- par.audioBitRate = Math.floor(par.audioBitRate * 0.7);
494
- qual++;
495
- }
496
- if (useSatIp)
497
- par.text = `${par.width}x${par.height} vb:${par.videoBitRate}k ab:${par.audioBitRate}`;
498
- else
499
- par.text = `${par.width}x${par.height} vb:${par.videoBitRate}k sf:${par.scaleFactor}`;
500
- return par;
501
- }
502
470
  async ping() {
503
471
  try {
504
472
  const res = await this.rest.getData('apistream/ping', { request: 'test' });
@@ -513,8 +481,7 @@ export class MediaService {
513
481
  return this.rest.toData(res);
514
482
  }
515
483
  async getLists(mediaType) {
516
- if (this.listsInitialized & (1 << mediaType))
517
- return true;
484
+ return true;
518
485
  const res = await this.rest.getData('apimedia/medialist', { mediaType: mediaType });
519
486
  const list = res.result;
520
487
  this.initializeLists(mediaType, list.Lists, list.PrivateCreatorIdx);
@@ -601,6 +568,18 @@ export class MediaService {
601
568
  getFileUrl(path) {
602
569
  return this.rest.serviceUrl + 'apimedia/documents/file?path=' + encodeURI(path);
603
570
  }
571
+ get audioRoot() {
572
+ return this.roots['mu'];
573
+ }
574
+ get videoRoot() {
575
+ return this.roots['vi'];
576
+ }
577
+ get pictureRoot() {
578
+ return this.roots['ph'];
579
+ }
580
+ get onlineRoot() {
581
+ return this.roots['online'];
582
+ }
604
583
  durationString(duration) {
605
584
  if (duration >= 3600) {
606
585
  const hours = Math.floor(duration / 3600);
@@ -1 +1 @@
1
- {"version":3,"file":"mediaService.js","sourceRoot":"","sources":["../src/mediaService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediaService.js","sourceRoot":"","sources":["../src/mediaService.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,20 @@
1
1
  import { IRest } from '@christianriedl/rest';
2
- import { ILogger, Dictionary, IStatistics, IStatisticsValue, ILocalStorage } from '@christianriedl/utils';
3
- import { IMediaFolder, IMediaRoot, IMediaListEntry, EMediaType, EItemType } from "./iMedia";
4
- interface ILastModifications {
5
- list: number;
6
- root: number;
7
- mediaTypes: Dictionary<number>;
8
- modified?: boolean;
9
- }
10
- export declare class MediaServiceBin {
2
+ import { ILogger, Dictionary, IStatistics, IStatisticsValue, InjectionKey } from '@christianriedl/utils';
3
+ import { IMediaFolder, IMediaListEntry, IMediaService, IMediaInfo, IAudioFile, EMediaType } from "./iMedia";
4
+ export declare const getMediaBinSymbol: InjectionKey<() => MediaServiceBin>;
5
+ export declare class MediaServiceBin implements IMediaService {
11
6
  rest: IRest;
12
7
  mediaUrl: string;
13
8
  log: ILogger;
14
9
  user: string;
15
- localStorage: ILocalStorage;
16
- mainRoot?: IMediaRoot;
17
- audioRoot?: IMediaRoot;
18
- videoRoot?: IMediaRoot;
19
- pictureRoot?: IMediaRoot;
20
- onlineRoot?: IMediaRoot;
21
- roots: Dictionary<IMediaRoot>;
10
+ mainRoot: IMediaFolder;
11
+ audioRoot?: IMediaFolder;
12
+ videoRoot?: IMediaFolder;
13
+ pictureRoot?: IMediaFolder;
14
+ onlineRoot?: IMediaFolder;
15
+ roots: Dictionary<IMediaFolder>;
22
16
  folders: Dictionary<IMediaFolder>;
23
17
  medialists: Dictionary<IMediaListEntry>;
24
- lastModifications: ILastModifications;
25
18
  listsInitialized: number;
26
19
  foldersInitialized: number;
27
20
  filesInitialized: number;
@@ -34,12 +27,34 @@ export declare class MediaServiceBin {
34
27
  countFiles: IStatisticsValue;
35
28
  countList: IStatisticsValue;
36
29
  countReferences: IStatisticsValue;
37
- constructor(rest: IRest, user: string, localStorage: ILocalStorage, statistics: IStatistics, bigEndian: boolean, log: ILogger);
38
- initialize(mediaType: EMediaType): Promise<boolean>;
30
+ constructor(rest: IRest, user: string, statistics: IStatistics, bigEndian: boolean, log: ILogger);
31
+ initialize(mediaType?: EMediaType): Promise<boolean>;
39
32
  getLists(): Promise<boolean>;
40
33
  getFolders(): Promise<number>;
41
- getFiles(mediaType: EMediaType): Promise<number>;
42
- static toItemType(mediaType: EMediaType): EItemType;
34
+ getFilesOfMediaType(mediaType: EMediaType): Promise<number>;
35
+ getListEntry(name: string, idx: number): string;
36
+ getVideos(folder: IMediaFolder): Promise<IMediaFolder>;
37
+ getAudios(folder: IMediaFolder): Promise<IMediaFolder>;
38
+ getPhotos(folder: IMediaFolder): Promise<IMediaFolder>;
39
+ getRecordedTVs(): Promise<IMediaFolder>;
40
+ getOnlineTVs(): Promise<IMediaFolder>;
41
+ getOnlineRadios(): Promise<IMediaFolder>;
42
+ getAlbumArtUrl(folderUrl: string): string;
43
+ getPhotoUrl(folderUrl: string, url: string, format: string): string;
44
+ getAudioUrl(item: IAudioFile): string;
45
+ getVideoUrl(url: string): string;
46
+ getAlbumDownloadUrl(folderUrl: string, codec?: string, param?: string): string;
47
+ getPhotosDownloadUrl(folder: IMediaFolder, resy?: number, quality?: number): string;
48
+ getFileUrl(path: string): string;
49
+ ping(): Promise<boolean>;
50
+ getImage(url: string): Promise<Blob>;
51
+ getExifInfo(folderId: string, mediaId: string): Promise<Dictionary<any>>;
52
+ getSatIpProbe(channelName: string, urlOrFileName: string): Promise<IMediaInfo>;
53
+ stopSatIpStream(channelName: string, media: string): Promise<boolean>;
54
+ upload(form: FormData): Promise<boolean>;
55
+ uploadBigFile(file: File, directory: string, progress: (pos: string) => void): Promise<boolean>;
56
+ getDirectories(path: string): Promise<string[]>;
57
+ getFiles(path: string): Promise<string[]>;
43
58
  private unMarshalItem;
44
59
  private unMarshalFolder;
45
60
  private unMarshalFile;
@@ -52,7 +67,6 @@ export declare class MediaServiceBin {
52
67
  private addMediaReference;
53
68
  private addMediaFile;
54
69
  private addFile;
55
- private saveModifications;
56
- private loadModifications;
70
+ private durationString;
71
+ private removePrivate;
57
72
  }
58
- export {};