• 大小: 10.73MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-06
  • 语言: C/C++
  • 标签:

资源简介

Vc++流媒体播放器附源码程序 可供大家参考。。。。。。。。。。。。。。。。。。。。。。。。。。

资源截图

代码片段和文件信息

#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  MPlayer-1.0pre8\asmalign.h

     文件      19195  2006-06-12 02:35  MPlayer-1.0pre8\asxparser.c

     文件        891  2006-06-12 02:35  MPlayer-1.0pre8\asxparser.h

     文件      31040  2006-06-12 02:35  MPlayer-1.0pre8\AUTHORS

     文件       3850  2006-06-12 02:35  MPlayer-1.0pre8\bswap.h

     文件      28845  2006-06-12 02:35  MPlayer-1.0pre8\cfg-common.h

     文件      11939  2006-06-12 02:35  MPlayer-1.0pre8\cfg-mencoder.h

     文件        103  2006-06-12 02:35  MPlayer-1.0pre8\cfg-mplayer-def.h

     文件      15689  2006-06-12 02:35  MPlayer-1.0pre8\cfg-mplayer.h

     文件     109829  2006-06-12 02:35  MPlayer-1.0pre8\ChangeLog

     文件      30387  2006-06-12 02:35  MPlayer-1.0pre8\codec-cfg.c

     文件       1932  2006-06-12 02:35  MPlayer-1.0pre8\codec-cfg.h

     文件       2251  2006-06-12 02:35  MPlayer-1.0pre8\common.mak

     文件     224379  2006-06-12 02:35  MPlayer-1.0pre8\configure

     文件       3508  2006-06-12 02:35  MPlayer-1.0pre8\Copyright

     文件      18511  2006-06-12 02:35  MPlayer-1.0pre8\cpudetect.c

     文件       1195  2006-06-12 02:35  MPlayer-1.0pre8\cpudetect.h

     文件      13826  2006-06-12 02:35  MPlayer-1.0pre8\cputable.h

     文件       5533  2006-06-12 02:35  MPlayer-1.0pre8\debian\changelog

     文件       1288  2006-06-12 02:35  MPlayer-1.0pre8\debian\config

     文件       1549  2006-06-12 02:35  MPlayer-1.0pre8\debian\control

     文件        292  2006-06-12 02:35  MPlayer-1.0pre8\debian\copyright

     文件         84  2006-06-12 02:35  MPlayer-1.0pre8\debian\dirs

     文件        151  2006-06-12 02:35  MPlayer-1.0pre8\debian\menu

     文件        133  2006-06-12 02:35  MPlayer-1.0pre8\debian\mime

     文件       1246  2006-06-12 02:35  MPlayer-1.0pre8\debian\postinst

     文件        279  2006-06-12 02:35  MPlayer-1.0pre8\debian\postrm

     文件        521  2006-06-12 02:35  MPlayer-1.0pre8\debian\README.debian

     文件       2597  2006-06-12 02:35  MPlayer-1.0pre8\debian\rules

     文件       1066  2006-06-12 02:35  MPlayer-1.0pre8\debian\templates

............此处省略2750个文件信息

评论

共有 条评论

相关资源