2015-03-09 Fred Gleason <fredg@paravelsystems.com>

* Added a 'STATIONS.HAVE_MP4_DECODE' field to the database.
	* Incremented the database version to 243.
	* Added a 'Capability::HaveMp4Decode' value to the
	'RDStation::Capability' enumeration in 'lib/rdstation.cpp' and
	'lib/rdstation.h'.
This commit is contained in:
Fred Gleason 2015-03-09 21:37:10 -04:00
parent fbc07bc9ab
commit da8cf74df8
16 changed files with 80 additions and 2 deletions

View File

@ -14828,3 +14828,9 @@
* Merged patch from Chris Smowton to enable importation of
MP4 files [GitHub pull request #000029].
* Added prerequisites for MP4 importation in 'INSTALL'.
2015-03-09 Fred Gleason <fredg@paravelsystems.com>
* Added a 'STATIONS.HAVE_MP4_DECODE' field to the database.
* Incremented the database version to 243.
* Added a 'Capability::HaveMp4Decode' value to the
'RDStation::Capability' enumeration in 'lib/rdstation.cpp' and
'lib/rdstation.h'.

View File

@ -1991,6 +1991,11 @@ void MainObject::ProbeCaps(RDStation *station)
station->setHaveCapability(RDStation::HaveTwoLame,LoadTwoLame());
station->setHaveCapability(RDStation::HaveMpg321,LoadMad());
//
// MP4 Decoder
//
station->setHaveCapability(RDStation::HaveMp4Decode,CheckMp4Decode());
#ifdef HPI
station->setDriverVersion(RDStation::Hpi,hpiVersion());
#else
@ -2047,6 +2052,17 @@ bool MainObject::CheckLame()
}
bool MainObject::CheckMp4Decode()
{
#ifdef HAVE_MP4_LIBS
return (dlopen("libfaad.so",RTLD_LAZY)!=NULL)&&
(dlopen("libmp4v2.so",RTLD_LAZY)!=NULL);
#else
return false;
#endif // HAVE_MP4_LIBS
}
bool MainObject::LoadTwoLame()
{
#ifdef HAVE_TWOLAME

View File

@ -352,6 +352,7 @@ class MainObject : public QObject
#endif // ALSA
bool CheckLame();
bool CheckMp4Decode();
//
// TwoLAME Encoder

View File

@ -40,6 +40,7 @@ HAVE_FLAC enum('N','Y')
HAVE_TWOLAME enum('N','Y')
HAVE_LAME enum('N','Y')
HAVE_MPG321 enum('N','Y')
HAVE_MP4_DECODE enum('N','Y')
HPI_VERSION char(16)
JACK_VERSION char(16)
ALSA_VERSION char(16)

View File

@ -26,7 +26,7 @@
/*
* Current Database Version
*/
#define RD_VERSION_DATABASE 242
#define RD_VERSION_DATABASE 243
#endif // DBVERSION_H

View File

@ -487,6 +487,10 @@ bool RDStation::haveCapability(Capability cap) const
"HAVE_LAME").toString());
break;
case RDStation::HaveMp4Decode:
return RDBool(RDGetSqlValue("STATIONS","NAME",station_name,
"HAVE_MP4_DECODE").toString());
case RDStation::HaveMpg321:
return RDBool(RDGetSqlValue("STATIONS","NAME",station_name,
"HAVE_MPG321").toString());
@ -519,6 +523,10 @@ void RDStation::setHaveCapability(Capability cap,bool state) const
SetRow("HAVE_LAME",state);
break;
case RDStation::HaveMp4Decode:
SetRow("HAVE_MP4_DECODE",state);
break;
case RDStation::HaveMpg321:
SetRow("HAVE_MPG321",state);
break;

View File

@ -42,7 +42,7 @@ class RDStation
UserSec=1 /**< UserSec - user based security. */
};
enum Capability {HaveOggenc=0,HaveOgg123=1,HaveFlac=2,
HaveLame=3,HaveMpg321=4,HaveTwoLame=5};
HaveLame=3,HaveMpg321=4,HaveTwoLame=5,HaveMp4Decode=6};
enum FilterMode {FilterSynchronous=0,FilterAsynchronous=1};
RDStation(const QString &name,bool create=false);
~RDStation();

View File

@ -644,6 +644,7 @@ bool CreateDb(QString name,QString pwd)
HAVE_TWOLAME enum('N','Y') default 'N',\
HAVE_LAME enum('N','Y') default 'N',\
HAVE_MPG321 enum('N','Y') default 'N',\
HAVE_MP4_DECODE enum('N','Y') default 'N',\
HPI_VERSION char(16),\
JACK_VERSION char(16),\
ALSA_VERSION char(16),\
@ -8086,6 +8087,13 @@ int UpdateDb(int ver)
delete q;
}
if(ver<243) {
sql=QString("alter table STATIONS add column ")+
"HAVE_MP4_DECODE enum('N','Y') default 'N' after HAVE_MPG321";
q=new QSqlQuery(sql);
delete q;
}
// **** End of version updates ****

View File

@ -5902,5 +5902,10 @@ pro naplnění databáze zdroji zvuku.</translation>
<source>&amp;Close</source>
<translation>&amp;Zavřít</translation>
</message>
<message>
<source> MP-4/AAC
</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -5852,5 +5852,10 @@ eingeben um die Audioressourcendatenbank zu füllen.</translation>
<source>&amp;Close</source>
<translation>&amp;Schliessen</translation>
</message>
<message>
<source> MP-4/AAC
</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -5854,5 +5854,10 @@ Revise los parámetros e intente de nuevo.</translation>
<source>&amp;Close</source>
<translation>&amp;Cerrar</translation>
</message>
<message>
<source> MP-4/AAC
</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -5380,5 +5380,10 @@ please check your settings and try again.</source>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> MP-4/AAC
</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -5839,5 +5839,10 @@ Sjekk oppsettet ditt og prøv att.</translation>
<source>&amp;Close</source>
<translation>&amp;Lukk</translation>
</message>
<message>
<source> MP-4/AAC
</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -5839,5 +5839,10 @@ Sjekk oppsettet ditt og prøv att.</translation>
<source>&amp;Close</source>
<translation>&amp;Lukk</translation>
</message>
<message>
<source> MP-4/AAC
</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -5832,5 +5832,10 @@ por favor, cheque suas configurações e tente novamente</translation>
<source>&amp;Close</source>
<translation>&amp;Fechar</translation>
</message>
<message>
<source> MP-4/AAC
</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -98,6 +98,9 @@ ViewAdapters::ViewAdapters(RDStation *rdstation,
text+=tr(" MPEG Layer 2\n");
text+=tr(" MPEG Layer 3\n");
}
if(rdstation->haveCapability(RDStation::HaveMp4Decode)) {
text+=tr(" MP-4/AAC\n");
}
if(rdstation->haveCapability(RDStation::HaveOgg123)) {
text+=tr(" OggVorbis\n");
}