You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-libs/phonon/files/phonon-4.4-qt7.patch

364 lines
15 KiB

Desc: Fix the QuickTime7 plugin for MacOS. Probably needs 10.6.
Author: Heiko Przybyl <zuxez@cs.tu-berlin.de>
--- phonon-4.4_pre20090520/qt7/backendinfo.mm.orig 2009-10-10 17:54:22 +0200
+++ phonon-4.4_pre20090520/qt7/backendinfo.mm 2009-10-10 17:52:13 +0200
@@ -22,6 +22,7 @@
#include <AudioUnit/AudioUnit.h>
#include <CoreServices/CoreServices.h>
+#include <QtGui/qmacdefines_mac.h>
#import <QTKit/QTMovie.h>
#ifdef QUICKTIME_C_API_AVAILABLE
--- phonon-4.4_pre20090520/qt7/quicktimevideoplayer.h.orig 2009-10-10 19:42:17 +0200
+++ phonon-4.4_pre20090520/qt7/quicktimevideoplayer.h 2009-10-10 20:25:49 +0200
@@ -20,6 +20,7 @@
#include "backendheader.h"
+#include <QtGui/qmacdefines_mac.h>
#import <QTKit/QTDataReference.h>
#import <QTKit/QTMovie.h>
--- phonon-4.4_pre20090520/qt7/CMakeLists.txt.orig 2009-10-10 22:09:10 +0200
+++ phonon-4.4_pre20090520/qt7/CMakeLists.txt 2009-10-10 22:09:19 +0200
@@ -43,6 +43,7 @@ if (BUILD_PHONON_QT7)
)
automoc4_add_library(phonon_qt7 MODULE ${phonon_qt7_SRCS})
+ set_target_properties(phonon_qt7 PROPERTIES PREFIX "")
target_link_libraries(phonon_qt7
${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY}
${PHONON_LIBS}
@@ -46,7 +46,6 @@ if (BUILD_PHONON_QT7)
target_link_libraries(phonon_qt7
${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY}
${PHONON_LIBS}
- "-framework QuickTime"
"-framework AudioUnit"
"-framework AudioToolbox"
"-framework CoreAudio"
@@ -53,6 +54,6 @@ if (BUILD_PHONON_QT7)
"-framework QuartzCore"
"-framework QTKit"
)
- install(TARGETS phonon_qt7 DESTINATION ${PLUGIN_INSTALL_DIR})
+ install(TARGETS phonon_qt7 DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/phonon_backend)
endif (BUILD_PHONON_QT7)
--- phonon-4.4_pre20090520/qt7/audioeffects.h.orig 2009-10-10 20:42:45 +0200
+++ phonon-4.4_pre20090520/qt7/audioeffects.h 2009-10-10 20:42:54 +0200
@@ -37,7 +37,7 @@ namespace QT7
AudioEffectAudioNode(int effectType);
int m_effectType;
- ComponentDescription getAudioNodeDescription() const;
+ AudioComponentDescription getAudioNodeDescription() const;
void initializeAudioUnit();
QVariant parameterValue(const Phonon::EffectParameter &value) const;
--- phonon-4.4_pre20090520/qt7/audioeffects.mm.orig 2009-10-10 20:42:41 +0200
+++ phonon-4.4_pre20090520/qt7/audioeffects.mm 2009-10-10 21:52:44 +0200
@@ -29,9 +29,9 @@ AudioEffectAudioNode::AudioEffectAudioNo
{
}
-ComponentDescription AudioEffectAudioNode::getAudioNodeDescription() const
+AudioComponentDescription AudioEffectAudioNode::getAudioNodeDescription() const
{
- ComponentDescription d;
+ AudioComponentDescription d;
d.componentType = kAudioUnitType_Effect;
d.componentSubType = m_effectType;
d.componentManufacturer = kAudioUnitManufacturer_Apple;
@@ -62,10 +62,10 @@ QVariant AudioEffectAudioNode::parameter
} else {
// Use default value:
AudioUnit tmpAudioUnit;
- ComponentDescription description = getAudioNodeDescription();
- Component component = FindNextComponent(0, &description);
+ AudioComponentDescription description = getAudioNodeDescription();
+ AudioComponent component = AudioComponentFindNext(0, &description);
BACKEND_ASSERT3(component, "Could not get parameters of audio effect.", NORMAL_ERROR, QVariant())
- OSErr err = OpenAComponent(component, &tmpAudioUnit);
+ OSErr err = AudioComponentInstanceNew(component, &tmpAudioUnit);
BACKEND_ASSERT3(err == noErr, "Could not get parameters of audio effect.", NORMAL_ERROR, QVariant())
AudioUnitParameterInfo info;
UInt32 size = sizeof(info);
@@ -87,10 +87,10 @@ void AudioEffectAudioNode::setParameterV
m_alteredParameters.remove(parameter.id());
if (m_audioUnit){
AudioUnit tmpAudioUnit;
- ComponentDescription description = getAudioNodeDescription();
- Component component = FindNextComponent(0, &description);
+ AudioComponentDescription description = getAudioNodeDescription();
+ AudioComponent component = AudioComponentFindNext(0, &description);
BACKEND_ASSERT2(component, "Could not get parameters of audio effect.", NORMAL_ERROR)
- OSErr err = OpenAComponent(component, &tmpAudioUnit);
+ OSErr err = AudioComponentInstanceNew(component, &tmpAudioUnit);
BACKEND_ASSERT2(err == noErr, "Could not get parameters of audio effect.", NORMAL_ERROR)
AudioUnitParameterInfo info;
UInt32 size = sizeof(info);
@@ -121,10 +121,10 @@ QList<Phonon::EffectParameter> AudioEffe
QList<Phonon::EffectParameter> effectList;
// Create a temporary audio unit:
AudioUnit audioUnit;
- ComponentDescription description = m_audioNode->getAudioNodeDescription();
- Component component = FindNextComponent(0, &description);
+ AudioComponentDescription description = m_audioNode->getAudioNodeDescription();
+ AudioComponent component = AudioComponentFindNext(0, &description);
BACKEND_ASSERT3(component, "Could not get parameters of audio effect.", NORMAL_ERROR, effectList)
- OSErr err = OpenAComponent(component, &audioUnit);
+ OSErr err = AudioComponentInstanceNew(component, &audioUnit);
BACKEND_ASSERT3(err == noErr, "Could not get parameters of audio effect.", NORMAL_ERROR, effectList)
UInt32 size = 0;
@@ -149,29 +149,25 @@ QList<Phonon::EffectParameter> AudioEffe
QString AudioEffect::name()
{
- ComponentDescription description = m_audioNode->getAudioNodeDescription();
- Component component = FindNextComponent(0, &description);
+ AudioComponentDescription description = m_audioNode->getAudioNodeDescription();
+ AudioComponent component = AudioComponentFindNext(0, &description);
BACKEND_ASSERT3(component, "Could not get audio effect name.", NORMAL_ERROR, QLatin1String("<unknown effect>"))
- ComponentDescription cDesc;
- Handle nameH = NewHandle(0);
- GetComponentInfo(component, &cDesc, nameH, 0, 0);
- HLock(nameH);
- char *namePtr = *nameH;
- int len = *namePtr++;
- namePtr[len] = 0;
- QString qsName = QString::fromUtf8(namePtr);
- DisposeHandle(nameH);
+ CFStringRef n;
+ AudioComponentCopyName(component, &n);
+ // Or use CFStringGetCString?
+ QString qsName = QString::fromUtf8(CFStringGetCStringPtr(n, kCFStringEncodingUTF8));
return qsName;
}
QString AudioEffect::description()
{
- ComponentDescription description = m_audioNode->getAudioNodeDescription();
- Component component = FindNextComponent(0, &description);
+ AudioComponentDescription description = m_audioNode->getAudioNodeDescription();
+#if 0
+ AudioComponent component = AudioComponentFindNext(0, &description);
BACKEND_ASSERT3(component, "Could not get audio effect description.", NORMAL_ERROR, QLatin1String("<unknown effect>"))
- ComponentDescription cDesc;
+ AudioComponentDescription cDesc;
Handle descH = NewHandle(0);
GetComponentInfo(component, &cDesc, 0, descH, 0);
HLock(descH);
@@ -180,6 +176,9 @@ QString AudioEffect::description()
descPtr[len] = 0;
QString qsDesc = QString::fromUtf8(descPtr);
DisposeHandle(descH);
+#else
+ QString qsDesc;
+#endif
return qsDesc;
}
@@ -187,19 +186,19 @@ QList<int> AudioEffect::effectList()
{
QList<int> effects;
- ComponentDescription d;
+ AudioComponentDescription d;
d.componentType = kAudioUnitType_Effect;
d.componentSubType = 0;
d.componentManufacturer = 0;
d.componentFlags = 0;
d.componentFlagsMask = 0;
- Component component = FindNextComponent(0, &d);
+ AudioComponent component = AudioComponentFindNext(0, &d);
while (component) {
- ComponentDescription cDesc;
- GetComponentInfo(component, &cDesc, 0, 0, 0);
+ AudioComponentDescription cDesc;
+ AudioComponentGetDescription(component, &cDesc);
effects << cDesc.componentSubType;
- component = FindNextComponent(component, &d);
+ component = AudioComponentFindNext(component, &d);
}
return effects;
}
--- phonon-4.4_pre20090520/qt7/audiomixer.h.orig 2009-10-10 21:55:44 +0200
+++ phonon-4.4_pre20090520/qt7/audiomixer.h 2009-10-10 21:56:01 +0200
@@ -41,7 +41,7 @@ namespace QT7
float volume(int bus = 0);
protected:
- ComponentDescription getAudioNodeDescription() const;
+ AudioComponentDescription getAudioNodeDescription() const;
void initializeAudioUnit();
private:
--- phonon-4.4_pre20090520/qt7/audiomixer.mm.orig 2009-10-10 21:56:20 +0200
+++ phonon-4.4_pre20090520/qt7/audiomixer.mm 2009-10-10 21:56:33 +0200
@@ -30,9 +30,9 @@ AudioMixerAudioNode::AudioMixerAudioNode
m_volume = 1.0f;
}
-ComponentDescription AudioMixerAudioNode::getAudioNodeDescription() const
+AudioComponentDescription AudioMixerAudioNode::getAudioNodeDescription() const
{
- ComponentDescription description;
+ AudioComponentDescription description;
description.componentType = kAudioUnitType_Mixer;
description.componentSubType = kAudioUnitSubType_StereoMixer;
description.componentManufacturer = kAudioUnitManufacturer_Apple;
--- phonon-4.4_pre20090520/qt7/audionode.h.orig 2009-10-10 20:39:39 +0200
+++ phonon-4.4_pre20090520/qt7/audionode.h 2009-10-10 20:40:01 +0200
@@ -73,7 +73,7 @@ namespace QT7
// Only the following methods needs to
// be overidden by only_one-audio-unit nodes:
- virtual ComponentDescription getAudioNodeDescription() const;
+ virtual AudioComponentDescription getAudioNodeDescription() const;
virtual void initializeAudioUnit();
private:
--- phonon-4.4_pre20090520/qt7/audionode.mm.orig 2009-10-10 20:35:51 +0200
+++ phonon-4.4_pre20090520/qt7/audionode.mm 2009-10-10 22:02:27 +0200
@@ -63,17 +63,20 @@ void AudioNode::createAndConnectAUNodes(
if (m_auNode)
return;
- ComponentDescription description = getAudioNodeDescription();
+ AudioComponentDescription description = getAudioNodeDescription();
DEBUG_AUDIO_GRAPH("AudioNode" << int(this) << "creates AUNode"
<< QString(!FindNextComponent(0, &description) ? "ERROR: COMPONENT NOT FOUND!" : "OK!"))
OSStatus err = noErr;
+#if 0
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5)
err = AUGraphAddNode(m_audioGraph->audioGraphRef(), &description, &m_auNode);
else
#endif
err = AUGraphNewNode(m_audioGraph->audioGraphRef(), &description, 0, 0, &m_auNode);
+#endif
+ err = AUGraphAddNode(m_audioGraph->audioGraphRef(), &description, &m_auNode);
BACKEND_ASSERT2(err != kAUGraphErr_OutputNodeErr, "A MediaObject can only be connected to one audio output device.", FATAL_ERROR)
BACKEND_ASSERT2(err == noErr, "Could not create new AUNode.", FATAL_ERROR)
@@ -100,10 +103,10 @@ void AudioNode::createAudioUnits()
initializeAudioUnit();
}
-ComponentDescription AudioNode::getAudioNodeDescription() const
+AudioComponentDescription AudioNode::getAudioNodeDescription() const
{
// Override if needed.
- ComponentDescription cd;
+ AudioComponentDescription cd;
Q_UNUSED(cd);
return cd;
}
--- phonon-4.4_pre20090520/qt7/audiooutput.h.orig 2009-10-10 20:40:32 +0200
+++ phonon-4.4_pre20090520/qt7/audiooutput.h 2009-10-10 20:40:48 +0200
@@ -41,7 +41,7 @@ namespace QT7
float volume();
protected:
- ComponentDescription getAudioNodeDescription() const;
+ AudioComponentDescription getAudioNodeDescription() const;
void initializeAudioUnit();
signals:
--- phonon-4.4_pre20090520/qt7/audiooutput.mm.orig 2009-10-10 20:40:54 +0200
+++ phonon-4.4_pre20090520/qt7/audiooutput.mm 2009-10-10 20:41:11 +0200
@@ -16,6 +16,7 @@
*/
#include "audiooutput.h"
+#include "audiooutput_p.h"
#include "audiograph.h"
#include "audiodevice.h"
#include "mediaobject.h"
@@ -34,9 +34,9 @@ AudioOutputAudioPart::AudioOutputAudioPa
m_volume = 1;
}
-ComponentDescription AudioOutputAudioPart::getAudioNodeDescription() const
+AudioComponentDescription AudioOutputAudioPart::getAudioNodeDescription() const
{
- ComponentDescription description;
+ AudioComponentDescription description;
description.componentType = kAudioUnitType_Output;
description.componentSubType = kAudioUnitSubType_DefaultOutput;
description.componentManufacturer = kAudioUnitManufacturer_Apple;
--- phonon-4.4_pre20090520/qt7/audiosplitter.h.orig 2009-10-10 20:41:44 +0200
+++ phonon-4.4_pre20090520/qt7/audiosplitter.h 2009-10-10 20:41:53 +0200
@@ -33,7 +33,7 @@ namespace QT7
{
public:
AudioNodeSplitter();
- ComponentDescription getAudioNodeDescription() const;
+ AudioComponentDescription getAudioNodeDescription() const;
};
class AudioSplitter : public MediaNode
--- phonon-4.4_pre20090520/qt7/audiosplitter.mm.orig 2009-10-10 20:42:02 +0200
+++ phonon-4.4_pre20090520/qt7/audiosplitter.mm 2009-10-10 20:42:10 +0200
@@ -28,9 +28,9 @@ AudioNodeSplitter::AudioNodeSplitter() :
{
}
-ComponentDescription AudioNodeSplitter::getAudioNodeDescription() const
+AudioComponentDescription AudioNodeSplitter::getAudioNodeDescription() const
{
- ComponentDescription description;
+ AudioComponentDescription description;
description.componentType = kAudioUnitType_FormatConverter;
description.componentSubType = kAudioUnitSubType_Splitter;
description.componentManufacturer = kAudioUnitManufacturer_Apple;
--- phonon-4.4_pre20090520/qt7/quicktimeaudioplayer.h.orig 2009-10-10 21:53:20 +0200
+++ phonon-4.4_pre20090520/qt7/quicktimeaudioplayer.h 2009-10-10 21:53:30 +0200
@@ -66,7 +66,7 @@ namespace QT7
QString currentTimeString();
QuickTimeVideoPlayer *videoPlayer();
- ComponentDescription getAudioNodeDescription() const;
+ AudioComponentDescription getAudioNodeDescription() const;
void initializeAudioUnit();
bool fillInStreamSpecification(AudioConnection *connection, ConnectionSide side);
void mediaNodeEvent(const MediaNodeEvent *event);
--- phonon-4.4_pre20090520/qt7/quicktimeaudioplayer.mm.orig 2009-10-10 21:53:42 +0200
+++ phonon-4.4_pre20090520/qt7/quicktimeaudioplayer.mm 2009-10-10 21:55:18 +0200
@@ -266,13 +266,13 @@ bool QuickTimeAudioPlayer::hasAudio()
bool QuickTimeAudioPlayer::soundPlayerIsAwailable()
{
QuickTimeAudioPlayer player;
- ComponentDescription d = player.getAudioNodeDescription();
- return FindNextComponent(0, &d);
+ AudioComponentDescription d = player.getAudioNodeDescription();
+ return AudioComponentFindNext(0, &d);
}
-ComponentDescription QuickTimeAudioPlayer::getAudioNodeDescription() const
+AudioComponentDescription QuickTimeAudioPlayer::getAudioNodeDescription() const
{
- ComponentDescription description;
+ AudioComponentDescription description;
description.componentType = kAudioUnitType_Generator;
description.componentSubType = kAudioUnitSubType_ScheduledSoundPlayer;
description.componentManufacturer = kAudioUnitManufacturer_Apple;
ayer.h
--- phonon-4.4.2-orig/qt7/quicktimevideoplayer.h 2010-08-06 08:43:28.000000000 +0200
+++ phonon-4.4.2/qt7/quicktimevideoplayer.h 2010-08-06 08:43:43.000000000 +0200
@@ -20,6 +20,7 @@
#include "backendheader.h"
+#include <QtGui/qmacdefines_mac.h>
#import <QTKit/QTDataReference.h>
#import <QTKit/QTMovie.h>