-
大小: 10.73MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-11-06
- 語言: C/C++
- 標(biāo)簽:
資源簡介
Vc++流媒體播放器附源碼程序 可供大家參考。。。。。。。。。。。。。。。。。。。。。。。。。。

代碼片段和文件信息
#include?“config.h“
#include?
#include?
#include?
#include?
#include?
#include?“playtree.h“
#include?“playtreeparser.h“
#include?“l(fā)ibmpdemux/stream.h“
#include?“l(fā)ibmpdemux/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
?????文件???????1066??2006-06-12?02:35??MPla
............此處省略2750個文件信息
評論
共有 條評論