Warning, /libraries/phonon/doc/IDEAS is written in an unsupported language. File is not indexed.
0001 MediaInfo class 0002 =============== 0003 0004 It might be nice to have a class that gives information about MediaSource 0005 objects without having to use MediaObject for it. Something like QFileInfo for 0006 QFile. MediaObject could also return a list of MediaInfo objects for all the 0007 MediaSource objects in the queue. 0008 0009 Rationale: The app then can get info about length and substreams so that it can 0010 set up everything correctly for the next "file" in the queue. 0011 0012 0013 - on hotplug of a USB audio/video device: 0014 1. If the device is plugged in for the first time 0015 Check whether the backend now provides new device selections. If yes, open 0016 up central config with the page that allows selection of the default 0017 devices. Tell the user what new options are available. 0018 Allow the user to set preference of devices: If device USB-Headset is 0019 available use that, else use builtin speakers. 0020 0021 device info persistence 0022 ========================= 0023 On device selections: should the user be presented with options that are 0024 currently not available? It might actually be confusing to select a device that 0025 is not usable at the moment. 0026 0027 Some situations: 0028 (device A is always available) 0029 - user plugs device B 0030 - selects device B as default 0031 next day: device B unplugged 0032 - phonon falls back to device A as B is not available and shows a passive popup 0033 informing the user about the fallback 0034 - user opens config dialog 0035 - device B still shows up as default 0036 - selects device A, closes dialog 0037 - opens dialog again 0038 - device B is gone... 0039 - user plugs device B 0040 - device B reappears 0041 0042 The Backend has to provide the information about devices. Those can map directly 0043 to hardware or a soundserver or some other virtual device. The Backend has to 0044 have some unique identifier. For example the ALSA devices could be identified 0045 using the ALSA device names (either hw:0, hw:1 or aliases from asoundrc). OSS 0046 devices could be identified using /dev/dsp, /dev/dsp1 and so on. 0047 => the backend internal uid is a string 0048 In the Frontend all that is needed is a name and a description of the device 0049 (both translated to the current locale) and a unique identifier to talk to the 0050 backend. This identifier could be the same as used internally by the Backend, 0051 but doesn't have to be. 0052 0053 "lowlevel" audio I/O 0054 ====================== 0055 ByteStream is a buffered stream, and as therefore completely useless for cases 0056 where an application wants to write audio data to the soundcard/-system with low 0057 latency. 0058 => PcmInStream and PcmOutStream 0059 0060 0061 ============================================================================ 0062 = Ideas for "useless but nice" things (until somebody can convince me that = 0063 = they're useful) = 0064 ============================================================================ 0065 0066 Video Output 0067 ============== 0068 Add another VideoOutput that can be used directly with QGraphicsView by creating 0069 a QGraphicsItem subclass. 0070