[svn r394] gmyth version incremented to 0.2. gmyth_transcoder start/pause/cancel/resume methods added. trunk
authormelunko
Tue Mar 06 00:55:35 2007 +0000 (2007-03-06)
branchtrunk
changeset 389dbf952e956b5
parent 388 7c2dde09dc8a
child 390 0298ee6b7449
[svn r394] gmyth version incremented to 0.2. gmyth_transcoder start/pause/cancel/resume methods added.
gmyth/configure.ac
gmyth/debian/changelog
gmyth/m4/configure.ac
gmyth/src/gmyth_jobqueue.c
gmyth/src/gmyth_jobqueue.h
gmyth/src/gmyth_transcode.c
gmyth/src/gmyth_transcode.h
     1.1 --- a/gmyth/configure.ac	Mon Mar 05 23:34:43 2007 +0000
     1.2 +++ b/gmyth/configure.ac	Tue Mar 06 00:55:35 2007 +0000
     1.3 @@ -3,14 +3,14 @@
     1.4  
     1.5  AC_PREREQ(2.50)
     1.6  
     1.7 -AC_INIT([gmyth],[0.1])
     1.8 +AC_INIT([gmyth],[0.2])
     1.9  
    1.10  dnl AC_CONFIG_SRCDIR([src/mmyth_main.c])
    1.11  AC_CONFIG_HEADER(config.h)
    1.12  
    1.13  dnl when going to/from release please set the nano (fourth number) right !
    1.14  dnl releases only do Wall, SVN and prerelease does Werror too
    1.15 -AS_VERSION(gmyth, GMYTH, 0, 1, 0, 8, GMYTH_SVN="no", GMYTH_SVN="yes")
    1.16 +AS_VERSION(gmyth, GMYTH, 0, 2, 0, 0, GMYTH_SVN="no", GMYTH_SVN="yes")
    1.17  GMYTH_MAJORMINOR=$GMYTH_MAJOR_VERSION.$GMYTH_MINOR_VERSION
    1.18  AC_SUBST(GMYTH_MAJORMINOR)
    1.19  
     2.1 --- a/gmyth/debian/changelog	Mon Mar 05 23:34:43 2007 +0000
     2.2 +++ b/gmyth/debian/changelog	Tue Mar 06 00:55:35 2007 +0000
     2.3 @@ -1,4 +1,12 @@
     2.4 -gmyth (0.1-indt1) unstable; urgency=low
     2.5 +gmyth (0.2) unstable; urgency=low
     2.6 +
     2.7 +  * Included remote file transcoding
     2.8 +  * Included recording profile management
     2.9 +  * Several bug fixes
    2.10 +
    2.11 + -- Hallyson Melo <hallyson.melo@indt.org.br>  Mon,  5 Mar 2007 14:46:08 -0300
    2.12 +
    2.13 +gmyth (0.1) unstable; urgency=low
    2.14  
    2.15    * Initial Maemo Package.
    2.16  
     3.1 --- a/gmyth/m4/configure.ac	Mon Mar 05 23:34:43 2007 +0000
     3.2 +++ b/gmyth/m4/configure.ac	Tue Mar 06 00:55:35 2007 +0000
     3.3 @@ -3,7 +3,7 @@
     3.4  
     3.5  AC_PREREQ(2.50)
     3.6  
     3.7 -AC_INIT([gmyth],[0.1])
     3.8 +AC_INIT([gmyth],[0.2])
     3.9  
    3.10  dnl AC_CONFIG_SRCDIR([src/mmyth_main.c])
    3.11  AC_CONFIG_HEADER(config.h)
    3.12 @@ -213,11 +213,11 @@
    3.13  
    3.14  ## Check for gmyth-0.1
    3.15  
    3.16 -PKG_CHECK_MODULES(LIBGMYTH, gmyth-0.1, HAVE_LIBGMYTH=yes,HAVE_LIBGMYTH=no)
    3.17 +PKG_CHECK_MODULES(LIBGMYTH, gmyth-0.2, HAVE_LIBGMYTH=yes,HAVE_LIBGMYTH=no)
    3.18  
    3.19 -# Give error and exit if we don't have gmyth-0.1
    3.20 +# Give error and exit if we don't have gmyth-0.2
    3.21  if test "x$HAVE_LIBGMYTH" = "xno"; then
    3.22 -  AC_MSG_ERROR(you need gmyth-0.1 installed)
    3.23 +  AC_MSG_ERROR(you need gmyth-0.2 installed)
    3.24  fi
    3.25  
    3.26  # make LIBXML_CFLAGS and LIBXML_LIBS available
     4.1 --- a/gmyth/src/gmyth_jobqueue.c	Mon Mar 05 23:34:43 2007 +0000
     4.2 +++ b/gmyth/src/gmyth_jobqueue.c	Tue Mar 06 00:55:35 2007 +0000
     4.3 @@ -39,7 +39,7 @@
     4.4   * @return gboolean - result of connection
     4.5   *
     4.6   */
     4.7 -GMythSocket*
     4.8 +static GMythSocket*
     4.9  backend_connect (GMythBackendInfo *backend_info)
    4.10  {
    4.11      GMythSocket *socket = gmyth_socket_new ();
    4.12 @@ -66,7 +66,7 @@
    4.13   * @return the value returned by the backend
    4.14   *
    4.15   */
    4.16 -GString* send_command(GMythSocket *socket, gchar* action,
    4.17 +static GString* send_command(GMythSocket *socket, gchar* action,
    4.18                        gchar* job, gint chanid, gchar* starttime,
    4.19                        gchar* options)
    4.20  {
    4.21 @@ -94,28 +94,27 @@
    4.22   * @return 0 if success and -1 if error
    4.23   *
    4.24   */
    4.25 -gint test_result(gchar* ret, gchar* value)
    4.26 +static gboolean test_result(gchar* ret, gchar* value)
    4.27  {
    4.28 -        if (g_ascii_strcasecmp(ret, value) == 0)
    4.29 -            return 0;
    4.30 -        else
    4.31 -        {
    4.32 -            g_debug("JobQueue Error: %s", ret);
    4.33 -            return -1;
    4.34 -        }
    4.35 -
    4.36 +    if (g_ascii_strcasecmp(ret, value) == 0)
    4.37 +        return TRUE;
    4.38 +    else {
    4.39 +        g_debug("JobQueue Error: %s", ret);
    4.40 +        return FALSE;
    4.41 +    }
    4.42  }
    4.43  
    4.44  /** Function to add a job inside JOBQUEUE
    4.45   *
    4.46   * @param transcode object holding all the info about the transcoding
    4.47   * @param job the job you want to add the action
    4.48 - * @return the value of the key
    4.49 + * @return TRUE if the job was added, FALSE if not
    4.50   *
    4.51   */
    4.52 -gint gmyth_jobqueue_add_job (GMythTranscode* transcode, gchar* job)
    4.53 +gint gmyth_jobqueue_add_job (GMythTranscoder* transcode, gchar* job)
    4.54  {
    4.55 -    GMythSocket *socket = backend_connect(transcode->backend_info);
    4.56 +    //fixme: disconnect this socket
    4.57 +    GMythSocket *socket = backend_connect (transcode->backend_info);
    4.58      if (socket != NULL)
    4.59      {
    4.60          GString* options = g_string_new ("");
    4.61 @@ -133,6 +132,7 @@
    4.62                  g_string_append_printf(options, " %s", transcode->profile);
    4.63          }
    4.64  
    4.65 +	//fixme: allocation 
    4.66          GString* ret = send_command(socket, "ADD", job, transcode->chanid,
    4.67                                      transcode->starttime, options->str);
    4.68  
    4.69 @@ -142,9 +142,7 @@
    4.70          g_free(ret);
    4.71  
    4.72          return res;
    4.73 -    }
    4.74 -    else
    4.75 -    {
    4.76 +    } else {
    4.77          g_debug("JobQueue Connection Failed");
    4.78          return -1;
    4.79      }
    4.80 @@ -158,7 +156,7 @@
    4.81   * @return the value of the key
    4.82   *
    4.83   */
    4.84 -gint gmyth_jobqueue_change_cmd (GMythTranscode* transcode, gchar* action,
    4.85 +gboolean gmyth_jobqueue_change_cmd (GMythTranscoder* transcode, gchar* action,
    4.86                                  gchar* job)
    4.87  {
    4.88      GMythSocket *socket = backend_connect(transcode->backend_info);
    4.89 @@ -173,9 +171,7 @@
    4.90          g_free(ret);
    4.91  
    4.92          return res;
    4.93 -    }
    4.94 -    else
    4.95 -    {
    4.96 +    } else {
    4.97          g_debug("JobQueue Connection Failed");
    4.98          return -1;
    4.99      }
     5.1 --- a/gmyth/src/gmyth_jobqueue.h	Mon Mar 05 23:34:43 2007 +0000
     5.2 +++ b/gmyth/src/gmyth_jobqueue.h	Tue Mar 06 00:55:35 2007 +0000
     5.3 @@ -44,8 +44,8 @@
     5.4  
     5.5  G_BEGIN_DECLS
     5.6  
     5.7 -gint gmyth_jobqueue_add_job (GMythTranscode* transcode, gchar* job);
     5.8 -gint gmyth_jobqueue_change_cmd (GMythTranscode* transcode, gchar* action,
     5.9 +gint gmyth_jobqueue_add_job (GMythTranscoder* transcode, gchar* job);
    5.10 +gint gmyth_jobqueue_change_cmd (GMythTranscoder* transcode, gchar* action,
    5.11                                  gchar* job);
    5.12  
    5.13  G_END_DECLS
     6.1 --- a/gmyth/src/gmyth_transcode.c	Mon Mar 05 23:34:43 2007 +0000
     6.2 +++ b/gmyth/src/gmyth_transcode.c	Tue Mar 06 00:55:35 2007 +0000
     6.3 @@ -1,9 +1,9 @@
     6.4  /**
     6.5   * GMyth Library
     6.6   * 
     6.7 - * @file gmyth/gmyth_transcode.c
     6.8 + * @file gmyth/gmyth_transcoder.c
     6.9   * 
    6.10 - * @brief <p> This file contains the transcode class.
    6.11 + * @brief <p> This file contains the transcoder class.
    6.12   *
    6.13   * Copyright (C) 2007 INdT - Instituto Nokia de Tecnologia.
    6.14   * @author Artur Duque de Souza <artur.souza@indt.org.br>
    6.15 @@ -35,81 +35,83 @@
    6.16  #include <string.h>
    6.17  #include <assert.h>
    6.18  
    6.19 -#include "gmyth_transcode.h"
    6.20  #include "gmyth_util.h"
    6.21  #include "gmyth_debug.h"
    6.22  
    6.23 -static void gmyth_transcode_class_init          (GMythTranscodeClass *klass);
    6.24 -static void gmyth_transcode_init                (GMythTranscode *object);
    6.25 +#include "gmyth_jobqueue.h"
    6.26 +#include "gmyth_transcode.h"
    6.27  
    6.28 -static void gmyth_transcode_dispose  (GObject *object);
    6.29 -static void gmyth_transcode_finalize (GObject *object);
    6.30 +static void gmyth_transcoder_class_init          (GMythTranscoderClass *klass);
    6.31 +static void gmyth_transcoder_init                (GMythTranscoder *object);
    6.32  
    6.33 -G_DEFINE_TYPE(GMythTranscode, gmyth_transcode, G_TYPE_OBJECT)
    6.34 +static void gmyth_transcoder_dispose  (GObject *object);
    6.35 +static void gmyth_transcoder_finalize (GObject *object);
    6.36 +
    6.37 +G_DEFINE_TYPE(GMythTranscoder, gmyth_transcoder, G_TYPE_OBJECT)
    6.38  
    6.39  static void
    6.40 -gmyth_transcode_class_init (GMythTranscodeClass *klass)
    6.41 +gmyth_transcoder_class_init (GMythTranscoderClass *klass)
    6.42  {
    6.43      GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
    6.44 -    gobject_class->dispose  = gmyth_transcode_dispose;
    6.45 -    gobject_class->finalize = gmyth_transcode_finalize;
    6.46 +    gobject_class->dispose  = gmyth_transcoder_dispose;
    6.47 +    gobject_class->finalize = gmyth_transcoder_finalize;
    6.48  }
    6.49  
    6.50  static void
    6.51 -gmyth_transcode_init (GMythTranscode *transcode)
    6.52 +gmyth_transcoder_init (GMythTranscoder *transcoder)
    6.53  {
    6.54 +    transcoder->started = FALSE;
    6.55  }
    6.56  
    6.57  static void
    6.58 -gmyth_transcode_dispose  (GObject *object)
    6.59 +gmyth_transcoder_dispose  (GObject *object)
    6.60  {
    6.61 -    GMythTranscode *transcode = GMYTH_TRANSCODE(object);
    6.62 +    GMythTranscoder *transcoder = GMYTH_TRANSCODER(object);
    6.63  
    6.64 -    if (transcode->output_filename)
    6.65 -        g_free(transcode->output_filename);
    6.66 +    g_free (transcoder->output_filename);
    6.67 +    g_free (transcoder->filename);
    6.68 +    g_free (transcoder->profile);
    6.69 +    g_free (transcoder->starttime);
    6.70  
    6.71 -    if (transcode->filename)
    6.72 -        g_free(transcode->filename);
    6.73 +    if (transcoder->backend_info)
    6.74 +	g_object_unref (transcoder->backend_info);
    6.75  
    6.76 -    if (transcode->profile)
    6.77 -        g_free(transcode->profile);
    6.78 -
    6.79 -    if (transcode->starttime)
    6.80 -        g_free(transcode->starttime);
    6.81 -
    6.82 -	G_OBJECT_CLASS (gmyth_transcode_parent_class)->dispose (object);
    6.83 +    G_OBJECT_CLASS (gmyth_transcoder_parent_class)->dispose (object);
    6.84  }
    6.85  
    6.86  static void
    6.87 -gmyth_transcode_finalize (GObject *object)
    6.88 +gmyth_transcoder_finalize (GObject *object)
    6.89  {
    6.90      g_signal_handlers_destroy (object);
    6.91 -    G_OBJECT_CLASS (gmyth_transcode_parent_class)->finalize (object);
    6.92 +    G_OBJECT_CLASS (gmyth_transcoder_parent_class)->finalize (object);
    6.93  }
    6.94  
    6.95  /**
    6.96 - * Creates a new instance of GMythTranscode.
    6.97 + * Creates a new instance of GMythTranscoder.
    6.98   * 
    6.99 - * @return a new instance of GMythTranscode.
   6.100 + * @return a new instance of GMythTranscoder.
   6.101   **/
   6.102 -GMythTranscode*
   6.103 -gmyth_transcode_new (void)
   6.104 +GMythTranscoder*
   6.105 +gmyth_transcoder_new (GMythBackendInfo *backend_info)
   6.106  {
   6.107 -    GMythTranscode *transcode = GMYTH_TRANSCODE\
   6.108 -                                 (g_object_new(GMYTH_TRANSCODE_TYPE, NULL));
   6.109 +    GMythTranscoder *transcoder = GMYTH_TRANSCODER\
   6.110 +                                 (g_object_new(GMYTH_TRANSCODER_TYPE, NULL));
   6.111  
   6.112 -    return transcode;
   6.113 +    g_object_ref (backend_info);
   6.114 +    transcoder->backend_info = backend_info;
   6.115 +
   6.116 +    return transcoder;
   6.117  }
   6.118  
   6.119  /**
   6.120   *
   6.121 - * gmyth_transcode_date_change_format
   6.122 + * gmyth_transcoder_date_change_format
   6.123   * @brief converts a string like YYYY-MM-DDTHH:MM:SS into YYYYMMDDHHMMSS (vice versa)
   6.124   * @param date_s gchar*
   6.125   * @return gchar* with file or iso format
   6.126   *
   6.127   **/
   6.128 -gchar* gmyth_transcode_date_change_format (gchar* date_s, int format)
   6.129 +static gchar* gmyth_transcoder_date_change_format (gchar* date_s, int format)
   6.130  {
   6.131      if (date_s != NULL)
   6.132      {
   6.133 @@ -127,10 +129,7 @@
   6.134              snprintf(dst, 16, "%.4s%.2s%.2s%.2s%.2s%.2s", src, src+5,\
   6.135                      src+7, src+9, src+11, src+13);
   6.136              dst[15] = '\0';
   6.137 -        }
   6.138 -        else
   6.139 -        if (format == DATE_ISO)
   6.140 -        {
   6.141 +        } else if (format == DATE_ISO) {
   6.142              dst = (gchar*)g_malloc0(sizeof(gchar) * 20);
   6.143              snprintf(dst, 20, "%.4s-%.2s-%.2sT%.2s:%.2s:%.2s", src, src+4,\
   6.144                      src+6, src+8, src+10, src+12);
   6.145 @@ -149,62 +148,113 @@
   6.146  
   6.147  /**
   6.148   *
   6.149 - * gmyth_transcode_set_output
   6.150 - * @brief set transcode to use output
   6.151 + * gmyth_transcoder_set_output
   6.152 + * @brief set transcoder to use output
   6.153   * @param value gboolean
   6.154   * @param outfile filename of output
   6.155   * @return void set's up the var to value
   6.156   *
   6.157   **/
   6.158 -void gmyth_transcode_set_output (GMythTranscode* transcode,
   6.159 +void gmyth_transcoder_set_output (GMythTranscoder* transcoder,
   6.160                                   gboolean value, gchar* outputfile)
   6.161  {
   6.162 -    transcode->output = value;
   6.163 -    transcode->output_filename = g_strdup(outputfile);
   6.164 +    transcoder->output = value;
   6.165 +    transcoder->output_filename = g_strdup(outputfile);
   6.166  }
   6.167  
   6.168  /**
   6.169   *
   6.170 - * gmyth_transcode_set_file
   6.171 - * @brief set the file to transcode
   6.172 + * gmyth_transcoder_set_file
   6.173 + * @brief set the file to transcoder
   6.174   * @param file filename
   6.175   * @return void set's up the var to value
   6.176   *
   6.177   **/
   6.178 -void gmyth_transcode_set_filename (GMythTranscode* transcode, gchar* file)
   6.179 +void gmyth_transcoder_set_filename (GMythTranscoder* transcoder, gchar* file)
   6.180  {
   6.181 +    // fixme: if this method is called twice, memory will not be dealocated
   6.182 +    // one transcoder can be used only for one file request?
   6.183      if (file != NULL)
   6.184      {
   6.185          gchar** splited = g_strsplit(file, "_", 2);
   6.186  
   6.187          // Get chanid
   6.188 -        sscanf (splited[0],"%d", &(transcode->chanid));
   6.189 +        sscanf (splited[0],"%d", &(transcoder->chanid));
   6.190  
   6.191          // Get starttime
   6.192          gchar** date = g_strsplit(splited[1], ".", 2);
   6.193 -        transcode->starttime = gmyth_transcode_date_change_format(date[0], DATE_ISO);
   6.194 +        transcoder->starttime = gmyth_transcode_date_change_format(date[0], DATE_ISO);
   6.195  
   6.196 -        transcode->filename = g_strdup(file);
   6.197 +        transcoder->filename = g_strdup(file);
   6.198      }
   6.199  }
   6.200  
   6.201  
   6.202  /**
   6.203   *
   6.204 - * gmyth_transcode_set_profile
   6.205 - * @brief set transcode's profile
   6.206 - * @param rec GMythTranscode*
   6.207 + * gmyth_transcoder_set_profile
   6.208 + * @brief set transcoder's profile
   6.209 + * @param rec GMythTranscoder*
   6.210   * @param value the value
   6.211   * @return gint representing the result
   6.212   *
   6.213   **/
   6.214 -gint gmyth_transcode_set_profile (GMythTranscode* trans,
   6.215 +gint
   6.216 +gmyth_transcoder_set_profile (GMythTranscoder* trans,
   6.217                                    gchar* value)
   6.218  {
   6.219 -    if (value != NULL)
   6.220 -        trans->profile = g_strndup(value, strlen(value));
   6.221 -    else 
   6.222 -        return -1;
   6.223 +    g_return_val_if_fail (value != NULL, -1);
   6.224 +
   6.225 +    trans->profile = g_strndup(value, strlen(value));
   6.226  
   6.227      return 0;
   6.228  }
   6.229 +
   6.230 +gboolean
   6.231 +gmyth_transcoder_start (GMythTranscoder* trans)
   6.232 +{
   6.233 +    g_return_val_if_fail (trans != NULL, FALSE);
   6.234 +
   6.235 +    if (trans->started == FALSE) { // not started yet
   6.236 +        trans->started = gmyth_jobqueue_add_job(trans, "JOB_TRANSCODE");
   6.237 +	if (trans->started == FALSE)
   6.238 +	    g_debug ("Error while starting GMythTranscoder to file: %s", trans->output_filename);
   6.239 +    } else {
   6.240 +	g_debug ("GMythTransfer already started!");
   6.241 +    }
   6.242 +
   6.243 +    return trans->started;
   6.244 +}
   6.245 +
   6.246 +gboolean
   6.247 +gmyth_transcoder_pause (GMythTranscoder* trans)
   6.248 +{
   6.249 +    g_return_val_if_fail (trans != NULL, FALSE);
   6.250 +
   6.251 +    return gmyth_jobqueue_change_cmd (trans, "PAUSE", "JOB_TRANSCODE");
   6.252 +}
   6.253 +
   6.254 +gboolean
   6.255 +gmyth_transcoder_resume (GMythTranscoder* trans)
   6.256 +{
   6.257 +    g_return_val_if_fail (trans != NULL, FALSE);
   6.258 +
   6.259 +    return gmyth_jobqueue_change_cmd (trans, "RESUME", "JOB_TRANSCODE");
   6.260 +}
   6.261 +
   6.262 +gboolean
   6.263 +gmyth_transcoder_cancel (GMythTranscoder* trans)
   6.264 +{
   6.265 +    g_return_val_if_fail (trans != NULL, FALSE);
   6.266 +
   6.267 +    return gmyth_jobqueue_change_cmd (trans, "STOP", "JOB_TRANSCODE");
   6.268 +}
   6.269 +
   6.270 +//fixme: implement this method
   6.271 +gint
   6.272 +gmyth_transcoder_get_progress (GMythTranscoder* trans)
   6.273 +{
   6.274 +    static int fixme = 0;
   6.275 +    
   6.276 +    return (fixme++)%101;
   6.277 +}
     7.1 --- a/gmyth/src/gmyth_transcode.h	Mon Mar 05 23:34:43 2007 +0000
     7.2 +++ b/gmyth/src/gmyth_transcode.h	Tue Mar 06 00:55:35 2007 +0000
     7.3 @@ -1,9 +1,9 @@
     7.4  /**
     7.5   * GMyth Library
     7.6   * 
     7.7 - * @file gmyth/gmyth_transcode.h
     7.8 + * @file gmyth/gmyth_transcoder.h
     7.9   * 
    7.10 - * @brief <p> This file contains the transcode class.
    7.11 + * @brief <p> This file contains the transcoder class.
    7.12   *
    7.13   * Copyright (C) 2007 INdT - Instituto Nokia de Tecnologia.
    7.14   * @author Artur Duque de Souza <artur.souza@indt.org.br>
    7.15 @@ -26,8 +26,8 @@
    7.16   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    7.17   */
    7.18  
    7.19 -#ifndef _GMYTH_TRANSCODE_H
    7.20 -#define _GMYTH_TRANSCODE_H
    7.21 +#ifndef _GMYTH_TRANSCODER_H
    7.22 +#define _GMYTH_TRANSCODER_H
    7.23  
    7.24  #include <glib.h>
    7.25  #include <glib-object.h>
    7.26 @@ -40,20 +40,20 @@
    7.27  
    7.28  G_BEGIN_DECLS
    7.29  
    7.30 -#define GMYTH_TRANSCODE_TYPE               (gmyth_transcode_get_type ())
    7.31 -#define GMYTH_TRANSCODE(obj)               (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMYTH_TRANSCODE_TYPE, GMythTranscode))
    7.32 -#define GMYTH_TRANSCODE_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_TRANSCODE_TYPE, GMythTranscodeClass))
    7.33 -#define IS_GMYTH_TRANSCODE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMYTH_TRANSCODE_TYPE))
    7.34 -#define IS_GMYTH_TRANSCODE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_TRANSCODE_TYPE))
    7.35 -#define GMYTH_TRANSCODE_GET_CLASS(obj)     (G_TYPE_INSTANCE_GET_CLASS ((obj), GMYTH_TRANSCODE_TYPE, GMythTranscodeClass))
    7.36 +#define GMYTH_TRANSCODER_TYPE               (gmyth_transcoder_get_type ())
    7.37 +#define GMYTH_TRANSCODER(obj)               (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMYTH_TRANSCODER_TYPE, GMythTranscoder))
    7.38 +#define GMYTH_TRANSCODER_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_TRANSCODER_TYPE, GMythTranscoderClass))
    7.39 +#define IS_GMYTH_TRANSCODER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMYTH_TRANSCODER_TYPE))
    7.40 +#define IS_GMYTH_TRANSCODER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_TRANSCODER_TYPE))
    7.41 +#define GMYTH_TRANSCODER_GET_CLASS(obj)     (G_TYPE_INSTANCE_GET_CLASS ((obj), GMYTH_TRANSCODER_TYPE, GMythTranscoderClass))
    7.42  
    7.43  #define DATE_ISO 0
    7.44  #define DATE_FILE 1
    7.45  
    7.46 -typedef struct _GMythTranscode         GMythTranscode;
    7.47 -typedef struct _GMythTranscodeClass    GMythTranscodeClass;
    7.48 +typedef struct _GMythTranscoder         GMythTranscoder;
    7.49 +typedef struct _GMythTranscoderClass    GMythTranscoderClass;
    7.50  
    7.51 -struct _GMythTranscodeClass
    7.52 +struct _GMythTranscoderClass
    7.53  {
    7.54    GObjectClass parent_class;
    7.55  
    7.56 @@ -61,15 +61,16 @@
    7.57  };
    7.58  
    7.59  /**
    7.60 - * The GMythTranscode structure is a class to implement functions
    7.61 + * The GMythTranscoder structure is a class to implement functions
    7.62   * related to transcoding.
    7.63   */
    7.64 -struct _GMythTranscode
    7.65 +struct _GMythTranscoder
    7.66  {
    7.67      GObject parent;
    7.68  
    7.69      gboolean cutlist;
    7.70      gboolean output;
    7.71 +    gboolean started;
    7.72  
    7.73      /* private begin */
    7.74      gchar* output_filename;
    7.75 @@ -84,17 +85,17 @@
    7.76      GMythBackendInfo* backend_info;
    7.77  };
    7.78  
    7.79 -GType gmyth_transcode_type (void);
    7.80 +GType gmyth_transcoder_type (void);
    7.81  
    7.82 -GMythTranscode* gmyth_transcode_new (void);
    7.83 +GMythTranscoder* gmyth_transcoder_new (GMythBackendInfo* backend_info);
    7.84  
    7.85 -void gmyth_transcode_set_output (GMythTranscode* transcode,
    7.86 +void gmyth_transcoder_set_output (GMythTranscoder* transcode,
    7.87                                   gboolean value, gchar* outputfile);
    7.88  
    7.89 -void gmyth_transcode_set_filename (GMythTranscode* transcode, gchar* file);
    7.90 +void gmyth_transcoder_set_filename (GMythTranscoder* transcode, gchar* file);
    7.91  
    7.92 -gint gmyth_transcode_set_profile (GMythTranscode* trans, gchar* value);
    7.93 +gint gmyth_transcoder_set_profile (GMythTranscoder* trans, gchar* value);
    7.94  
    7.95  G_END_DECLS
    7.96  
    7.97 -#endif /*_GMYTH_TRANSCODE_H*/
    7.98 +#endif /*_GMYTH_TRANSCODER_H*/