~ubuntu-branches/ubuntu/oneiric/mplayer2/oneiric-proposed

« back to all changes in this revision

Viewing changes to mplayer/stream/stream_tv.c

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2011-03-20 22:48:03 UTC
  • Revision ID: james.westby@ubuntu.com-20110320224803-kc2nlrxz6pcphmf1
Tags: upstream-2.0~rc2
ImportĀ upstreamĀ versionĀ 2.0~rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * stream layer for TV Input, based on previous work from Albeu
 
3
 *
 
4
 * Copyright (C) 2006 Benjamin Zores
 
5
 *
 
6
 * This file is part of MPlayer.
 
7
 *
 
8
 * MPlayer is free software; you can redistribute it and/or modify
 
9
 * it under the terms of the GNU General Public License as published by
 
10
 * the Free Software Foundation; either version 2 of the License, or
 
11
 * (at your option) any later version.
 
12
 *
 
13
 * MPlayer is distributed in the hope that it will be useful,
 
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
16
 * GNU General Public License for more details.
 
17
 *
 
18
 * You should have received a copy of the GNU General Public License along
 
19
 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
 
20
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
21
 */
 
22
 
 
23
#include "config.h"
 
24
 
 
25
#include <stdlib.h>
 
26
#include <string.h>
 
27
 
 
28
#include "stream.h"
 
29
#include "libmpdemux/demuxer.h"
 
30
#include "m_option.h"
 
31
#include "m_struct.h"
 
32
#include "tv.h"
 
33
 
 
34
#include <stdio.h>
 
35
 
 
36
tv_param_t stream_tv_defaults = {
 
37
    NULL,          //freq
 
38
    NULL,          //channel
 
39
    "europe-east", //chanlist
 
40
    "pal",         //norm
 
41
    0,             //automute
 
42
    -1,            //normid
 
43
    NULL,          //device
 
44
    NULL,          //driver
 
45
    -1,            //width
 
46
    -1,            //height
 
47
    0,             //input, used in v4l and bttv
 
48
    -1,            //outfmt
 
49
    -1.0,          //fps
 
50
    NULL,          //channels
 
51
    0,             //noaudio;
 
52
    0,             //immediate;
 
53
    44100,         //audiorate;
 
54
    0,             //audio_id
 
55
    -1,            //amode
 
56
    -1,            //volume
 
57
    -1,            //bass
 
58
    -1,            //treble
 
59
    -1,            //balance
 
60
    -1,            //forcechan
 
61
    0,             //force_audio
 
62
    -1,            //buffer_size
 
63
    0,             //mjpeg
 
64
    2,             //decimation
 
65
    90,            //quality
 
66
    0,             //alsa
 
67
    NULL,          //adevice
 
68
    0,             //brightness
 
69
    0,             //contrast
 
70
    0,             //hue
 
71
    0,             //saturation
 
72
    -1,            //gain
 
73
    {
 
74
    NULL,          //tdevice
 
75
    0,             //tformat
 
76
    100,           //tpage
 
77
    0,             //tlang
 
78
    },
 
79
    0,             //scan_autostart
 
80
    50,            //scan_threshold
 
81
    0.5,            //scan_period
 
82
    0,             //hidden_video_renderer;
 
83
    0,             //hidden_vp_renderer;
 
84
    0,             //system_clock;
 
85
    0              //normalize_audio_chunks;
 
86
};
 
87
 
 
88
#define ST_OFF(f) M_ST_OFF(tv_param_t,f)
 
89
static const m_option_t stream_opts_fields[] = {
 
90
    {"hostname", ST_OFF(channel), CONF_TYPE_STRING, 0, 0 ,0, NULL},
 
91
    {"filename", ST_OFF(input), CONF_TYPE_INT, 0, 0 ,0, NULL},
 
92
    { NULL, NULL, 0, 0, 0, 0,  NULL }
 
93
};
 
94
 
 
95
static const struct m_struct_st stream_opts = {
 
96
    "tv",
 
97
    sizeof(tv_param_t),
 
98
    &stream_tv_defaults,
 
99
    stream_opts_fields
 
100
};
 
101
 
 
102
static void
 
103
tv_stream_close (stream_t *stream)
 
104
{
 
105
  if(stream->priv)
 
106
    m_struct_free(&stream_opts,stream->priv);
 
107
  stream->priv=NULL;
 
108
}
 
109
static int
 
110
tv_stream_open (stream_t *stream, int mode, void *opts, int *file_format)
 
111
{
 
112
 
 
113
  stream->type = STREAMTYPE_TV;
 
114
  stream->priv = opts;
 
115
  stream->close=tv_stream_close;
 
116
  *file_format =  DEMUXER_TYPE_TV;
 
117
 
 
118
  return STREAM_OK;
 
119
}
 
120
 
 
121
const stream_info_t stream_info_tv = {
 
122
  "TV Input",
 
123
  "tv",
 
124
  "Benjamin Zores, Albeu",
 
125
  "",
 
126
  tv_stream_open,
 
127
  { "tv", NULL },
 
128
  &stream_opts,
 
129
  1
 
130
};