Mercurial > mplayer.hg
view osdep/glob-win.c @ 16805:50fb26acbcba
processing audio is sometimes essential for a/v sync, so 1000l to
whoever made rawvideo muxer disable audio!!
with this patch, audio is processed but simply thrown away by the
muxer. various 'error' conditions in rawvideo muxer are removed to
make it work. feel free to re-add them if they can be done without
breaking anything, but do not use printf !!!!
btw old behavior can be obtained by manually specifying -nosound.
author | rfelker |
---|---|
date | Wed, 19 Oct 2005 05:44:27 +0000 |
parents | 7b0bc557987b |
children | 08cac43f1e38 |
line wrap: on
line source
#include <sys/types.h> #include <stdio.h> #include "../config.h" #ifndef HAVE_GLOB #ifdef __MINGW32__ #include <windows.h> #include "glob.h" int glob(const char *pattern, int flags, int (*errfunc)(const char *epath, int eerrno), glob_t *pglob) { HANDLE searchhndl; WIN32_FIND_DATA found_file; if(errfunc)printf("glob():ERROR:Sorry errfunc not supported by this implementation\n"); if(flags)printf("glob():ERROR:Sorry no flags supported by this globimplementation\n"); //printf("PATTERN \"%s\"\n",pattern); pglob->gl_pathc = 0; searchhndl = FindFirstFile( pattern,&found_file); if(searchhndl == INVALID_HANDLE_VALUE) { if(GetLastError() == ERROR_FILE_NOT_FOUND) { pglob->gl_pathc = 0; //printf("could not find a file matching your search criteria\n"); return 1; } else { //printf("glob():ERROR:FindFirstFile: %i\n",GetLastError()); return 1; } } pglob->gl_pathv = malloc(sizeof(char*)); pglob->gl_pathv[0] = strdup(found_file.cFileName); pglob->gl_pathc++; while(1) { if(!FindNextFile(searchhndl,&found_file)) { if(GetLastError()==ERROR_NO_MORE_FILES) { //printf("glob(): no more files found\n"); break; } else { //printf("glob():ERROR:FindNextFile:%i\n",GetLastError()); return 1; } } else { //printf("glob: found file %s\n",found_file.cFileName); pglob->gl_pathc++; pglob->gl_pathv = realloc(pglob->gl_pathv,pglob->gl_pathc * sizeof(char*)); pglob->gl_pathv[pglob->gl_pathc-1] = strdup(found_file.cFileName); } } FindClose(searchhndl); return 0; } void globfree(glob_t *pglob) { int i; for(i=0; i <pglob->gl_pathc ;i++) { free(pglob->gl_pathv[i]); } free(pglob->gl_pathv); } #endif /*__MINGW32__*/ #endif /*HAVE_GLOB*/ #if 0 int main(){ glob_t gg; printf("globtest\n"); glob( "*.jpeg",0,NULL,&gg ); { int i; for(i=0;i<gg.gl_pathc;i++)printf("GLOBED:%i %s\n",i,gg.gl_pathv[i]); } globfree(&gg); return 0; } #endif