]> granicus.if.org Git - handbrake/commitdiff
added HB_STATE_MUXING to hb_state_s and corresponding structure.
authorjohnallen <johnallenemail@gmail.com>
Sun, 7 Jan 2007 15:34:07 +0000 (15:34 +0000)
committerjohnallen <johnallenemail@gmail.com>
Sun, 7 Jan 2007 15:34:07 +0000 (15:34 +0000)
this state indicates the transition from the end of HB_STATE_WORKING to the beginning of HB_STATE_WORKDONE.
This state can take as long a 10 minutes on a long conversion.
The associated working structure contains a progress float.
Once we determine how to get a proper progress from the call to av_write_trailer in libavformat, we can update this progress.
HB, IHB, and HBTest are now using using HB_STATE_MUXING to provided feedback to the user.

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk/libhb@96 b64f7644-9d1e-0410-96f1-a4d463321fa5

common.h
muxcommon.c

index eba152f35d24462a159c85a29b81158a2519416e..0e53dde24c02d6c4756dd7de50dcf592f65ec8e5 100644 (file)
--- a/common.h
+++ b/common.h
@@ -289,6 +289,7 @@ struct hb_state_s
 #define HB_STATE_WORKING  8
 #define HB_STATE_PAUSED   16
 #define HB_STATE_WORKDONE 32
+#define HB_STATE_MUXING   64
     int state;
 
     union
@@ -322,6 +323,11 @@ struct hb_state_s
             int error;
         } workdone;
 
+        struct
+        {
+            /* HB_STATE_MUXING */
+            float progress;
+        } muxing;
     } param;
 };
 
index 93fa773e3cee1508ba035166e529216f91680c39..f1723ccf8d3c58be7bf86430ee2e01dd02dbc480 100644 (file)
@@ -158,6 +158,13 @@ static void MuxerFunc( void * _mux )
         struct stat sb;
         uint64_t bytes_total, frames_total;
 
+#define p state.param.muxing
+        /* Update the UI */
+        hb_state_t state;
+        state.state   = HB_STATE_MUXING;
+               p.progress = 0;
+        hb_set_state( job->h, &state );
+#undef p
         m->end( m );
 
         if( !stat( job->file, &sb ) )