Vc++流媒体播放器源码
标签:
•
文件类型: .rar
•
文件大小: 10.73MB
•
下载次数: 1
•
Vc++流媒体播放器附源码程序 可供大家参考。。。。。。。。。。。。。。。。。。。。。。。。。。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 170 2006-06-12 02:35 MPlayer-1.0pre8asmalign.h
文件 19195 2006-06-12 02:35 MPlayer-1.0pre8asxparser.c
文件 891 2006-06-12 02:35 MPlayer-1.0pre8asxparser.h
文件 31040 2006-06-12 02:35 MPlayer-1.0pre8AUTHORS
文件 3850 2006-06-12 02:35 MPlayer-1.0pre8swap.h
文件 28845 2006-06-12 02:35 MPlayer-1.0pre8cfg-common.h
文件 11939 2006-06-12 02:35 MPlayer-1.0pre8cfg-mencoder.h
文件 103 2006-06-12 02:35 MPlayer-1.0pre8cfg-mplayer-def.h
文件 15689 2006-06-12 02:35 MPlayer-1.0pre8cfg-mplayer.h
文件 109829 2006-06-12 02:35 MPlayer-1.0pre8ChangeLog
文件 30387 2006-06-12 02:35 MPlayer-1.0pre8codec-cfg.c
文件 1932 2006-06-12 02:35 MPlayer-1.0pre8codec-cfg.h
文件 2251 2006-06-12 02:35 MPlayer-1.0pre8common.mak
文件 224379 2006-06-12 02:35 MPlayer-1.0pre8configure
文件 3508 2006-06-12 02:35 MPlayer-1.0pre8Copyright
文件 18511 2006-06-12 02:35 MPlayer-1.0pre8cpudetect.c
文件 1195 2006-06-12 02:35 MPlayer-1.0pre8cpudetect.h
文件 13826 2006-06-12 02:35 MPlayer-1.0pre8cputable.h
文件 5533 2006-06-12 02:35 MPlayer-1.0pre8debianchangelog
文件 1288 2006-06-12 02:35 MPlayer-1.0pre8debianconfig
文件 1549 2006-06-12 02:35 MPlayer-1.0pre8debiancontrol
文件 292 2006-06-12 02:35 MPlayer-1.0pre8debiancopyright
文件 84 2006-06-12 02:35 MPlayer-1.0pre8debiandirs
文件 151 2006-06-12 02:35 MPlayer-1.0pre8debianmenu
文件 133 2006-06-12 02:35 MPlayer-1.0pre8debianmime
文件 1246 2006-06-12 02:35 MPlayer-1.0pre8debianpostinst
文件 279 2006-06-12 02:35 MPlayer-1.0pre8debianpostrm
文件 521 2006-06-12 02:35 MPlayer-1.0pre8debianREADME.debian
文件 2597 2006-06-12 02:35 MPlayer-1.0pre8debian
ules
文件 1066 2006-06-12 02:35 MPlayer-1.0pre8debian emplates
............此处省略2750个文件信息
#include “config.h“
#include
#include
#include
#include
#include
#include “playtree.h“
#include “playtreeparser.h“
#include “libmpdemux/stream.h“
#include “libmpdemux/demuxer.h“
#include “asxparser.h“
#include “mp_msg.h“
#include “m_config.h“
extern m_config_t* mconfig;
////// List utils
void
asx_list_add(void* list_ptrvoid* entry){
void** list = *(void***)list_ptr;
int c = 0;
if(list != NULL)
for( ; list[c] != NULL; c++) ;
list = (void*)realloc(listsizeof(void*)*(c+2));
list[c] = entry;
list[c+1] = NULL;
*(void***)list_ptr = list;
}
void
asx_list_remove(void* list_ptrvoid* entryASX_FreeFunc free_func) {
void** list = *(void***)list_ptr;
int ce = -1;
if(list == NULL) return;
for(c = 0 ; list[c] != NULL; c++){
if(list[c] == entry) e = c;
}
if(e == -1) return; // Not found
if(free_func != NULL) free_func(list[e]);
if(c == 1) { // Only one entry we drop all
free(list);
*(void**)list_ptr = NULL;
return;
}
if(c > e) // If c==e the memmove is not needed
memmove(list+elist+e+1(c-e)*sizeof(void*));
list = (void*)realloc(list(c-1)*sizeof(void*));
list[c-1] = NULL;
*(void***)list_ptr = list;
}
void
asx_list_free(void* list_ptrASX_FreeFunc free_func) {
void** ptr = *(void***)list_ptr;
if(ptr == NULL) return;
if(free_func != NULL) {
for( ; *ptr != NULL ; ptr++)
free_func(*ptr);
}
free(*(void**)list_ptr);
*(void**)list_ptr = NULL;
}
/////// Attribs utils
char*
asx_get_attrib(char* attribchar** attribs) {
char** ptr;
if(attrib == NULL || attribs == NULL) return NULL;
for(ptr = attribs; ptr[0] != NULL; ptr += 2){
if(strcasecmp(ptr[0]attrib) == 0)
return strdup(ptr[1]);
}
return NULL;
}
int
asx_attrib_to_enum(char* valchar** valid_vals) {
char** ptr;
int r = 0;
if(valid_vals == NULL || val == NULL) return -2;
for(ptr = valid_vals ; ptr[0] != NULL ; ptr++) {
if(strcasecmp(valptr[0]) == 0) return r;
r++;
}
return -1;
}
static void
asx_warning_attrib_invalid(ASX_Parser_t* parser char* elem char* attrib
char** valid_valschar* val) {
char *str*vals**ptr;
int len;
if(valid_vals == NULL || valid_vals[0] == NULL) return;
len = strlen(valid_vals[0]) + 1;
for(ptr = valid_vals+1 ; ptr[0] != NULL; ptr++) {
len += strlen(ptr[0]);
len += ((ptr[1] == NULL) ? 4 : 2);
}
str = vals = (char*)malloc(len);
vals += sprintf(vals“%s“valid_vals[0]);
for(ptr = valid_vals + 1 ; ptr[0] != NULL ; ptr++) {
if(ptr[1] == NULL)
vals += sprintf(vals“ or %s“ptr[0]);
else
vals += sprintf(vals“ %s“ptr[0]);
}
mp_msg(MSGT_PLAYTREEMSGL_ERR“at line %d : attribute %s of element %s is invalid (%s). Valid values are %s“
parser->lineattribelemvalstr);
free(str);
}
static int
asx_get_yes_no_attrib(ASX_Parser_t* parser char* element char* attribchar** attribsint def) {
char* val = asx_get_attr
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 170 2006-06-12 02:35 MPla
文件 19195 2006-06-12 02:35 MPla
文件 891 2006-06-12 02:35 MPla
文件 31040 2006-06-12 02:35 MPla
文件 3850 2006-06-12 02:35 MPla
文件 28845 2006-06-12 02:35 MPla
文件 11939 2006-06-12 02:35 MPla
文件 103 2006-06-12 02:35 MPla
文件 15689 2006-06-12 02:35 MPla
文件 109829 2006-06-12 02:35 MPla
文件 30387 2006-06-12 02:35 MPla
文件 1932 2006-06-12 02:35 MPla
文件 2251 2006-06-12 02:35 MPla
文件 224379 2006-06-12 02:35 MPla
文件 3508 2006-06-12 02:35 MPla
文件 18511 2006-06-12 02:35 MPla
文件 1195 2006-06-12 02:35 MPla
文件 13826 2006-06-12 02:35 MPla
文件 5533 2006-06-12 02:35 MPla
文件 1288 2006-06-12 02:35 MPla
文件 1549 2006-06-12 02:35 MPla
文件 292 2006-06-12 02:35 MPla
文件 84 2006-06-12 02:35 MPla
文件 151 2006-06-12 02:35 MPla
文件 133 2006-06-12 02:35 MPla
文件 1246 2006-06-12 02:35 MPla
文件 279 2006-06-12 02:35 MPla
文件 521 2006-06-12 02:35 MPla
文件 2597 2006-06-12 02:35 MPla
ules
文件 1066 2006-06-12 02:35 MPla
............此处省略2750个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)