gmyth/src/gmyth_recprofile.h
author rosfran
Tue May 15 21:39:04 2007 +0100 (2007-05-15)
branchtrunk
changeset 655 ad1457d65f74
parent 386 4184f56767b8
child 698 9019388af980
permissions -rw-r--r--
[svn r661] Fixed starvation loop when reading an unlimited-size buffer (LiveTV) from the FileTransfer; MonitorHandler is a GThread now.
     1 /**
     2  * GMyth Library
     3  * 
     4  * @file gmyth/gmyth_recprofile.h
     5  * 
     6  * @brief <p> This file contains the recprofile class.
     7  *
     8  * Copyright (C) 2007 INdT - Instituto Nokia de Tecnologia.
     9  * @author Artur Duque de Souza <artur.souza@indt.org.br>
    10  *
    11  */
    12 /*
    13  * 
    14  * This program is free software; you can redistribute it and/or modify
    15  * it under the terms of the GNU Lesser General Public License as published by
    16  * the Free Software Foundation; either version 2 of the License, or
    17  * (at your option) any later version.
    18  *
    19  * This program is distributed in the hope that it will be useful,
    20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    22  * GNU General Public License for more details.
    23  *
    24  * You should have received a copy of the GNU Lesser General Public License
    25  * along with this program; if not, write to the Free Software
    26  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    27  */
    28 
    29 #ifndef _GMYTH_RECPROFILE_H
    30 #define _GMYTH_RECPROFILE_H
    31 
    32 #include <glib.h>
    33 #include <glib-object.h>
    34 
    35 #include "gmyth_stringlist.h"
    36 #include "gmyth_backendinfo.h"
    37 #include "gmyth_socket.h"
    38 
    39 G_BEGIN_DECLS
    40 
    41 #define GMYTH_RECPROFILE_TYPE               (gmyth_recprofile_get_type ())
    42 #define GMYTH_RECPROFILE(obj)               (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMYTH_RECPROFILE_TYPE, GMythRecProfile))
    43 #define GMYTH_RECPROFILE_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_RECPROFILE_TYPE, GMythRecProfileClass))
    44 #define IS_GMYTH_RECPROFILE(obj)            (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMYTH_RECPROFILE_TYPE))
    45 #define IS_GMYTH_RECPROFILE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_RECPROFILE_TYPE))
    46 #define GMYTH_RECPROFILE_GET_CLASS(obj)     (G_TYPE_INSTANCE_GET_CLASS ((obj), GMYTH_RECPROFILE_TYPE, GMythRecProfileClass))
    47 
    48 typedef struct _Options                 Options;
    49 typedef struct _GMythRecProfile         GMythRecProfile;
    50 typedef struct _GMythRecProfileClass    GMythRecProfileClass;
    51 
    52 struct _GMythRecProfileClass
    53 {
    54   GObjectClass parent_class;
    55   gint teste;
    56   /* callbacks */
    57 };
    58 
    59 struct _GMythRecProfile
    60 {
    61     gint	id;
    62     gchar* name;
    63     gchar* group;
    64     gchar* vcodec;
    65     gchar* acodec;
    66     Options* options;
    67 };
    68 
    69 struct _Options
    70 {
    71     gint transcodelossless;
    72     gint transcoderesize;
    73     gint width;
    74     gint height;
    75     gint rtjpegquality;
    76     gint rtjpeglumafilter;
    77     gint rtjpegchromafilter;
    78     gint mpeg4bitrate;
    79     gint mpeg4maxquality;
    80     gint mpeg4minquality;
    81     gint mpeg4qualdiff;
    82     gint mpeg4scalebitrate;
    83     gint mpeg4optionvhq;
    84     gint mpeg4option4mv;
    85     gint mpeg4optionidct;
    86     gint mpeg4optionime;
    87     gint hardwaremjpegquality;
    88     gint hardwaremjpeghdecimation;
    89     gint hardwaremjpegvdecimation;
    90     gchar* mpeg2streamtype;
    91     gchar* mpeg2aspectratio;
    92     gint mpeg2bitrate;
    93     gint mpeg2maxbitrate;
    94     gint samplerate;
    95     gint mp3quality;
    96     gint volume;
    97     gchar* mpeg2audtype;
    98     gint mpeg2audbitratel1;
    99     gint mpeg2audbitratel2;
   100     gint mpeg2audvolume;
   101 };
   102 
   103 GType gmyth_recprofile_type (void);
   104 
   105 GMythRecProfile* gmyth_recprofile_new (void);
   106 
   107 GSList* gmyth_recprofile_get_profile_list (GMythBackendInfo *backend_info);
   108 
   109 gint gmyth_recprofile_create_profile (GMythBackendInfo *backend_info,\
   110                                       GMythRecProfile* profile);
   111 
   112 gint gmyth_recprofile_del_profile_list (GMythBackendInfo *backend_info,\
   113                                         gint id);
   114 
   115 gint gmyth_recprofile_set_acodec (GMythRecProfile* rec, gchar* acodec);
   116 gint gmyth_recprofile_set_vcodec (GMythRecProfile* rec, gchar* vcodec);
   117 gint gmyth_recprofile_set_group (GMythRecProfile* rec, gchar* group);
   118 gint gmyth_recprofile_set_name (GMythRecProfile* rec, gchar* name);
   119 gint gmyth_recprofile_set_id (GMythRecProfile* rec, gint id);
   120 
   121 G_END_DECLS
   122 
   123 #endif /*_GMYTH_RECPROFILE_H*/