⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ismacryp.h

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 H
字号:
/* *			GPAC - Multimedia Framework C SDK * *			Copyright (c) Jean Le Feuvre 2000-2005  *					All rights reserved * *  This file is part of GPAC / Authoring Tools sub-project * *  GPAC is free software; you can redistribute it and/or modify *  it under the terms of the GNU Lesser General Public License as published by *  the Free Software Foundation; either version 2, or (at your option) *  any later version. *    *  GPAC is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU Lesser General Public License for more details. *    *  You should have received a copy of the GNU Lesser General Public *  License along with this library; see the file COPYING.  If not, write to *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  * */#ifndef _GF_ISMACRYP_H_#define _GF_ISMACRYP_H_#ifdef __cplusplusextern "C" {#endif#include <gpac/isomedia.h>enum{	/*no selective encryption*/	GF_ISMACRYP_SELENC_NONE = 0,	/*only encrypts RAP samples*/	GF_ISMACRYP_SELENC_RAP = 1,	/*only encrypts non-RAP samples*/	GF_ISMACRYP_SELENC_NON_RAP = 2,	/*selective encryption of random samples*/	GF_ISMACRYP_SELENC_RAND = 3,	/*selective encryption of a random sample in given range*/	GF_ISMACRYP_SELENC_RAND_RANGE = 4,	/*selective encryption of first sample in given range*/	GF_ISMACRYP_SELENC_RANGE = 5};typedef struct{	/*0: ISMACryp - 1: OMA DRM*/	u32 enc_type;	u32 trackID;	unsigned char key[16];	unsigned char salt[16];	/*the rest is only used for encryption*/	char KMS_URI[5000];	char Scheme_URI[5000];	/*selecive encryption type*/	u32 sel_enc_type;	u32 sel_enc_range;	/*IPMP signaling: 0: none, 1: IPMP, 2: IPMPX	when IPMP signaling is enabled, the OD stream will be updated with	IPMP Update commands*/	u32 ipmp_type;	/*if not set and IPMP enabled, defaults to TrackID*/	u32 ipmp_desc_id;	/*OMA extensions*/	/*0: none, 1: AES CBC, 2: AES CTR*/	u8 encryption;	char TextualHeaders[5000];	u32 TextualHeadersLen;	char TransactionID[17];} GF_TrackCryptInfo;/*encrypts track - logs, progress: info callbacks, NULL for stdout*/GF_Err gf_ismacryp_encrypt_track(GF_ISOFile *mp4, GF_TrackCryptInfo *tci, void (*progress)(void *cbk, u32 done, u32 total), void *cbk);/*decrypts track - logs, progress: info callbacks, NULL for stdout*/GF_Err gf_ismacryp_decrypt_track(GF_ISOFile *mp4, GF_TrackCryptInfo *tci, void (*progress)(void *cbk, u32 done, u32 total), void *cbk);/*decrypt a file @drm_file: location of DRM data (cf MP4Box doc).@LogMsg: redirection for message or NULL for stdout*/GF_Err gf_ismacryp_decrypt_file(GF_ISOFile *mp4file, const char *drm_file);/*Crypt a the file @drm_file: location of DRM data.@LogMsg: redirection for message or NULL for stdout*/GF_Err gf_ismacryp_crypt_file(GF_ISOFile *mp4file, const char *drm_file);/*loads key and salt from a LOCAL gpac-DRM file (cf MP4Box doc)*/GF_Err gf_ismacryp_gpac_get_info(u32 stream_id, char *drm_file, char *key, char *salt);/*loads key and salt for MPEG4IP protected files*/Bool gf_ismacryp_mpeg4ip_get_info(char *kms_uri, char *key, char *salt);/*computes file hash. If file is ISO-based, computre hash according to OMA (P)DCF (without MutableDRMInformation box)*/GF_Err gf_media_get_file_hash(const char *file, u8 hash[20]);#ifdef __cplusplus}#endif#endif	/*_GF_ISMACRYP_H_*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -