1 | Make sure variables are initialized before using. |
---|
2 | |
---|
3 | From: Erik Hovland <erik@hovland.org> |
---|
4 | |
---|
5 | |
---|
6 | --- |
---|
7 | |
---|
8 | mythtv/libs/libmythtv/DetectLetterbox.cpp | 1 + |
---|
9 | mythtv/libs/libmythtv/NuppelVideoPlayer.cpp | 2 +- |
---|
10 | mythtv/libs/libmythtv/audioinputalsa.cpp | 2 ++ |
---|
11 | mythtv/libs/libmythtv/avformatdecoder.cpp | 1 + |
---|
12 | mythtv/libs/libmythtv/channelgroupsettings.cpp | 2 +- |
---|
13 | mythtv/libs/libmythtv/frequencytables.h | 6 ++++-- |
---|
14 | mythtv/libs/libmythtv/hdhrrecorder.cpp | 3 +++ |
---|
15 | mythtv/libs/libmythtv/hdhrstreamhandler.cpp | 2 ++ |
---|
16 | mythtv/libs/libmythtv/mpeg/H264Parser.cpp | 2 ++ |
---|
17 | mythtv/libs/libmythtv/nuppeldecoder.cpp | 3 +++ |
---|
18 | mythtv/libs/libmythtv/openglcontext.cpp | 2 ++ |
---|
19 | mythtv/libs/libmythtv/osdtypes.cpp | 1 + |
---|
20 | mythtv/libs/libmythtv/playercontext.cpp | 6 +++--- |
---|
21 | mythtv/libs/libmythtv/previewgenerator.cpp | 8 ++++---- |
---|
22 | mythtv/libs/libmythtv/recordingrule.cpp | 1 + |
---|
23 | mythtv/libs/libmythtv/tv_play.cpp | 2 +- |
---|
24 | mythtv/libs/libmythtv/tv_rec.cpp | 1 + |
---|
25 | mythtv/libs/libmythtv/util-opengl.cpp | 2 +- |
---|
26 | mythtv/libs/libmythtv/videoout_xv.cpp | 5 +++++ |
---|
27 | mythtv/libs/libmythtv/videooutbase.cpp | 2 +- |
---|
28 | 20 files changed, 40 insertions(+), 14 deletions(-) |
---|
29 | |
---|
30 | |
---|
31 | diff --git a/mythtv/libs/libmythtv/DetectLetterbox.cpp b/mythtv/libs/libmythtv/DetectLetterbox.cpp |
---|
32 | index 15baa5f..59df529 100644 |
---|
33 | --- a/mythtv/libs/libmythtv/DetectLetterbox.cpp |
---|
34 | +++ b/mythtv/libs/libmythtv/DetectLetterbox.cpp |
---|
35 | @@ -16,6 +16,7 @@ DetectLetterbox::DetectLetterbox(NuppelVideoPlayer* const nvp) |
---|
36 | detectLetterboxSwitchFrame = -1; |
---|
37 | detectLetterboxPossibleHalfFrame = -1; |
---|
38 | detectLetterboxPossibleFullFrame = -1; |
---|
39 | + detectLetterboxConsecutiveCounter = 0; |
---|
40 | detectLetterboxDetectedMode = nvp->GetAdjustFill(); |
---|
41 | detectLetterboxLimit = gContext->GetNumSetting("DetectLeterboxLimit", 75); |
---|
42 | nupple_video_player = nvp; |
---|
43 | diff --git a/mythtv/libs/libmythtv/NuppelVideoPlayer.cpp b/mythtv/libs/libmythtv/NuppelVideoPlayer.cpp |
---|
44 | index daac20a..2083704 100644 |
---|
45 | --- a/mythtv/libs/libmythtv/NuppelVideoPlayer.cpp |
---|
46 | +++ b/mythtv/libs/libmythtv/NuppelVideoPlayer.cpp |
---|
47 | @@ -106,7 +106,7 @@ NuppelVideoPlayer::NuppelVideoPlayer(bool muted) |
---|
48 | no_hardware_decoders(false), |
---|
49 | // Window stuff |
---|
50 | parentWidget(NULL), embedid(0), |
---|
51 | - embx(-1), emby(-1), embw(-1), embh(-1), |
---|
52 | + wantToResize(false), embx(-1), emby(-1), embw(-1), embh(-1), |
---|
53 | // State |
---|
54 | eof(false), |
---|
55 | m_double_framerate(false), m_double_process(false), |
---|
56 | diff --git a/mythtv/libs/libmythtv/audioinputalsa.cpp b/mythtv/libs/libmythtv/audioinputalsa.cpp |
---|
57 | index c7ea7e0..d46d610 100644 |
---|
58 | --- a/mythtv/libs/libmythtv/audioinputalsa.cpp |
---|
59 | +++ b/mythtv/libs/libmythtv/audioinputalsa.cpp |
---|
60 | @@ -29,6 +29,8 @@ |
---|
61 | AudioInputALSA::AudioInputALSA(const QString &device): |
---|
62 | AudioInput(device), |
---|
63 | pcm_handle(NULL), |
---|
64 | + period_size(0), |
---|
65 | + periods(0), |
---|
66 | myth_block_bytes(0) |
---|
67 | { |
---|
68 | alsa_device = QByteArray((!device.isEmpty()) |
---|
69 | diff --git a/mythtv/libs/libmythtv/avformatdecoder.cpp b/mythtv/libs/libmythtv/avformatdecoder.cpp |
---|
70 | index 03b5dd2..c929ca9 100644 |
---|
71 | --- a/mythtv/libs/libmythtv/avformatdecoder.cpp |
---|
72 | +++ b/mythtv/libs/libmythtv/avformatdecoder.cpp |
---|
73 | @@ -505,6 +505,7 @@ AvFormatDecoder::AvFormatDecoder(NuppelVideoPlayer *parent, |
---|
74 | dvdTitleChanged(false), mpeg_seq_end_seen(false) |
---|
75 | { |
---|
76 | bzero(¶ms, sizeof(AVFormatParameters)); |
---|
77 | + bzero(&readcontext, sizeof(readcontext)); |
---|
78 | // using preallocated AVFormatContext for our own ByteIOContext |
---|
79 | params.prealloced_context = 1; |
---|
80 | audioSamples = (short int *)av_mallocz(AVCODEC_MAX_AUDIO_FRAME_SIZE * |
---|
81 | diff --git a/mythtv/libs/libmythtv/channelgroupsettings.cpp b/mythtv/libs/libmythtv/channelgroupsettings.cpp |
---|
82 | index db86a32..7cfb587 100644 |
---|
83 | --- a/mythtv/libs/libmythtv/channelgroupsettings.cpp |
---|
84 | +++ b/mythtv/libs/libmythtv/channelgroupsettings.cpp |
---|
85 | @@ -17,7 +17,7 @@ class ChannelGroupStorage : public Storage |
---|
86 | public: |
---|
87 | ChannelGroupStorage(Setting *_setting, |
---|
88 | uint _chanid, QString _grpname) : |
---|
89 | - setting(_setting), chanid(_chanid), grpname(_grpname) {} |
---|
90 | + setting(_setting), chanid(_chanid), grpname(_grpname), grpid(0) {} |
---|
91 | virtual ~ChannelGroupStorage() {}; |
---|
92 | |
---|
93 | virtual void Load(void); |
---|
94 | diff --git a/mythtv/libs/libmythtv/frequencytables.h b/mythtv/libs/libmythtv/frequencytables.h |
---|
95 | index dce958e..fca9ca8 100644 |
---|
96 | --- a/mythtv/libs/libmythtv/frequencytables.h |
---|
97 | +++ b/mythtv/libs/libmythtv/frequencytables.h |
---|
98 | @@ -48,7 +48,8 @@ class FrequencyTable |
---|
99 | : name_format(_name_format), name_offset(_name_offset), |
---|
100 | frequencyStart(_frequencyStart), frequencyEnd(_frequencyEnd), |
---|
101 | frequencyStep(_frequencyStep), modulation(_modulation), |
---|
102 | - offset1(0), offset2(0) { } |
---|
103 | + offset1(0), offset2(0), |
---|
104 | + symbol_rate(0) { } |
---|
105 | |
---|
106 | FrequencyTable(uint64_t _frequencyStart, |
---|
107 | uint64_t _frequencyEnd, |
---|
108 | @@ -73,7 +74,8 @@ class FrequencyTable |
---|
109 | inversion(_inversion), bandwidth(_bandwidth), |
---|
110 | coderate_hp(_coderate_hp), coderate_lp(_coderate_lp), |
---|
111 | constellation(_constellation), trans_mode(_trans_mode), |
---|
112 | - guard_interval(_guard_interval), hierarchy(_hierarchy) { ; } |
---|
113 | + guard_interval(_guard_interval), hierarchy(_hierarchy), |
---|
114 | + symbol_rate(0) { } |
---|
115 | |
---|
116 | FrequencyTable(uint64_t _frequencyStart, |
---|
117 | uint64_t _frequencyEnd, |
---|
118 | diff --git a/mythtv/libs/libmythtv/hdhrrecorder.cpp b/mythtv/libs/libmythtv/hdhrrecorder.cpp |
---|
119 | index 642c880..be12808 100644 |
---|
120 | --- a/mythtv/libs/libmythtv/hdhrrecorder.cpp |
---|
121 | +++ b/mythtv/libs/libmythtv/hdhrrecorder.cpp |
---|
122 | @@ -50,6 +50,9 @@ HDHRRecorder::HDHRRecorder(TVRec *rec, HDHRChannel *channel) |
---|
123 | _input_pat(NULL), _input_pmt(NULL), |
---|
124 | _has_no_av(false) |
---|
125 | { |
---|
126 | + memset(_stream_id, 0, sizeof(_stream_id)); |
---|
127 | + memset(_pid_status, 0, sizeof(_pid_status)); |
---|
128 | + memset(_continuity_counter, 0, sizeof(_continuity_counter)); |
---|
129 | } |
---|
130 | |
---|
131 | HDHRRecorder::~HDHRRecorder() |
---|
132 | diff --git a/mythtv/libs/libmythtv/hdhrstreamhandler.cpp b/mythtv/libs/libmythtv/hdhrstreamhandler.cpp |
---|
133 | index 80554bb..c443277 100644 |
---|
134 | --- a/mythtv/libs/libmythtv/hdhrstreamhandler.cpp |
---|
135 | +++ b/mythtv/libs/libmythtv/hdhrstreamhandler.cpp |
---|
136 | @@ -109,8 +109,10 @@ HDHRStreamHandler::HDHRStreamHandler(const QString &devicename) : |
---|
137 | |
---|
138 | _start_stop_lock(QMutex::Recursive), |
---|
139 | _running(false), |
---|
140 | + _reader_thread(), |
---|
141 | |
---|
142 | _pid_lock(QMutex::Recursive), |
---|
143 | + _open_pid_filters(0), |
---|
144 | _listener_lock(QMutex::Recursive), |
---|
145 | _hdhr_lock(QMutex::Recursive) |
---|
146 | { |
---|
147 | diff --git a/mythtv/libs/libmythtv/mpeg/H264Parser.cpp b/mythtv/libs/libmythtv/mpeg/H264Parser.cpp |
---|
148 | index 8809396..0dd4189 100644 |
---|
149 | --- a/mythtv/libs/libmythtv/mpeg/H264Parser.cpp |
---|
150 | +++ b/mythtv/libs/libmythtv/mpeg/H264Parser.cpp |
---|
151 | @@ -12,6 +12,7 @@ extern "C" { |
---|
152 | } |
---|
153 | |
---|
154 | #include <cmath> |
---|
155 | +#include <strings.h> |
---|
156 | |
---|
157 | static const float eps = 1E-5; |
---|
158 | |
---|
159 | @@ -93,6 +94,7 @@ H264Parser::H264Parser(void) |
---|
160 | { |
---|
161 | Reset(); |
---|
162 | I_is_keyframe = true; |
---|
163 | + memset(&gb, 0, sizeof(gb)); |
---|
164 | } |
---|
165 | |
---|
166 | void H264Parser::Reset(void) |
---|
167 | diff --git a/mythtv/libs/libmythtv/nuppeldecoder.cpp b/mythtv/libs/libmythtv/nuppeldecoder.cpp |
---|
168 | index 5623bf0..bd60487 100644 |
---|
169 | --- a/mythtv/libs/libmythtv/nuppeldecoder.cpp |
---|
170 | +++ b/mythtv/libs/libmythtv/nuppeldecoder.cpp |
---|
171 | @@ -344,6 +344,9 @@ int NuppelDecoder::OpenFile(RingBuffer *rbuffer, bool novideo, |
---|
172 | struct seektable_entry ste; |
---|
173 | int offset = 0; |
---|
174 | |
---|
175 | + ste.file_offset = 0; |
---|
176 | + ste.keyframe_number = 0; |
---|
177 | + |
---|
178 | m_positionMapLock.lock(); |
---|
179 | |
---|
180 | m_positionMap.clear(); |
---|
181 | diff --git a/mythtv/libs/libmythtv/openglcontext.cpp b/mythtv/libs/libmythtv/openglcontext.cpp |
---|
182 | index da26fed..b059bdf 100644 |
---|
183 | --- a/mythtv/libs/libmythtv/openglcontext.cpp |
---|
184 | +++ b/mythtv/libs/libmythtv/openglcontext.cpp |
---|
185 | @@ -147,6 +147,8 @@ OpenGLContext::OpenGLContext(QMutex *lock) : |
---|
186 | m_lock(lock), m_lock_level(0), |
---|
187 | m_colour_control(false) |
---|
188 | { |
---|
189 | + for (int i = 0; i < kPictureAttribute_MAX; i++) |
---|
190 | + pictureAttribs[i] = 0.0f; |
---|
191 | } |
---|
192 | |
---|
193 | OpenGLContext::~OpenGLContext() |
---|
194 | diff --git a/mythtv/libs/libmythtv/osdtypes.cpp b/mythtv/libs/libmythtv/osdtypes.cpp |
---|
195 | index 90906c1..dd146c1 100644 |
---|
196 | --- a/mythtv/libs/libmythtv/osdtypes.cpp |
---|
197 | +++ b/mythtv/libs/libmythtv/osdtypes.cpp |
---|
198 | @@ -80,6 +80,7 @@ OSDSet::OSDSet(const QString &name, bool cache, int screenwidth, |
---|
199 | |
---|
200 | OSDSet::OSDSet(const OSDSet &other) |
---|
201 | { |
---|
202 | + m_listener = other.m_listener; |
---|
203 | m_screenwidth = other.m_screenwidth; |
---|
204 | m_screenheight = other.m_screenheight; |
---|
205 | m_frameint = other.m_frameint; |
---|
206 | diff --git a/mythtv/libs/libmythtv/playercontext.cpp b/mythtv/libs/libmythtv/playercontext.cpp |
---|
207 | index 27709a8..2e18b57 100644 |
---|
208 | --- a/mythtv/libs/libmythtv/playercontext.cpp |
---|
209 | +++ b/mythtv/libs/libmythtv/playercontext.cpp |
---|
210 | @@ -33,8 +33,8 @@ static void *SpawnDecode(void *param) |
---|
211 | PlayerContext::PlayerContext(const QString &inUseID) : |
---|
212 | recUsage(inUseID), nvp(NULL), nvpUnsafe(false), recorder(NULL), |
---|
213 | tvchain(NULL), buffer(NULL), playingInfo(NULL), |
---|
214 | - nohardwaredecoders(false), |
---|
215 | - decoding(false), last_cardid(-1), last_framerate(30.0f), |
---|
216 | + playingLen(0), nohardwaredecoders(false), |
---|
217 | + decoding(false), decode(pthread_t()), last_cardid(-1), last_framerate(30.0f), |
---|
218 | // Fast forward state |
---|
219 | ff_rew_state(0), ff_rew_index(0), ff_rew_speed(0), |
---|
220 | // Other state |
---|
221 | @@ -50,7 +50,7 @@ PlayerContext::PlayerContext(const QString &inUseID) : |
---|
222 | stateLock(QMutex::Recursive), |
---|
223 | // pip |
---|
224 | pipState(kPIPOff), pipRect(0,0,0,0), parentWidget(NULL), |
---|
225 | - useNullVideo(false), |
---|
226 | + pipLocation(0), useNullVideo(false), |
---|
227 | // embedding |
---|
228 | embedWinID(0), embedBounds(0,0,0,0) |
---|
229 | { |
---|
230 | diff --git a/mythtv/libs/libmythtv/previewgenerator.cpp b/mythtv/libs/libmythtv/previewgenerator.cpp |
---|
231 | index f3f004c..b5edb0b 100644 |
---|
232 | --- a/mythtv/libs/libmythtv/previewgenerator.cpp |
---|
233 | +++ b/mythtv/libs/libmythtv/previewgenerator.cpp |
---|
234 | @@ -63,10 +63,10 @@ |
---|
235 | */ |
---|
236 | PreviewGenerator::PreviewGenerator(const ProgramInfo *pginfo, |
---|
237 | PreviewGenerator::Mode _mode) |
---|
238 | - : programInfo(*pginfo), mode(_mode), isConnected(false), |
---|
239 | - createSockets(false), serverSock(NULL), pathname(pginfo->pathname), |
---|
240 | - timeInSeconds(true), captureTime(-1), outFileName(QString::null), |
---|
241 | - outSize(0,0) |
---|
242 | + : previewThread(), programInfo(*pginfo), mode(_mode), |
---|
243 | + isConnected(false), createSockets(false), serverSock(NULL), |
---|
244 | + pathname(pginfo->pathname), timeInSeconds(true), captureTime(-1), |
---|
245 | + outFileName(QString::null), outSize(0,0) |
---|
246 | { |
---|
247 | if (!pathname.contains("/")) |
---|
248 | pathname = programInfo.GetPlaybackURL(false, true); |
---|
249 | diff --git a/mythtv/libs/libmythtv/recordingrule.cpp b/mythtv/libs/libmythtv/recordingrule.cpp |
---|
250 | index b865a4e..c140b9b 100644 |
---|
251 | --- a/mythtv/libs/libmythtv/recordingrule.cpp |
---|
252 | +++ b/mythtv/libs/libmythtv/recordingrule.cpp |
---|
253 | @@ -18,6 +18,7 @@ RecordingRule::RecordingRule() |
---|
254 | m_startdate(QDate::currentDate()), |
---|
255 | m_endtime(QTime::currentTime()), |
---|
256 | m_enddate(QDate::currentDate()), |
---|
257 | + m_channelid(0), |
---|
258 | m_findday(-1), |
---|
259 | m_findtime(QTime::fromString("00:00:00", Qt::ISODate)), |
---|
260 | m_findid(QDate(1970, 1, 1).daysTo(QDate::currentDate()) + 719528), |
---|
261 | diff --git a/mythtv/libs/libmythtv/tv_play.cpp b/mythtv/libs/libmythtv/tv_play.cpp |
---|
262 | index 59abcbe..35b9028 100644 |
---|
263 | --- a/mythtv/libs/libmythtv/tv_play.cpp |
---|
264 | +++ b/mythtv/libs/libmythtv/tv_play.cpp |
---|
265 | @@ -6760,7 +6760,7 @@ bool TV::ProcessSmartChannel(const PlayerContext *ctx, QString &inputStr) |
---|
266 | // Look for channel in line-up |
---|
267 | QString needed_spacer; |
---|
268 | uint pref_cardid; |
---|
269 | - bool is_not_complete; |
---|
270 | + bool is_not_complete = true; |
---|
271 | |
---|
272 | bool valid_prefix = false; |
---|
273 | if (ctx->recorder) |
---|
274 | diff --git a/mythtv/libs/libmythtv/tv_rec.cpp b/mythtv/libs/libmythtv/tv_rec.cpp |
---|
275 | index b903a24..3c7d265 100644 |
---|
276 | --- a/mythtv/libs/libmythtv/tv_rec.cpp |
---|
277 | +++ b/mythtv/libs/libmythtv/tv_rec.cpp |
---|
278 | @@ -131,6 +131,7 @@ TVRec::TVRec(int capturecardnum) |
---|
279 | m_switchingBuffer(false), |
---|
280 | // Current recording info |
---|
281 | curRecording(NULL), autoRunJobs(JOB_NONE), |
---|
282 | + overrecordseconds(0), |
---|
283 | // Pseudo LiveTV recording |
---|
284 | pseudoLiveTVRecording(NULL), |
---|
285 | nextLiveTVDir(""), nextLiveTVDirLock(), |
---|
286 | diff --git a/mythtv/libs/libmythtv/util-opengl.cpp b/mythtv/libs/libmythtv/util-opengl.cpp |
---|
287 | index 52cdf2d..aa55551 100644 |
---|
288 | --- a/mythtv/libs/libmythtv/util-opengl.cpp |
---|
289 | +++ b/mythtv/libs/libmythtv/util-opengl.cpp |
---|
290 | @@ -171,7 +171,7 @@ bool get_glx_version(MythXDisplay *disp, uint &major, uint &minor) |
---|
291 | static QMutex get_glx_version_lock; |
---|
292 | QMutexLocker locker(&get_glx_version_lock); |
---|
293 | |
---|
294 | - int ret, errbase, eventbase, gl_major, gl_minor; |
---|
295 | + int ret = 0, errbase, eventbase, gl_major = 0, gl_minor = 0; |
---|
296 | |
---|
297 | if (has_run) |
---|
298 | { |
---|
299 | diff --git a/mythtv/libs/libmythtv/videoout_xv.cpp b/mythtv/libs/libmythtv/videoout_xv.cpp |
---|
300 | index 6b4f5c8..ebc1305 100644 |
---|
301 | --- a/mythtv/libs/libmythtv/videoout_xv.cpp |
---|
302 | +++ b/mythtv/libs/libmythtv/videoout_xv.cpp |
---|
303 | @@ -182,12 +182,17 @@ VideoOutputXv::VideoOutputXv(MythCodecID codec_id) |
---|
304 | xv_port(-1), xv_hue_base(0), |
---|
305 | xv_colorkey(0), xv_draw_colorkey(false), |
---|
306 | xv_chroma(0), xv_set_defaults(false), |
---|
307 | + xv_need_bobdeint_repaint(false), |
---|
308 | |
---|
309 | chroma_osd(NULL) |
---|
310 | { |
---|
311 | VERBOSE(VB_PLAYBACK, LOC + "ctor"); |
---|
312 | bzero(&av_pause_frame, sizeof(av_pause_frame)); |
---|
313 | |
---|
314 | +#ifdef USING_XVMC |
---|
315 | + memset(&xvmc_surf_info, 0, sizeof(xvmc_surf_info)); |
---|
316 | +#endif |
---|
317 | + |
---|
318 | if (gContext->GetNumSetting("UseVideoModes", 0)) |
---|
319 | display_res = DisplayRes::GetDisplayRes(true); |
---|
320 | } |
---|
321 | diff --git a/mythtv/libs/libmythtv/videooutbase.cpp b/mythtv/libs/libmythtv/videooutbase.cpp |
---|
322 | index f7b081a..ff4fb9e 100644 |
---|
323 | --- a/mythtv/libs/libmythtv/videooutbase.cpp |
---|
324 | +++ b/mythtv/libs/libmythtv/videooutbase.cpp |
---|
325 | @@ -309,7 +309,7 @@ VideoOutput::VideoOutput() : |
---|
326 | db_letterbox_colour(kLetterBoxColour_Black), |
---|
327 | db_deint_filtername(QString::null), |
---|
328 | db_use_picture_controls(false), |
---|
329 | - db_vdisp_profile(NULL), |
---|
330 | + db_vdisp_profile(NULL), video_prate(0.0), |
---|
331 | |
---|
332 | // Picture-in-Picture stuff |
---|
333 | pip_desired_display_size(160,128), pip_display_size(0,0), |
---|