summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoriive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-05-27 17:20:55 +0000
committeriive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-05-27 17:20:55 +0000
commit1eb8577aa59c24a27e644bcf868975b27805f384 (patch)
tree2a083a8ea1fa5ec175d4d2c6ac5c2c0b8a9bba14
parentfd23331df9cb97e955cd7ba0f6ba40f6f48bb7d4 (diff)
downloadmpv-1eb8577aa59c24a27e644bcf868975b27805f384.tar.bz2
mpv-1eb8577aa59c24a27e644bcf868975b27805f384.tar.xz
added dump subtitles to .srt
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6209 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--subreader.c40
-rw-r--r--subreader.h1
2 files changed, 41 insertions, 0 deletions
diff --git a/subreader.c b/subreader.c
index 71913a6d72..d3e75a9263 100644
--- a/subreader.c
+++ b/subreader.c
@@ -886,6 +886,46 @@ void list_sub_file(subtitle* subs){
printf ("Read %i subtitles, %i errors.\n", sub_num, sub_errs);
}
+void dump_srt(subtitle* subs){
+int i,j;
+int h,m,s,ms;
+FILE * fd;
+subtitle * onesub;
+unsigned long temp;
+
+ fd=fopen("dumpsub.srt","w");
+ if(!fd)
+ {
+ perror("dump_srt: fopen");
+ return;
+ }
+ for(i=0;i<sub_num;i++)
+ {
+ onesub=subs+i; //=&subs[i];
+ fprintf(fd,"%d\n",i+1);//line number
+
+ temp=onesub->start;
+ h=temp/360000;temp%=360000; //h =1*100*60*60
+ m=temp/6000; temp%=6000; //m =1*100*60
+ s=temp/100; temp%=100; //s =1*100
+ ms=temp; //ms=1
+ fprintf(fd,"%02d:%02d:%02d,%03d --> ",h,m,s,ms);
+
+ temp=onesub->end;
+ h=temp/360000;temp%=360000;
+ m=temp/6000; temp%=6000;
+ s=temp/100; temp%=100;
+ ms=temp;
+ fprintf(fd,"%02d:%02d:%02d,%03d\n",h,m,s,ms);
+
+ for(j=0;j<onesub->lines;j++)
+ fprintf(fd,"%s\n",onesub->text[j]);
+
+ fprintf(fd,"\n");
+ }
+ fclose(fd);
+ printf ("SUB: Subtitles dumped in \'dumpsub.srt\'.\n");
+}
void dump_mpsub(subtitle* subs, float fps){
int i,j;
diff --git a/subreader.h b/subreader.h
index 3f494d6b7c..df9c6d4091 100644
--- a/subreader.h
+++ b/subreader.h
@@ -38,6 +38,7 @@ typedef struct {
subtitle* sub_read_file (char *filename, float pts);
char * sub_filename(char *path, char * fname);
void list_sub_file(subtitle* subs);
+void dump_srt(subtitle* subs);
void dump_mpsub(subtitle* subs, float fps);
void sub_free( subtitle * subs );
void find_sub(subtitle* subtitles,int key);