comparison mplayer.c @ 29571:94524110f645

Make the loop detection for mov reference files less aggressive, fixes playback of http://stream.qtv.apple.com/qtv/wgbh/http/nova_eu/nova_eu_3012c01_mp4_ref.mov
author reimar
date Tue, 01 Sep 2009 15:52:13 +0000
parents 647445e4999e
children ccdfb20713eb
comparison
equal deleted inserted replaced
29570:eb2567b65311 29571:94524110f645
3217 3217
3218 bname=mp_basename(playlist_entry); 3218 bname=mp_basename(playlist_entry);
3219 if ((strlen(bname)>10) && !strncmp(bname,"qt",2) && !strncmp(bname+3,"gateQT",6)) 3219 if ((strlen(bname)>10) && !strncmp(bname,"qt",2) && !strncmp(bname+3,"gateQT",6))
3220 continue; 3220 continue;
3221 3221
3222 if (!strncmp(bname,mp_basename(filename),strlen(bname))) // ignoring self-reference 3222 if (!strcmp(playlist_entry,filename)) // ignoring self-reference
3223 continue; 3223 continue;
3224 3224
3225 entry = play_tree_new(); 3225 entry = play_tree_new();
3226 3226
3227 if (filename && !strcmp(mp_basename(playlist_entry),playlist_entry)) // add reference path of current file 3227 if (filename && !strcmp(mp_basename(playlist_entry),playlist_entry)) // add reference path of current file
3229 temp=malloc((strlen(filename)-strlen(mp_basename(filename))+strlen(playlist_entry)+1)); 3229 temp=malloc((strlen(filename)-strlen(mp_basename(filename))+strlen(playlist_entry)+1));
3230 if (temp) 3230 if (temp)
3231 { 3231 {
3232 strncpy(temp, filename, strlen(filename)-strlen(mp_basename(filename))); 3232 strncpy(temp, filename, strlen(filename)-strlen(mp_basename(filename)));
3233 temp[strlen(filename)-strlen(mp_basename(filename))]='\0'; 3233 temp[strlen(filename)-strlen(mp_basename(filename))]='\0';
3234 if (!strcmp(temp, filename)) {
3235 free(temp);
3236 continue;
3237 }
3234 strcat(temp, playlist_entry); 3238 strcat(temp, playlist_entry);
3235 play_tree_add_file(entry,temp); 3239 play_tree_add_file(entry,temp);
3236 mp_msg(MSGT_CPLAYER,MSGL_V,"Resolving reference to %s.\n",temp); 3240 mp_msg(MSGT_CPLAYER,MSGL_V,"Resolving reference to %s.\n",temp);
3237 free(temp); 3241 free(temp);
3238 } 3242 }