gmyth/src/gmyth_recprofile.h
author melunko
Mon Aug 13 22:54:55 2007 +0100 (2007-08-13)
branchtrunk
changeset 801 e51af4d0caf5
parent 750 312d6bc514f3
permissions -rw-r--r--
[svn r807] Added gmyth_scheduler_add_schedule_full() method
     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  * This program is free software; you can redistribute it and/or modify
    13  * it under the terms of the GNU Lesser General Public License as published by
    14  * the Free Software Foundation; either version 2 of the License, or
    15  * (at your option) any later version.
    16  *
    17  * This program is distributed in the hope that it will be useful,
    18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    20  * GNU General Public License for more details.
    21  *
    22  * You should have received a copy of the GNU Lesser General Public License
    23  * along with this program; if not, write to the Free Software
    24  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    25  */
    26 
    27 #ifndef _GMYTH_RECPROFILE_H
    28 #define _GMYTH_RECPROFILE_H
    29 
    30 #include <glib.h>
    31 #include <glib-object.h>
    32 
    33 #include "gmyth_stringlist.h"
    34 #include "gmyth_backendinfo.h"
    35 #include "gmyth_socket.h"
    36 
    37 G_BEGIN_DECLS
    38 #define GMYTH_RECPROFILE_TYPE               (gmyth_recprofile_get_type ())
    39 #define GMYTH_RECPROFILE(obj)               (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMYTH_RECPROFILE_TYPE, GMythRecProfile))
    40 #define GMYTH_RECPROFILE_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_RECPROFILE_TYPE, GMythRecProfileClass))
    41 #define IS_GMYTH_RECPROFILE(obj)            (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMYTH_RECPROFILE_TYPE))
    42 #define IS_GMYTH_RECPROFILE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GMYTH_RECPROFILE_TYPE))
    43 #define GMYTH_RECPROFILE_GET_CLASS(obj)     (G_TYPE_INSTANCE_GET_CLASS ((obj), GMYTH_RECPROFILE_TYPE, GMythRecProfileClass))
    44 typedef struct _Options Options;
    45 typedef struct _GMythRecProfile GMythRecProfile;
    46 typedef struct _GMythRecProfileClass GMythRecProfileClass;
    47 
    48 struct _GMythRecProfileClass {
    49     GObjectClass    parent_class;
    50     gint            teste;
    51     /*
    52      * callbacks 
    53      */
    54 };
    55 
    56 struct _GMythRecProfile {
    57     gint            id;
    58     gchar          *name;
    59     gchar          *group;
    60     gchar          *vcodec;
    61     gchar          *acodec;
    62     Options        *options;
    63 };
    64 
    65 struct _Options {
    66     gint            transcodelossless;
    67     gint            transcoderesize;
    68     gint            width;
    69     gint            height;
    70     gint            rtjpegquality;
    71     gint            rtjpeglumafilter;
    72     gint            rtjpegchromafilter;
    73     gint            mpeg4bitrate;
    74     gint            mpeg4maxquality;
    75     gint            mpeg4minquality;
    76     gint            mpeg4qualdiff;
    77     gint            mpeg4scalebitrate;
    78     gint            mpeg4optionvhq;
    79     gint            mpeg4option4mv;
    80     gint            mpeg4optionidct;
    81     gint            mpeg4optionime;
    82     gint            hardwaremjpegquality;
    83     gint            hardwaremjpeghdecimation;
    84     gint            hardwaremjpegvdecimation;
    85     gchar          *mpeg2streamtype;
    86     gchar          *mpeg2aspectratio;
    87     gint            mpeg2bitrate;
    88     gint            mpeg2maxbitrate;
    89     gint            samplerate;
    90     gint            mp3quality;
    91     gint            volume;
    92     gchar          *mpeg2audtype;
    93     gint            mpeg2audbitratel1;
    94     gint            mpeg2audbitratel2;
    95     gint            mpeg2audvolume;
    96 };
    97 
    98 GType           gmyth_recprofile_type(void);
    99 
   100 GMythRecProfile *gmyth_recprofile_new(void);
   101 
   102 GSList         *gmyth_recprofile_get_profile_list(GMythBackendInfo *
   103                                                   backend_info);
   104 
   105 gint            gmyth_recprofile_create_profile(GMythBackendInfo *
   106                                                 backend_info,
   107                                                 GMythRecProfile * profile);
   108 
   109 gint            gmyth_recprofile_del_profile_list(GMythBackendInfo *
   110                                                   backend_info, gint id);
   111 
   112 gint            gmyth_recprofile_set_acodec(GMythRecProfile * rec,
   113                                             gchar * acodec);
   114 gint            gmyth_recprofile_set_vcodec(GMythRecProfile * rec,
   115                                             gchar * vcodec);
   116 gint            gmyth_recprofile_set_group(GMythRecProfile * rec,
   117                                            gchar * group);
   118 gint            gmyth_recprofile_set_name(GMythRecProfile * rec,
   119                                           gchar * name);
   120 gint            gmyth_recprofile_set_id(GMythRecProfile * rec, gint id);
   121 
   122 G_END_DECLS
   123 #endif /*_GMYTH_RECPROFILE_H*/