summaryrefslogtreecommitdiffstats
path: root/subreader.c
diff options
context:
space:
mode:
authorkmkaplan <kmkaplan@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-07-25 18:05:08 +0000
committerkmkaplan <kmkaplan@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-07-25 18:05:08 +0000
commit86be4b35621bf9a4d2347c4add6dedc290940987 (patch)
tree79c6a8cc0028ae6b8c4ca12f5b96270c524f752f /subreader.c
parentfd031ad208f823de138f574da81484bc23b320dc (diff)
downloadmpv-86be4b35621bf9a4d2347c4add6dedc290940987.tar.bz2
mpv-86be4b35621bf9a4d2347c4add6dedc290940987.tar.xz
Correct dump_srt millisecond output
Add support for input from frame based subtitles to dump_srt. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6793 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'subreader.c')
-rw-r--r--subreader.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/subreader.c b/subreader.c
index 5fe0545dff..01d1f44fb5 100644
--- a/subreader.c
+++ b/subreader.c
@@ -915,13 +915,15 @@ void list_sub_file(subtitle* subs){
printf ("Read %i subtitles, %i errors.\n", sub_num, sub_errs);
}
-void dump_srt(subtitle* subs){
+void dump_srt(subtitle* subs, float fps){
int i,j;
int h,m,s,ms;
FILE * fd;
subtitle * onesub;
unsigned long temp;
+ if (!sub_uses_time && sub_fps == 0)
+ sub_fps = fps;
fd=fopen("dumpsub.srt","w");
if(!fd)
{
@@ -934,17 +936,23 @@ unsigned long temp;
fprintf(fd,"%d\n",i+1);//line number
temp=onesub->start;
+ if (!sub_uses_time)
+ temp = temp * 100 / sub_fps;
+ temp -= sub_delay * 100;
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
+ ms=temp*10; //ms=1*10
fprintf(fd,"%02d:%02d:%02d,%03d --> ",h,m,s,ms);
temp=onesub->end;
+ if (!sub_uses_time)
+ temp = temp * 100 / sub_fps;
+ temp -= sub_delay * 100;
h=temp/360000;temp%=360000;
m=temp/6000; temp%=6000;
s=temp/100; temp%=100;
- ms=temp;
+ ms=temp*10;
fprintf(fd,"%02d:%02d:%02d,%03d\n",h,m,s,ms);
for(j=0;j<onesub->lines;j++)