History

rework closing

Sigrid Solveig Haflínudóttir committed 5 years ago

Commit 03ea1091 parent 489f4a72 files · +29 −24Browse files

Unified · Split

2 files
  1. main.c +11 −5
  2. rtmp.c +18 −19
main.c+11−5
@@ -19,7 +19,7 @@ usage(void) · 18 unmodified lines
19void19void
20threadmain(int argc, char **argv)20threadmain(int argc, char **argv)
21{21{
22 Biobuf *a, *v;22 Biobuf *a, v;
23 u64int ns;23 u64int ns;
24 ulong sid;24 ulong sid;
25 IVFrame f;25 IVFrame f;
@@ -41,7 +41,7 @@ threadmain(int argc, char **argv) · 15 unmodified lines
41 41
42 if(argc != 1)42 if(argc != 1)
43 usage();43 usage();
44 if((v = Bfdopen(0, OREAD)) == nil || ivfopen(v, &ivf) != 0)44 if(Binit(&v, 0, OREAD) != 0 || ivfopen(&v, &ivf) != 0)
45 sysfatal("%r");45 sysfatal("%r");
46 if(strcmp(ivf.type, "AVC1") != 0)46 if(strcmp(ivf.type, "AVC1") != 0)
47 sysfatal("not H.264");47 sysfatal("not H.264");
@@ -58,14 +58,20 @@ threadmain(int argc, char **argv) · 10 unmodified lines
58 58
59 memset(&f, 0, sizeof(f));59 memset(&f, 0, sizeof(f));
60 for(;;){60 for(;;){
61 if(ivfread(v, &f) != 0)61 if(ivfread(&v, &f) != 0)
62 sysfatal("%r");62 sysfatal("%r");
63 if(f.sz == 0)63 if(f.sz == 0)
64 break;64 break;
65 ns = ivfns(&ivf, f.ts)/1000000ULL;65 ns = ivfns(&ivf, f.ts)/1000000ULL;
66 if(rtmpdata(r, sid, ns, Tvideo, f.buf, f.sz) != 0)66 if(rtmpdata(r, sid, ns, Tvideo, f.buf, f.sz) != 0){
67 sysfatal("%r");67 fprint(2, "%r\n");
68 break;
69 }
68 }70 }
69 71
72 if(a != nil)
73 Bterm(a);
74 rtmpclose(r);
75
70 threadexitsall(nil);76 threadexitsall(nil);
71}77}
rtmp.c+18−19
@@ -404,23 +404,6 @@ err: · 403 unmodified lines
404 return -1;404 return -1;
405}405}
406 406
407static void
408rtmpfree(RTMP *r)
409{
410 free(r->i.b);
411 free(r->o.b);
412 free(r->tcurl);
413 free(r->app);
414 free(r->inst);
415 free(r->path);
416 if(r->c != nil){
417 sendp(r->c, "done");
418 chanfree(r->c);
419 }
420 Bterm(r);
421 free(r);
422}
423
424static int407static int
425pong(RTMP *r, s32int n)408pong(RTMP *r, s32int n)
426{409{
@@ -621,7 +604,7 @@ err: · 194 unmodified lines
621 qunlock(r);604 qunlock(r);
622 }605 }
623 606
624 rtmpfree(r);607 chanclose(r->c);
625 608
626 threadexitsall(res == 0 ? nil : "error");609 threadexitsall(res == 0 ? nil : "error");
627}610}
@@ -994,6 +977,21 @@ msgfmt(Fmt *f) · 366 unmodified lines
994 return 0;977 return 0;
995}978}
996 979
980static void
981rtmpfree(RTMP *r)
982{
983 free(r->i.b);
984 free(r->o.b);
985 free(r->tcurl);
986 free(r->app);
987 free(r->inst);
988 free(r->path);
989 if(r->c != nil)
990 chanfree(r->c);
991 Bterm(r);
992 free(r);
993}
994
997RTMP *995RTMP *
998rtmpdial(char *url)996rtmpdial(char *url)
999{997{
@@ -1098,5 +1096,6 @@ rtmpclose(RTMP *r) · 98 unmodified lines
1098 if(r->fd >= 0)1096 if(r->fd >= 0)
1099 close(r->fd);1097 close(r->fd);
1100 if(r->c != nil)1098 if(r->c != nil)
1101 chanclose(r->c);1099 recvp(r->c);
1100 rtmpfree(r);
1102}1101}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t