OSDN Git Service

Fixed a possible use-after-free bug in initialization code.
[lamexp/LameXP.git] / src / Encoder_Wave.cpp
index 93b513a..4b60fb2 100644 (file)
@@ -1,11 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////////
 // LameXP - Audio Encoder Front-End
-// Copyright (C) 2004-2013 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2015 LoRd_MuldeR <MuldeR2@GMX.de>
 //
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 // the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
+// (at your option) any later version, but always including the *additional*
+// restrictions defined in the "License.txt" file.
 //
 // This program is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -53,7 +54,7 @@ public:
                        return true;
                        break;
                default:
-                       THROW("Bad RC mode specified!");
+                       MUTILS_THROW("Bad RC mode specified!");
                }
        }
 
@@ -67,7 +68,7 @@ public:
                        return 0;
                        break;
                default:
-                       THROW("Bad RC mode specified!");
+                       MUTILS_THROW("Bad RC mode specified!");
                }
        }
 
@@ -81,7 +82,7 @@ public:
                        return -1;
                        break;
                default:
-                       THROW("Bad RC mode specified!");
+                       MUTILS_THROW("Bad RC mode specified!");
                }
        }
 
@@ -95,7 +96,7 @@ public:
                        return TYPE_UNCOMPRESSED;
                        break;
                default:
-                       THROW("Bad RC mode specified!");
+                       MUTILS_THROW("Bad RC mode specified!");
                }
        }
 
@@ -104,6 +105,12 @@ public:
                static const char* s_description = "Wave Audio (PCM)";
                return s_description;
        }
+
+       virtual const char *extension(void) const
+       {
+               static const char* s_extension = "wav";
+               return s_extension;
+       }
 }
 static const g_waveEncoderInfo;
 
@@ -170,11 +177,6 @@ bool WaveEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
        return (result == 0 && fileOperation.fAnyOperationsAborted == false);
 }
 
-QString WaveEncoder::extension(void)
-{
-       return "wav";
-}
-
 bool WaveEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
 {
        if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)