$ git clone http://tcclient.ion.nu/tc_client.git
commit e4762ddcf8f275dbd4c51ced5c89d6463abc8ae4
Author: Alicia <...>
Date: Tue Jun 23 14:50:16 2015 +0200
Flush stdout after printing unknown RTMP types, and return upon <1 reads in b_read.
diff --git a/ChangeLog b/ChangeLog
index fd7145a..60a8bc5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
0.34:
Fixed memory alignment in rtmp/amf code (for CPU architectures that are picky about it)
Print version info when called with -v/--version (contributed by Jade)
+Flush stdout after printing unknown RTMP types, and return upon <1 reads in b_read.
tc_client-gtk: fixed windows compatibility (w32_runcmd and strndup)
tc_client-gtk and camviewer: added some compatibility macros for older libav versions.
0.33:
diff --git a/client.c b/client.c
index f89ab8a..03176a2 100644
--- a/client.c
+++ b/client.c
@@ -49,6 +49,7 @@ void b_read(int sock, void* buf, size_t len)
while(len>0)
{
size_t r=read(sock, buf, len);
+ if(r<1){return;}
len-=r;
buf+=r;
}
@@ -667,7 +668,7 @@ int main(int argc, char** argv)
if(!rtmpres){printf("Server disconnected\n"); break;}
if(rtmpres==2){continue;} // Not disconnected, but we didn't get a complete chunk yet either
if(rtmp.type==RTMP_VIDEO || rtmp.type==RTMP_AUDIO){stream_handledata(&rtmp); continue;}
- if(rtmp.type!=RTMP_AMF0){printf("Got RTMP type 0x%x\n", rtmp.type); continue;}
+ if(rtmp.type!=RTMP_AMF0){printf("Got RTMP type 0x%x\n", rtmp.type); fflush(stdout); continue;}
struct amf* amfin=amf_parse(rtmp.buf, rtmp.length);
if(amfin->itemcount>0 && amfin->items[0].type==AMF_STRING)
{