OSDN Git Service

Missed file
authoreddyg <eddyg@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Wed, 6 May 2009 04:17:18 +0000 (04:17 +0000)
committereddyg <eddyg@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Wed, 6 May 2009 04:17:18 +0000 (04:17 +0000)
git-svn-id: svn://localhost/HandBrake/trunk@2390 b64f7644-9d1e-0410-96f1-a4d463321fa5

libhb/encvobsub.c [new file with mode: 0644]

diff --git a/libhb/encvobsub.c b/libhb/encvobsub.c
new file mode 100644 (file)
index 0000000..e04fcd4
--- /dev/null
@@ -0,0 +1,61 @@
+/* $Id: envvobsub.c
+
+   This file is part of the HandBrake source code.
+   Homepage: <http://handbrake.fr/>.
+   It may be used under the terms of the GNU General Public License. */
+
+#include "hb.h"
+
+struct hb_work_private_s
+{
+    hb_job_t * job;
+};
+
+int encsubInit( hb_work_object_t * w, hb_job_t * job )
+{
+    hb_work_private_t * pv;
+
+    pv              = calloc( 1, sizeof( hb_work_private_t ) );
+    w->private_data = pv;
+
+    pv->job = job;
+
+    return 0;
+}
+
+int encsubWork( hb_work_object_t * w, hb_buffer_t ** buf_in,
+                hb_buffer_t ** buf_out )
+{
+    hb_work_private_t * pv = w->private_data;
+    hb_buffer_t * in = *buf_in;
+
+    if ( in->size <= 0 )
+    {
+        /* EOF on input stream - send it downstream & say that we're done */
+        *buf_out = in;
+        *buf_in = NULL;
+        return HB_WORK_DONE;
+    }
+
+    /*
+     * Don't do anything at present, just pass the buffer on.
+     */
+    *buf_out = in;
+    *buf_in = NULL;
+
+    return HB_WORK_OK; 
+}
+
+void encsubClose( hb_work_object_t * w )
+{
+    free( w->private_data );
+}
+
+hb_work_object_t hb_encsub =
+{
+    WORK_ENCSUB,
+    "VOBSUB encoder",
+    encsubInit,
+    encsubWork,
+    encsubClose
+};