Matthias Kretz [Thu, 31 Jul 2008 06:23:45 +0000 (06:23 -0000)]
backport: use qreal constant instead of double constant, to fix compilation on systems with qreal == float
Matthias Kretz [Sat, 19 Jul 2008 15:56:05 +0000 (15:56 -0000)]
merge 834384 and 834397: pullBuffer modifies m_buffersize
Matthias Kretz [Thu, 17 Jul 2008 15:33:11 +0000 (15:33 -0000)]
bump version number
Matthias Kretz [Thu, 17 Jul 2008 10:44:38 +0000 (10:44 -0000)]
OSS checkbox doesn't make sense here anymore
Matthias Kretz [Thu, 17 Jul 2008 10:42:43 +0000 (10:42 -0000)]
also do the automoc version check here
Matthias Kretz [Wed, 16 Jul 2008 15:53:46 +0000 (15:53 -0000)]
forwardport 728986: LGPLv2+
Matthias Kretz [Wed, 16 Jul 2008 15:32:22 +0000 (15:32 -0000)]
forwardport off_t changes from trunk
Matthias Kretz [Thu, 3 Jul 2008 12:59:40 +0000 (12:59 -0000)]
XineStream::createStream can ask a NullSink for its port - but the NullSink doesn't know about the stream yet. Valid situation: in that case it may return 0, though as that will make the XineStream create the null ports
Matthias Kretz [Wed, 2 Jul 2008 13:10:02 +0000 (13:10 -0000)]
SVN_SILENT: unused variable
Matthias Kretz [Fri, 20 Jun 2008 17:21:04 +0000 (17:21 -0000)]
add some text files
Matthias Kretz [Fri, 20 Jun 2008 13:53:21 +0000 (13:53 -0000)]
rename to Xine TNG and make it compile on its own
Matthias Kretz [Fri, 20 Jun 2008 12:54:08 +0000 (12:54 -0000)]
make sure only one deinterlacer object is created
Matthias Kretz [Mon, 16 Jun 2008 16:13:21 +0000 (16:13 -0000)]
- fix possible race in SeekCommand compression
- add lots of assertions that the XineStream functions are called in the right thread
- the XineStream has a XineEngine from construction till destruction now to make sure there are no races anywhere
- clean up AudioPostList remnants
- work around crash on xine_dispose in ~XineStream when Backend::inShutdown(). My debugging skills are not good enough to understand and fix this one. :-(
Matthias Kretz [Sun, 15 Jun 2008 08:39:11 +0000 (08:39 -0000)]
remove unused code
Matthias Kretz [Sat, 14 Jun 2008 09:23:22 +0000 (09:23 -0000)]
cleanup
Matthias Kretz [Sat, 14 Jun 2008 08:54:08 +0000 (08:54 -0000)]
merge revisions 734366 to 819722 from kdebase/runtime/phonon/xine
- fixes the Qt4.4 QExplicitlySharedDataPointer incompatibilities
- better libxine 1.2 compat
- adds the SharedData class which is QSharedData + virtual dtor
- subtitles and audio channels selection/listing
- hack to set xine_stream_t QObject property on the frontend MediaObject
- let effects take an EffectParameter object instead of an int
- don't crash on missing deinterlacer plugin
- set MUSICBRAINZ_DISCID meta data
- handle hardware device listing in the platform plugin only
- make sure that the device actually failed if audioDeviceFailed is emitted
- emit MediaObject::currentSourceChanged
- let WireCall ref all involved nodes
changes not from the merge:
- make sure VideoWidget objects use only one XCB connection
- lazy create the video port
- correctly recreate the video port if the xine engine changed
Matthias Kretz [Thu, 8 Nov 2007 18:26:04 +0000 (18:26 -0000)]
- adapt to QSet->QList backend interface change
- sort list according to initialPreference
- QDBusConnection::ExportScriptableSlots instead of qdbuscpp2xml -> qdbusxml2cpp roundtrip
- add driver string to removed devices so that operator== matches correctly
Matthias Kretz [Thu, 8 Nov 2007 18:18:05 +0000 (18:18 -0000)]
less noise
Matthias Kretz [Thu, 8 Nov 2007 18:17:37 +0000 (18:17 -0000)]
forwardport: xine effect names are the variable names, better show the description as name instead
Matthias Kretz [Thu, 8 Nov 2007 18:16:23 +0000 (18:16 -0000)]
rename everything to ...2 so to have trunk and branch coinstallable
Matthias Kretz [Thu, 8 Nov 2007 18:14:21 +0000 (18:14 -0000)]
easier way to export dbus interface coming up, rename to xine2 backend so you can have the one from trunk and from the branch installed at the same time
Matthias Kretz [Sat, 13 Oct 2007 09:33:33 +0000 (09:33 -0000)]
when changing the output device copy the m_xine reference to the new XT object
Matthias Kretz [Sat, 13 Oct 2007 09:32:28 +0000 (09:32 -0000)]
allow connections when a node is connected to a NullSink
Matthias Kretz [Tue, 9 Oct 2007 18:20:38 +0000 (18:20 -0000)]
- fix races with KeepReference where it would get deleted in the Xine thread before the main thread was able to add all objects. Now the main thread has to explicitly say when it is done adding objects.
- fix a race with Backend's cleanupObjects that were sent to XineThread to be deleted while in the meantime a KeepReference already deleted itself and the object it was ref'ing
- handle strings as effect parameter value for enum values
Matthias Kretz [Tue, 9 Oct 2007 06:59:31 +0000 (06:59 -0000)]
SourceNode already refs XineStream, no need to add another ref from MediaObject, also this resolves a race condition where XineStreamKeeper would deref in the Xine thread before ~MediaObject could deref the XineStream resulting in XineStream to be deleted in the wrong thread.
Matthias Kretz [Tue, 9 Oct 2007 06:39:35 +0000 (06:39 -0000)]
forwardport:
- handle enums from the plugin parameter API
- better debug output when rewiring
- fix xine_stream_t creation when the stream is initially connected to an Effect instead of an AudioOutput
Matthias Kretz [Tue, 9 Oct 2007 06:38:32 +0000 (06:38 -0000)]
forwardport:
- xine's plugin API supports only doubles, no floats
- ignore that some of the initial buffers have bits == 0
- i18n fixes
Matthias Kretz [Tue, 9 Oct 2007 06:37:10 +0000 (06:37 -0000)]
not used for a long time now
Matthias Kretz [Tue, 9 Oct 2007 06:35:28 +0000 (06:35 -0000)]
always send a rewire event and always clear the disconnections
Matthias Kretz [Mon, 8 Oct 2007 11:51:57 +0000 (11:51 -0000)]
- class XineEngine is now just a refcounted wrapper around xine_t
- Backend does everything that XineEngine did before (all globals go here)
- Backend has a pool of XineEngines so that we don't have to create and
destroy too many of them (rather expensive from all I know)
- more communication between the nodes in order to be able to use the correct
XineEngine: this is a very problematic issue since sometimes we have to
create, destroy and create a xine object just because we couldn't know the
correct XineEngine to use in advance (perhaps this can be improved by a good
guess)
- the AudioPort wrapper is gone in favour of the more general KeepReference
class that moves destruction of the XT objects to the XineThread and can also
keep the objects alive for a given amount of time (important since it's not
known when exactly xine has finished rewiring)
more that I forgot...
Andreas Pakulat [Fri, 5 Oct 2007 22:21:25 +0000 (22:21 -0000)]
Merge the KConfig branch. This are the 3 main modules (+kdeadmin), which are
needed now because friday is the last BC day. The rest of the modules will
follow as fast as my laptop allows.
Matthias Kretz [Thu, 4 Oct 2007 13:58:53 +0000 (13:58 -0000)]
add todo item
Matthias Kretz [Thu, 4 Oct 2007 13:55:43 +0000 (13:55 -0000)]
- on systems that don't provide ALSA default to showing OSS devices
- when (un)checking the show OSS devices setting change the list of displayed
devices (using DBus as there's no other way to communicate between the KCM
and the backend)
Matthias Kretz [Thu, 4 Oct 2007 07:34:03 +0000 (07:34 -0000)]
protect error functions against races
Matthias Kretz [Mon, 1 Oct 2007 08:20:04 +0000 (08:20 -0000)]
also emit needNextUrl/aboutToFinish for playback with defined gap
Script Kiddy [Mon, 1 Oct 2007 06:24:51 +0000 (06:24 -0000)]
SVN_SILENT made messages (.desktop file)
Matthias Kretz [Sun, 30 Sep 2007 15:35:12 +0000 (15:35 -0000)]
implement setTransitionTime > 0
Matthias Kretz [Sun, 30 Sep 2007 11:45:27 +0000 (11:45 -0000)]
- xine v1.2.x is ok, too
- recommend xine 1.1.7 and above only
- give warning when XCB video output is not available
Matthias Kretz [Sat, 29 Sep 2007 16:43:44 +0000 (16:43 -0000)]
more whitespace fixes
Matthias Kretz [Sat, 29 Sep 2007 16:39:58 +0000 (16:39 -0000)]
whitespace cleanup
Matthias Kretz [Sat, 29 Sep 2007 16:36:54 +0000 (16:36 -0000)]
whitespace cleanup
Matthias Kretz [Sat, 29 Sep 2007 16:29:21 +0000 (16:29 -0000)]
- disable persitence of xine output plugins - I think it only makes sense for real hardware devices
- change icon names to what d-miller provided in the playground
Matthias Kretz [Sat, 29 Sep 2007 13:37:33 +0000 (13:37 -0000)]
when the connection graph has changed let AudioOutput know so that it can send
an upstreamEvent to notify the xine_stream_t of the volume
Script Kiddy [Sat, 29 Sep 2007 06:00:08 +0000 (06:00 -0000)]
SVN_SILENT made messages (.desktop file)
Script Kiddy [Fri, 28 Sep 2007 06:44:06 +0000 (06:44 -0000)]
SVN_SILENT made messages (.desktop file)
Matthias Kretz [Wed, 26 Sep 2007 22:00:30 +0000 (22:00 -0000)]
fix deadlock when the frontend AbstractMediaStream never calls setStreamSize but endOfData
Matthias Kretz [Wed, 26 Sep 2007 21:36:32 +0000 (21:36 -0000)]
sync StreamInterface::reset() to the main thread
Matthias Kretz [Wed, 26 Sep 2007 21:33:31 +0000 (21:33 -0000)]
SVN_SILENT: unused method
Matthias Kretz [Wed, 26 Sep 2007 21:23:19 +0000 (21:23 -0000)]
fix memory corruption seen with KIO playback. The value returned here is bigger than the average buffer size inside xine-lib.
Script Kiddy [Wed, 26 Sep 2007 05:58:14 +0000 (05:58 -0000)]
SVN_SILENT made messages (.desktop file)
Matthias Kretz [Mon, 24 Sep 2007 18:34:18 +0000 (18:34 -0000)]
return initialPreference for the audio output devices
Matthias Kretz [Sun, 23 Sep 2007 22:30:14 +0000 (22:30 -0000)]
tell the truth and fail when someone tries to duplicate an audio or video stream
Matthias Kretz [Sun, 23 Sep 2007 22:20:11 +0000 (22:20 -0000)]
add mixerDeviceId property to the AudioOutputDevice objects the xine backend returns
Matthias Kretz [Sun, 23 Sep 2007 21:57:32 +0000 (21:57 -0000)]
rewire when the audio port changed - the signal was unused
Script Kiddy [Fri, 21 Sep 2007 06:26:08 +0000 (06:26 -0000)]
SVN_SILENT made messages (.desktop file)
Script Kiddy [Thu, 20 Sep 2007 05:45:22 +0000 (05:45 -0000)]
SVN_SILENT made messages (.desktop file)
Matthias Kretz [Mon, 17 Sep 2007 12:29:38 +0000 (12:29 -0000)]
m_bytestream may be 0
Matthias Kretz [Mon, 17 Sep 2007 12:16:47 +0000 (12:16 -0000)]
more C++, less C. call ByteStream::reset() on plugin_open
Matthias Kretz [Mon, 17 Sep 2007 12:15:39 +0000 (12:15 -0000)]
some cleanup and added a reset implementation (where the first call to reset is ignored)
Matthias Kretz [Mon, 17 Sep 2007 12:14:48 +0000 (12:14 -0000)]
SVN_SILENT: not meant to be there
Matthias Kretz [Sun, 16 Sep 2007 22:09:21 +0000 (22:09 -0000)]
fix ByteStream getting deleted and then reused:
this needs threadsafe refcounting, so I used QSharedData and
QExplicitlySharedDataPointer, but the latter does delete the object from the
thread that did the last deref, which is not what I need - I need a
deleteLater() call... does this break with Qt 4.4 again?
Matthias Kretz [Sun, 16 Sep 2007 19:30:15 +0000 (19:30 -0000)]
fix end of queue to not make XineStream do a full reload of the stream/MRL
Matthias Kretz [Sun, 16 Sep 2007 19:25:39 +0000 (19:25 -0000)]
default to no xine debug output, the PHONON_XINE_VERBOSITY environment variable allows to request debug output from libxine now
Laurent Montel [Sun, 16 Sep 2007 13:26:01 +0000 (13:26 -0000)]
Fix forward declaration
Matthias Kretz [Sat, 15 Sep 2007 20:52:25 +0000 (20:52 -0000)]
some cleanup; a bit safer - xineOpen can always fail
Script Kiddy [Thu, 13 Sep 2007 05:55:01 +0000 (05:55 -0000)]
SVN_SILENT made messages (.desktop file)
Script Kiddy [Sun, 9 Sep 2007 06:15:09 +0000 (06:15 -0000)]
SVN_SILENT made messages (.desktop file)
Script Kiddy [Fri, 31 Aug 2007 07:59:14 +0000 (07:59 -0000)]
SVN_SILENT made messages (.desktop file)
Matthias Kretz [Tue, 28 Aug 2007 14:58:52 +0000 (14:58 -0000)]
port to KPluginFactory
Matthias Kretz [Tue, 28 Aug 2007 10:06:43 +0000 (10:06 -0000)]
port to KPluginFactory
Matthias Kretz [Mon, 27 Aug 2007 20:48:55 +0000 (20:48 -0000)]
compile using KDE3_SUPPORT for KCModule; fix forward decl.
Matthias Kretz [Mon, 27 Aug 2007 20:44:00 +0000 (20:44 -0000)]
use new KPluginFactory/-Loader
Thiago Macieira [Mon, 27 Aug 2007 17:27:19 +0000 (17:27 -0000)]
Events don't need thread-safe refcounting, so this one is easy to fix
Script Kiddy [Mon, 27 Aug 2007 06:09:24 +0000 (06:09 -0000)]
SVN_SILENT made messages (.desktop file)
Arto Hytönen [Mon, 27 Aug 2007 04:02:34 +0000 (04:02 -0000)]
include and header fixes + krazy exclude=spelling fixes
Matthias Kretz [Fri, 24 Aug 2007 18:28:51 +0000 (18:28 -0000)]
SVN_SILENT: debugging stuff
Matthias Kretz [Fri, 24 Aug 2007 18:28:29 +0000 (18:28 -0000)]
implement contrast, hue and saturation; send middle and right mouse button events to xine as well
Matthias Kretz [Fri, 24 Aug 2007 18:26:45 +0000 (18:26 -0000)]
better be safe in UnpauseForBuffering: m_stream might be 0
Matthias Kretz [Fri, 24 Aug 2007 18:25:40 +0000 (18:25 -0000)]
call startTimer from the correct thread
Benjamin Reed [Fri, 24 Aug 2007 17:09:42 +0000 (17:09 -0000)]
missing include directories
Benjamin Reed [Fri, 24 Aug 2007 17:08:02 +0000 (17:08 -0000)]
clear out some define spam on osx that conflicts with ->assert() :P
Matthias Kretz [Wed, 22 Aug 2007 19:28:49 +0000 (19:28 -0000)]
call startTimer from the correct thread
Script Kiddy [Wed, 22 Aug 2007 10:13:42 +0000 (10:13 -0000)]
SVN_SILENT made messages (.desktop file)
Matthias Kretz [Wed, 22 Aug 2007 09:59:42 +0000 (09:59 -0000)]
tried to adjust to the guidelines at wiki.openusability.org/guidelines/index.php/Design_and_Layout:Layout:Dialogs
Matthias Kretz [Tue, 21 Aug 2007 20:53:31 +0000 (20:53 -0000)]
allow to configure the implicit deinterlacer
Matthias Kretz [Tue, 21 Aug 2007 18:19:17 +0000 (18:19 -0000)]
no mixer in Phonon for 4.0
Matthias Kretz [Tue, 21 Aug 2007 16:35:22 +0000 (16:35 -0000)]
use Q_EXPORT_PLUGIN2; better be safe and use KeepReference with 10s; don't keep a ref to source objects, those are not important for rewires - this fixes a crash where XineStream was deleted from the wrong thread
Matthias Kretz [Tue, 21 Aug 2007 16:33:57 +0000 (16:33 -0000)]
don't access the VideoWidget::xineCallback after the VideoWidget destruction
Matthias Kretz [Tue, 21 Aug 2007 13:38:36 +0000 (13:38 -0000)]
too big diff - no way to commit when not connected to the internet :-(
- VideoWidget on destruction tells xine WILL_DESTROY_DRAWABLE (it was in
VideoWidgetXT before which was not the drawable)
- change Events namespace to Event class (QEvent subclass and baseclass for all
events used in the backend), the Event objects have a refcount now
- let all down-/upstreamEvent reimplementations call the Source-/SinkNode
implementations for event object cleanup
- add code to allow copying custom Event objects
- copy the event before posting it (postEvent takes ownership)
- in SourceNode::downstreamEvent increase refcount of events for each sink it
sends it to
- add safeguard in XT classes to check for early deletion
- add code in XineStream to send arbitrary events downstream
- keep a ref to all XT objects that were mentioned in a connectionChange for 3
seconds to give xine some time to finish the rewiring which happens at some
undefined point after the rewire call.
- implicitly deinterlace video when playing a DVD
- make EVENT_SPU_BUTTON (DVD menus) work again
- remove all "<< endl"s
- stop adding a new unusable virtual device per run
Arto Hytönen [Tue, 21 Aug 2007 07:02:04 +0000 (07:02 -0000)]
a lot of i18n tags and other small krazy issues fixed, nothing major
Script Kiddy [Tue, 21 Aug 2007 06:53:29 +0000 (06:53 -0000)]
SVN_SILENT made messages (.desktop file)
Thiago Macieira [Mon, 20 Aug 2007 21:33:48 +0000 (21:33 -0000)]
Remove use of k_funcinfo
Matthias Kretz [Mon, 20 Aug 2007 15:22:31 +0000 (15:22 -0000)]
don't close the null port when wrapping it in AudioPort
Script Kiddy [Mon, 20 Aug 2007 07:37:38 +0000 (07:37 -0000)]
SVN_SILENT made messages (.desktop file)
Laurent Montel [Mon, 20 Aug 2007 06:52:18 +0000 (06:52 -0000)]
Use FIND_PACKAGE_HANDLE_STANDARD_ARGS
Fix typo
Script Kiddy [Sun, 19 Aug 2007 06:11:40 +0000 (06:11 -0000)]
SVN_SILENT made messages (.desktop file)
Script Kiddy [Sat, 18 Aug 2007 05:39:58 +0000 (05:39 -0000)]
SVN_SILENT made messages (.desktop file)
Matthias Kretz [Fri, 17 Aug 2007 10:29:31 +0000 (10:29 -0000)]
SourceNode does it for us
Matthias Kretz [Fri, 17 Aug 2007 10:28:48 +0000 (10:28 -0000)]
- move some code
- add HasVideoEvent to send downstream to the VideoWidget
Matthias Kretz [Fri, 17 Aug 2007 09:37:05 +0000 (09:37 -0000)]
use new up-/downstreamEvent functions to implement
- aboutToDeleteVideoWidget
- aspect ratio
- scale mode
- mouse events
- audio volume changes