diff options
author | jstebbins <[email protected]> | 2015-05-01 14:47:35 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2015-05-01 14:47:35 +0000 |
commit | 58b25a7664d9d063b404ec39270ff4cdfa333979 (patch) | |
tree | 3807be923b500ddc3f618170b7bd7c4900204bdd /libhb/rendersub.c | |
parent | 3e30a6ef3a449ac4cadb60fa738cc58f974c1794 (diff) |
libhb: Use a buffer flat to indicate EOF
... instead of a 0 length buffer.
This fixes this issue:
https://forum.handbrake.fr/viewtopic.php?f=12&t=31959
Theora can create 0 length output. These 0 length frames indicate
duplicate frames. So we can't use 0 length buffers to indicate the end
of the stream.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7143 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/rendersub.c')
-rw-r--r-- | libhb/rendersub.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libhb/rendersub.c b/libhb/rendersub.c index 21d039b20..3c17c4a01 100644 --- a/libhb/rendersub.c +++ b/libhb/rendersub.c @@ -336,7 +336,7 @@ static int vobsub_work( hb_filter_object_t * filter, hb_buffer_t * in = *buf_in; hb_buffer_t * sub; - if ( in->size <= 0 ) + if (in->s.flags & HB_BUF_FLAG_EOF) { *buf_in = NULL; *buf_out = in; @@ -563,7 +563,7 @@ static int ssa_work( hb_filter_object_t * filter, filter->subtitle->extradata_size); pv->script_initialized = 1; } - if ( in->size <= 0 ) + if (in->s.flags & HB_BUF_FLAG_EOF) { *buf_in = NULL; *buf_out = in; @@ -659,7 +659,7 @@ static int textsub_work(hb_filter_object_t * filter, pv->script_initialized = 1; } - if (in->size <= 0) + if (in->s.flags & HB_BUF_FLAG_EOF) { *buf_in = NULL; *buf_out = in; @@ -817,7 +817,7 @@ static int pgssub_work( hb_filter_object_t * filter, hb_buffer_t * in = *buf_in; hb_buffer_t * sub; - if ( in->size <= 0 ) + if (in->s.flags & HB_BUF_FLAG_EOF) { *buf_in = NULL; *buf_out = in; |