Ticket #7155: libs_libmythtv-uninit-ticket-7155

File libs_libmythtv-uninit-ticket-7155, 13.9 KB (added by Erik Hovland <erik@…>, 14 years ago)

Same patch as before but against trunk as of 2010-02-03

Line 
1Make sure variables are initialized before using.
2
3From: 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
31diff --git a/mythtv/libs/libmythtv/DetectLetterbox.cpp b/mythtv/libs/libmythtv/DetectLetterbox.cpp
32index 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;
43diff --git a/mythtv/libs/libmythtv/NuppelVideoPlayer.cpp b/mythtv/libs/libmythtv/NuppelVideoPlayer.cpp
44index 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),
56diff --git a/mythtv/libs/libmythtv/audioinputalsa.cpp b/mythtv/libs/libmythtv/audioinputalsa.cpp
57index 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())
69diff --git a/mythtv/libs/libmythtv/avformatdecoder.cpp b/mythtv/libs/libmythtv/avformatdecoder.cpp
70index 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(&params, 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 *
81diff --git a/mythtv/libs/libmythtv/channelgroupsettings.cpp b/mythtv/libs/libmythtv/channelgroupsettings.cpp
82index 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);
94diff --git a/mythtv/libs/libmythtv/frequencytables.h b/mythtv/libs/libmythtv/frequencytables.h
95index 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,
118diff --git a/mythtv/libs/libmythtv/hdhrrecorder.cpp b/mythtv/libs/libmythtv/hdhrrecorder.cpp
119index 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()
132diff --git a/mythtv/libs/libmythtv/hdhrstreamhandler.cpp b/mythtv/libs/libmythtv/hdhrstreamhandler.cpp
133index 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 {
147diff --git a/mythtv/libs/libmythtv/mpeg/H264Parser.cpp b/mythtv/libs/libmythtv/mpeg/H264Parser.cpp
148index 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)
167diff --git a/mythtv/libs/libmythtv/nuppeldecoder.cpp b/mythtv/libs/libmythtv/nuppeldecoder.cpp
168index 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();
181diff --git a/mythtv/libs/libmythtv/openglcontext.cpp b/mythtv/libs/libmythtv/openglcontext.cpp
182index 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()
194diff --git a/mythtv/libs/libmythtv/osdtypes.cpp b/mythtv/libs/libmythtv/osdtypes.cpp
195index 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;
206diff --git a/mythtv/libs/libmythtv/playercontext.cpp b/mythtv/libs/libmythtv/playercontext.cpp
207index 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 {
230diff --git a/mythtv/libs/libmythtv/previewgenerator.cpp b/mythtv/libs/libmythtv/previewgenerator.cpp
231index 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);
249diff --git a/mythtv/libs/libmythtv/recordingrule.cpp b/mythtv/libs/libmythtv/recordingrule.cpp
250index 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),
261diff --git a/mythtv/libs/libmythtv/tv_play.cpp b/mythtv/libs/libmythtv/tv_play.cpp
262index 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)
274diff --git a/mythtv/libs/libmythtv/tv_rec.cpp b/mythtv/libs/libmythtv/tv_rec.cpp
275index 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(),
286diff --git a/mythtv/libs/libmythtv/util-opengl.cpp b/mythtv/libs/libmythtv/util-opengl.cpp
287index 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     {
299diff --git a/mythtv/libs/libmythtv/videoout_xv.cpp b/mythtv/libs/libmythtv/videoout_xv.cpp
300index 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 }
321diff --git a/mythtv/libs/libmythtv/videooutbase.cpp b/mythtv/libs/libmythtv/videooutbase.cpp
322index 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),