Changeset 561 for trunk/src/3rdparty/phonon/gstreamer
- Timestamp:
- Feb 11, 2010, 11:19:06 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property svn:mergeinfo
set to (toggle deleted branches)
/branches/vendor/nokia/qt/4.6.1 merged eligible /branches/vendor/nokia/qt/current merged eligible /branches/vendor/trolltech/qt/current 3-149
-
Property svn:mergeinfo
set to (toggle deleted branches)
-
trunk/src/3rdparty/phonon/gstreamer/CMakeLists.txt
r2 r561 18 18 19 19 if (BUILD_PHONON_GSTREAMER) 20 include_directories(${GSTREAMER_INCLUDE_DIR} ${GLIB2_INCLUDE_DIR} 21 ${LIBXML2_INCLUDE_DIR}) 20 include_directories( 21 ${CMAKE_CURRENT_BINARY_DIR} 22 ${GSTREAMER_INCLUDE_DIR} 23 ${GLIB2_INCLUDE_DIR} 24 ${LIBXML2_INCLUDE_DIR} 25 ${X11_X11_INCLUDE_PATH}) 26 add_definitions(-DPHONON_BACKEND_VERSION_4_2) 27 28 # configure plugin api 29 if(USE_INSTALL_PLUGIN) 30 set(PLUGIN_INSTALL_API TRUE) 31 endif(USE_INSTALL_PLUGIN) 32 33 configure_file(phonon-config-gstreamer.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/phonon-config-gstreamer.h ) 22 34 23 35 set(phonon_gstreamer_SRCS … … 46 58 47 59 find_package(Alsa) 48 if(ALSA_FOUND) 60 macro_ensure_version("0.10.22" ${GSTREAMER_VERSION} GSTREAMER_HAS_NONBLOCKING_ALSASINK) 61 if(ALSA_FOUND AND NOT GSTREAMER_HAS_NONBLOCKING_ALSASINK) 49 62 add_definitions(-DUSE_ALSASINK2) 50 63 include_directories(${ALSA_INCLUDES}) … … 53 66 alsasink2.c 54 67 ) 55 endif(ALSA_FOUND )68 endif(ALSA_FOUND AND NOT GSTREAMER_HAS_NONBLOCKING_ALSASINK) 56 69 57 automoc4(phonon_gstreamer phonon_gstreamer_SRCS) 58 add_library(phonon_gstreamer SHARED ${phonon_gstreamer_SRCS}) 70 automoc4_add_library(phonon_gstreamer MODULE ${phonon_gstreamer_SRCS}) 59 71 set_target_properties(phonon_gstreamer PROPERTIES PREFIX "") 60 72 target_link_libraries(phonon_gstreamer -
trunk/src/3rdparty/phonon/gstreamer/abstractrenderer.cpp
r2 r561 18 18 #include "abstractrenderer.h" 19 19 20 #ifndef QT_NO_PHONON_VIDEO 20 21 QT_BEGIN_NAMESPACE 21 22 … … 53 54 54 55 QT_END_NAMESPACE 56 #endif //QT_NO_PHONON_VIDEO 55 57 56 -
trunk/src/3rdparty/phonon/gstreamer/abstractrenderer.h
r2 r561 24 24 #include <phonon/videowidget.h> 25 25 26 #ifndef QT_NO_PHONON_VIDEO 26 27 QT_BEGIN_NAMESPACE 27 28 … … 59 60 60 61 QT_END_NAMESPACE 61 62 #endif //QT_NO_PHONON_VIDEO 62 63 #endif // Phonon_GSTREAMER_ABSTRACTRENDERER_H -
trunk/src/3rdparty/phonon/gstreamer/artssink.cpp
r2 r561 234 234 GST_DEBUG_OBJECT (src, "initializing artssink"); 235 235 src->stream = 0; 236 236 #ifndef QT_NO_LIBRARY 237 237 p_arts_init = (Ptr_arts_init)QLibrary::resolve(QLatin1String("artsc"), 0, "arts_init"); 238 238 p_arts_play_stream = (Ptr_arts_play_stream)QLibrary::resolve(QLatin1String("artsc"), 0, "arts_play_stream"); … … 251 251 } 252 252 sinkCount ++; 253 #endif //QT_NO_LIBRARY 253 254 } 254 255 -
trunk/src/3rdparty/phonon/gstreamer/audioeffect.cpp
r2 r561 24 24 25 25 #include <gst/gst.h> 26 26 #ifndef QT_NO_PHONON_EFFECT 27 27 QT_BEGIN_NAMESPACE 28 28 … … 76 76 77 77 QT_END_NAMESPACE 78 #endif //QT_NO_PHONON_EFFECT 78 79 #include "moc_audioeffect.cpp" -
trunk/src/3rdparty/phonon/gstreamer/audioeffect.h
r2 r561 30 30 #include <gst/gst.h> 31 31 32 #ifndef QT_NO_PHONON_EFFECT 32 33 QT_BEGIN_NAMESPACE 33 34 34 namespace Phonon 35 35 { … … 50 50 }; 51 51 }} //namespace Phonon::Gstreamer 52 53 52 QT_END_NAMESPACE 53 #endif //QT_NO_PHONON_EFFECT 54 54 55 55 #endif // Phonon_GSTREAMER_AUDIOEFFECT_H -
trunk/src/3rdparty/phonon/gstreamer/audiooutput.cpp
r2 r561 43 43 m_name = "AudioOutput" + QString::number(count++); 44 44 if (m_backend->isValid()) { 45 g_set_application_name(qApp->applicationName().toUtf8());46 45 m_audioBin = gst_bin_new (NULL); 47 46 gst_object_ref (GST_OBJECT (m_audioBin)); … … 138 137 bool success = false; 139 138 const QList<AudioDevice> deviceList = m_backend->deviceManager()->audioOutputDevices(); 140 if (m_audioSink && newDevice >= 0 && newDevice < deviceList.size()) { 139 int deviceIdx = -1; 140 for (int i=0; i<deviceList.size(); i++) { 141 if (deviceList.at(i).id == newDevice) { 142 deviceIdx = i; 143 break; 144 } 145 } 146 147 if (m_audioSink && deviceIdx >= 0) { 141 148 // Save previous state 142 149 GstState oldState = GST_STATE(m_audioSink); 143 150 const QByteArray oldDeviceValue = GstHelper::property(m_audioSink, "device"); 144 const QByteArray deviceId = deviceList.at( newDevice).gstId;151 const QByteArray deviceId = deviceList.at(deviceIdx).gstId; 145 152 m_device = newDevice; 146 153 -
trunk/src/3rdparty/phonon/gstreamer/backend.cpp
r2 r561 50 50 , m_isValid(false) 51 51 { 52 // In order to support reloading, we only set the app name once... 53 static bool first = true; 54 if (first) { 55 first = false; 56 g_set_application_name(qApp->applicationName().toUtf8()); 57 } 58 52 59 GError *err = 0; 53 60 bool wasInit = gst_init_check(0, 0, &err); //init gstreamer: must be called before any gst-related functions … … 56 63 57 64 qRegisterMetaType<Message>("Message"); 58 65 #ifndef QT_NO_PROPERTIES 59 66 setProperty("identifier", QLatin1String("phonon_gstreamer")); 60 67 setProperty("backendName", QLatin1String("Gstreamer")); 61 68 setProperty("backendComment", QLatin1String("Gstreamer plugin for Phonon")); 62 69 setProperty("backendVersion", QLatin1String("0.2")); 63 setProperty("backendWebsite", QLatin1String("http://qtsoftware.com/")); 70 setProperty("backendWebsite", QLatin1String("http://qt.nokia.com/")); 71 #endif //QT_NO_PROPERTIES 64 72 65 73 //check if we should enable debug output … … 85 93 Backend::~Backend() 86 94 { 87 gst_deinit();88 95 } 89 96 … … 118 125 return ao; 119 126 } 127 #ifndef QT_NO_PHONON_EFFECT 120 128 case EffectClass: 121 129 return new AudioEffect(this, args[0].toInt(), parent); 122 130 #endif //QT_NO_PHONON_EFFECT 123 131 case AudioDataOutputClass: 124 132 logMessage("createObject() : AudioDataOutput not implemented"); 125 133 break; 126 134 135 #ifndef QT_NO_PHONON_VIDEO 127 136 case VideoDataOutputClass: 128 137 logMessage("createObject() : VideoDataOutput not implemented"); … … 133 142 return new VideoWidget(this, widget); 134 143 } 135 144 #endif //QT_NO_PHONON_VIDEO 145 #ifndef QT_NO_PHONON_VOLUMEFADEREFFECT 136 146 case VolumeFaderEffectClass: 137 147 return new VolumeFaderEffect(this, parent); 148 #endif //QT_NO_PHONON_VOLUMEFADEREFFECT 138 149 139 150 case VisualizationClass: //Fall through … … 204 215 QString klass = gst_element_factory_get_klass(GST_ELEMENT_FACTORY(feature)); 205 216 206 if (klass == QLatin1String("Codec/Decoder/Audio") || 207 klass == QLatin1String("Codec/Decoder/Video")) { 217 if (klass == QLatin1String("Codec/Decoder") || 218 klass == QLatin1String("Codec/Decoder/Audio") || 219 klass == QLatin1String("Codec/Decoder/Video") || 220 klass == QLatin1String("Codec/Demuxer") || 221 klass == QLatin1String("Codec/Demuxer/Audio") || 222 klass == QLatin1String("Codec/Demuxer/Video") || 223 klass == QLatin1String("Codec/Parser") || 224 klass == QLatin1String("Codec/Parser/Audio") || 225 klass == QLatin1String("Codec/Parser/Video")) { 208 226 209 227 const GList *static_templates; … … 277 295 case Phonon::AudioOutputDeviceType: { 278 296 QList<AudioDevice> audioDevices = deviceManager()->audioOutputDevices(); 279 if (index >= 0 && index < audioDevices.size()) { 280 ret.insert("name", audioDevices[index].gstId); 281 ret.insert("description", audioDevices[index].description); 282 ret.insert("icon", QLatin1String("audio-card")); 297 foreach(const AudioDevice &device, audioDevices) { 298 if (device.id == index) { 299 ret.insert("name", device.gstId); 300 ret.insert("description", device.description); 301 ret.insert("icon", QLatin1String("audio-card")); 302 break; 303 } 283 304 } 284 305 } -
trunk/src/3rdparty/phonon/gstreamer/devicemanager.cpp
r2 r561 73 73 , m_backend(backend) 74 74 { 75 m_audioSink = qgetenv("PHONON_GST_AUDIOSINK"); 76 m_videoSinkWidget = qgetenv("PHONON_GST_VIDEOMODE"); 77 78 #ifndef QT_NO_SETTINGS 75 79 QSettings settings(QLatin1String("Trolltech")); 76 80 settings.beginGroup(QLatin1String("Qt")); 77 81 78 m_audioSink = qgetenv("PHONON_GST_AUDIOSINK");79 82 if (m_audioSink.isEmpty()) { 80 83 m_audioSink = settings.value(QLatin1String("audiosink"), "Auto").toByteArray().toLower(); 81 84 } 82 85 83 m_videoSinkWidget = qgetenv("PHONON_GST_VIDEOMODE");84 86 if (m_videoSinkWidget.isEmpty()) { 85 87 m_videoSinkWidget = settings.value(QLatin1String("videomode"), "Auto").toByteArray().toLower(); 86 88 } 89 #endif //QT_NO_SETTINGS 87 90 88 91 if (m_backend->isValid()) … … 244 247 } 245 248 249 #ifndef QT_NO_PHONON_VIDEO 246 250 AbstractRenderer *DeviceManager::createVideoRenderer(VideoWidget *parent) 247 251 { … … 266 270 return new WidgetRenderer(parent); 267 271 } 272 #endif //QT_NO_PHONON_VIDEO 268 273 269 274 /* -
trunk/src/3rdparty/phonon/gstreamer/effect.cpp
r2 r561 26 26 #include <gst/gst.h> 27 27 28 #ifndef QT_NO_PHONON_EFFECT 28 29 QT_BEGIN_NAMESPACE 29 30 30 namespace Phonon 31 31 { … … 242 242 } 243 243 } //namespace Phonon::Gstreamer 244 245 244 QT_END_NAMESPACE 245 #endif //QT_NO_PHONON_EFFECT 246 246 #include "moc_effect.cpp" -
trunk/src/3rdparty/phonon/gstreamer/effect.h
r2 r561 29 29 #include <gst/gst.h> 30 30 31 #ifndef QT_NO_PHONON_EFFECT 31 32 QT_BEGIN_NAMESPACE 32 33 33 namespace Phonon 34 34 { … … 59 59 }; 60 60 }} //namespace Phonon::Gstreamer 61 62 61 QT_END_NAMESPACE 62 #endif //QT_NO_PHONON_EFFECT 63 63 64 64 #endif // Phonon_GSTREAMER_EFFECT_H -
trunk/src/3rdparty/phonon/gstreamer/mediaobject.cpp
r2 r561 88 88 89 89 if (!m_backend->isValid()) { 90 setError(tr("Cannot start playback. \n\nCheck your G streamer installation and make sure you "90 setError(tr("Cannot start playback. \n\nCheck your GStreamer installation and make sure you " 91 91 "\nhave libgstreamer-plugins-base installed."), Phonon::FatalError); 92 92 } else { … … 96 96 connect(m_tickTimer, SIGNAL(timeout()), SLOT(emitTick())); 97 97 } 98 connect(this, SIGNAL(stateChanged(Phonon::State, 99 this, SLOT(notifyStateChange(Phonon::State, 98 connect(this, SIGNAL(stateChanged(Phonon::State,Phonon::State)), 99 this, SLOT(notifyStateChange(Phonon::State,Phonon::State))); 100 100 101 101 } … … 227 227 228 228 // These functions require GStreamer > 0.10.12 229 #ifndef QT_NO_LIBRARY 229 230 static Ptr_gst_pb_utils_init p_gst_pb_utils_init = 0; 230 231 static Ptr_gst_pb_utils_get_codec_description p_gst_pb_utils_get_codec_description = 0; … … 240 241 value = QString::fromUtf8(codecName); 241 242 g_free (codecName); 242 } else { 243 } else 244 #endif //QT_NO_LIBRARY 245 { 243 246 // For GStreamer versions < 0.10.12 244 247 GstStructure *str = gst_caps_get_structure (caps, 0); 245 248 value = QString::fromUtf8(gst_structure_get_name (str)); 249 246 250 } 247 251 media->addMissingCodecName(value); … … 341 345 GstPad *decodepad = static_cast<GstPad*>(data); 342 346 gst_pad_link (pad, decodepad); 343 gst_object_unref (decodepad);347 //gst_object_unref (decodepad); 344 348 } 345 349 … … 369 373 if (!m_datasource) 370 374 return false; 375 376 // Set the device for MediaSource::Disc 377 if (m_source.type() == MediaSource::Disc) { 378 379 if (g_object_class_find_property (G_OBJECT_GET_CLASS (m_datasource), "device")) { 380 QByteArray mediaDevice = QFile::encodeName(m_source.deviceName()); 381 if (!mediaDevice.isEmpty()) 382 g_object_set (G_OBJECT (m_datasource), "device", mediaDevice.constData(), (const char*)NULL); 383 } 384 385 // Also Set optical disc speed to 2X for Audio CD 386 if (m_source.discType() == Phonon::Cd 387 && (g_object_class_find_property (G_OBJECT_GET_CLASS (m_datasource), "read-speed"))) { 388 g_object_set (G_OBJECT (m_datasource), "read-speed", 2, (const char*)NULL); 389 m_backend->logMessage(QString("new device speed : 2X"), Backend::Info, this); 390 } 391 } 371 392 372 393 // Link data source into pipeline … … 388 409 bool MediaObject::createPipefromStream(const MediaSource &source) 389 410 { 411 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM 390 412 // Remove any existing data source 391 413 if (m_datasource) { … … 409 431 } 410 432 return true; 433 #else //QT_NO_PHONON_ABSTRACTMEDIASTREAM 434 Q_UNUSED(source); 435 return false; 436 #endif 411 437 } 412 438 … … 903 929 break; 904 930 905 case MediaSource::Disc: // CD tracks can be specified by setting the url in the following way uri=cdda:4931 case MediaSource::Disc: 906 932 { 907 QUrl cdurl(QLatin1String("cdda://")); 908 if (createPipefromURL(cdurl)) 933 QString mediaUrl; 934 switch (source.discType()) { 935 case Phonon::NoDisc: 936 qWarning() << "I should never get to see a MediaSource that is a disc but doesn't specify which one"; 937 return; 938 case Phonon::Cd: // CD tracks can be specified by setting the url in the following way uri=cdda:4 939 mediaUrl = QLatin1String("cdda://"); 940 break; 941 case Phonon::Dvd: 942 mediaUrl = QLatin1String("dvd://"); 943 break; 944 case Phonon::Vcd: 945 mediaUrl = QLatin1String("vcd://"); 946 break; 947 default: 948 qWarning() << "media " << source.discType() << " not implemented"; 949 return; 950 } 951 if (!mediaUrl.isEmpty() && createPipefromURL(QUrl(mediaUrl))) 909 952 m_loading = true; 910 953 else … … 966 1009 GstFormat format = gst_format_get_by_nick("track"); 967 1010 if (gst_element_query_duration (m_pipeline, &format, &titleCount)) { 968 int oldAvailableTitles = m_availableTitles; 969 m_availableTitles = (int)titleCount; 970 if (m_availableTitles != oldAvailableTitles) { 971 emit availableTitlesChanged(m_availableTitles); 972 m_backend->logMessage(QString("Available titles changed: %0").arg(m_availableTitles), Backend::Info, this); 1011 //check if returned format is still "track", 1012 //gstreamer sometimes returns the total time, if tracks information is not available. 1013 if (qstrcmp(gst_format_get_name(format), "track") == 0) { 1014 int oldAvailableTitles = m_availableTitles; 1015 m_availableTitles = (int)titleCount; 1016 if (m_availableTitles != oldAvailableTitles) { 1017 emit availableTitlesChanged(m_availableTitles); 1018 m_backend->logMessage(QString("Available titles changed: %0").arg(m_availableTitles), Backend::Info, this); 1019 } 973 1020 } 974 1021 } -
trunk/src/3rdparty/phonon/gstreamer/phononsrc.cpp
r2 r561 110 110 { 111 111 Q_UNUSED(g_class); 112 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM 112 113 src->device = 0; 114 #else 115 Q_UNUSED(src); 116 #endif 113 117 } 114 118 115 119 static void phonon_src_finalize (GObject * object) 116 120 { 121 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM 117 122 PhononSrc *src; 118 123 src = GST_PHONON_SRC (object); 119 124 delete src->device; 120 125 src->device = 0; 126 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM 121 127 G_OBJECT_CLASS (parent_class)->finalize (object); 122 128 } 123 129 130 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM 124 131 static gboolean phonon_src_set_device(PhononSrc * src, StreamReader* device) 125 132 { … … 146 153 } 147 154 } 155 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM 148 156 149 157 static void phonon_src_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) … … 154 162 155 163 switch (prop_id) { 164 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM 156 165 case ARG_PHONONSRC: 157 166 { … … 161 170 break; 162 171 } 172 #else 173 Q_UNUSED(value); 174 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM 163 175 default: 164 176 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); … … 175 187 176 188 switch (prop_id) { 189 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM 177 190 case ARG_PHONONSRC: 178 191 g_value_set_pointer(value, src->device); 179 192 break; 193 #else //QT_NO_PHONON_ABSTRACTMEDIASTREAM 194 Q_UNUSED(value); 195 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM 180 196 default: 181 197 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); … … 186 202 static GstFlowReturn phonon_src_create_read (PhononSrc * src, guint64 offset, guint length, GstBuffer ** buffer) 187 203 { 204 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM 188 205 Q_ASSERT(src->device); 189 206 if (!src->device) … … 205 222 gst_mini_object_unref(GST_MINI_OBJECT(buf)); 206 223 return GST_FLOW_ERROR; 224 #else //QT_NO_PHONON_ABSTRACTMEDIASTREAM 225 Q_UNUSED(src); 226 Q_UNUSED(offset); 227 Q_UNUSED(length); 228 Q_UNUSED(buffer); 229 return GST_FLOW_ERROR; 230 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM 207 231 } 208 232 … … 219 243 { 220 244 PhononSrc *src = GST_PHONON_SRC (basesrc); 245 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM 221 246 if (src->device) 222 247 return src->device->streamSeekable(); 248 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM 223 249 return false; 224 250 } … … 226 252 static gboolean phonon_src_get_size (GstBaseSrc * basesrc, guint64 * size) 227 253 { 254 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM 228 255 PhononSrc *src; 229 256 src = GST_PHONON_SRC (basesrc); … … 232 259 return TRUE; 233 260 } 261 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM 234 262 *size = 0; 235 263 return FALSE; -
trunk/src/3rdparty/phonon/gstreamer/phononsrc.h
r2 r561 50 50 struct _PhononSrc { 51 51 GstBaseSrc element; 52 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM 52 53 StreamReader *device; 54 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM 53 55 }; 54 56 -
trunk/src/3rdparty/phonon/gstreamer/streamreader.cpp
r2 r561 21 21 22 22 QT_BEGIN_NAMESPACE 23 23 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM 24 24 namespace Phonon 25 25 { … … 50 50 } 51 51 } 52 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM 52 53 53 54 QT_END_NAMESPACE -
trunk/src/3rdparty/phonon/gstreamer/streamreader.h
r2 r561 23 23 24 24 QT_BEGIN_NAMESPACE 25 26 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM 25 27 26 28 namespace Phonon … … 92 94 } 93 95 96 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM 97 94 98 QT_END_NAMESPACE 95 99 -
trunk/src/3rdparty/phonon/gstreamer/videowidget.cpp
r2 r561 34 34 #include "x11renderer.h" 35 35 36 #ifndef QT_NO_PHONON_VIDEO 36 37 QT_BEGIN_NAMESPACE 37 38 … … 384 385 385 386 QT_END_NAMESPACE 387 #endif //QT_NO_PHONON_VIDEO 386 388 387 389 #include "moc_videowidget.cpp" -
trunk/src/3rdparty/phonon/gstreamer/videowidget.h
r2 r561 29 29 #include <gst/gst.h> 30 30 31 #ifndef QT_NO_PHONON_VIDEO 31 32 QT_BEGIN_NAMESPACE 32 33 … … 103 104 104 105 QT_END_NAMESPACE 105 106 #endif //QT_NO_PHONON_VIDEO 106 107 #endif // Phonon_GSTREAMER_VIDEOWIDGET_H -
trunk/src/3rdparty/phonon/gstreamer/volumefadereffect.cpp
r2 r561 22 22 QT_BEGIN_NAMESPACE 23 23 24 #ifndef QT_NO_PHONON_VOLUMEFADEREFFECT 24 25 namespace Phonon 25 26 { 26 27 namespace Gstreamer 27 28 { 28 29 29 VolumeFaderEffect::VolumeFaderEffect(Backend *backend, QObject *parent) 30 30 : Effect(backend, parent, AudioSource | AudioSink) … … 157 157 158 158 }} //namespace Phonon::Gstreamer 159 159 #endif //QT_NO_PHONON_VOLUMEFADEREFFECT 160 160 QT_END_NAMESPACE 161 161 -
trunk/src/3rdparty/phonon/gstreamer/volumefadereffect.h
r2 r561 31 31 32 32 QT_BEGIN_NAMESPACE 33 33 #ifndef QT_NO_PHONON_VOLUMEFADEREFFECT 34 34 namespace Phonon 35 35 { … … 65 65 }; 66 66 }} //namespace Phonon::Gstreamer 67 67 #endif //QT_NO_PHONON_VOLUMEFADEREFFECT 68 68 QT_END_NAMESPACE 69 69 -
trunk/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
r2 r561 33 33 #endif 34 34 35 #ifndef QT_NO_PHONON_VIDEO 35 36 QT_BEGIN_NAMESPACE 36 37 … … 149 150 150 151 QT_END_NAMESPACE 152 #endif //QT_NO_PHONON_VIDEO -
trunk/src/3rdparty/phonon/gstreamer/widgetrenderer.h
r2 r561 27 27 #endif 28 28 29 #ifndef QT_NO_PHONON_VIDEO 29 30 QT_BEGIN_NAMESPACE 30 31 … … 60 61 61 62 QT_END_NAMESPACE 62 63 #endif //QT_NO_PHONON_VIDEO 63 64 #endif // Phonon_GSTREAMER_WIDGETRENDERER_H
Note:
See TracChangeset
for help on using the changeset viewer.