[MPlayer-dev-eng] [PATCH] Support for QNX: QSA audio and Photon GUI.
Mike Gorchak
mike.gorchak.qnx at gmail.com
Mon Feb 4 20:16:24 CET 2013
Hi Reimar,
> One problem is that the patch is mangled, there are linebreaks
> that shouldn't be there.
> That makes it impossible to apply.
This time I've attached patch and ao, vo code separately. Attached
vo_photon.c is a bit newer than in the patch, since I'm working on it.
> It would also be a good bit easier to review if the ao and vo
> was separate, but much more importantly the configure changes
> that don't have anything to do with ao and vo definitely should be
> separate.
Do I have to re-create the patch and remove ao/vo unrelated
modifications in the configure script?
>> +echores "$_qnx_cam"
>> +fi #if qnx
> These defines seem unused.
I planned to use them in VCD and CDDA modules a bit later.
>> +echocheck "QSA audio"
>> +if test "$_qsa" = auto ; then
>> + _qsa=no
>> + header_check sys/asoundlib.h -lasound $ld_dl $ld_pthread && _qsa=yes
>
> This check is 100% identical to the Linux ALSA check.
No, not identical. ALSA headers are located in the alsa/ subdirectory,
while QSA headers are always in sys/ subdirectory.
> This can't be working correctly.
It works correct.
> In fact, your ao_qsa seems to simply reimplement ao_alsa?!?!
No, QSA is based on ALSA 0.5 API, but not the ALSA source (FYI when
mplayer had ao_alsa5 module - it does not work well in QSA
environment). But further improvements of QSA made it uncompatible
with ALSA 0.5.
> These seem unrelated to the ao/vo, and what does _qnx_cam have
> to do with dvdread?
This is how this check works in configure script, it checks for OS and
then for raw read API/header. To pass this check I had to introduce
_qnx_cam, cam is not abbrevation for camera, it is a block device
subsystem in QNX. You could take a look on to dvdcss library, where
this interface already is used.
> Also unrelated to ao/vo support.
Could you ignore all patches unrelated to ao/vo, I will create a
separate patch for all unrelated stuff a bit later.
>> +#elif defined(__QNXNTO__)
>> +#include <gulliver.h>
>> +#define B2N_16(x) x = ENDIAN_SWAP16(x)
>> +#define B2N_32(x) x = ENDIAN_SWAP32(x)
>> +#define B2N_64(x) x = ENDIAN_SWAP64(x)
>
> libdvdread is a separate project, you should send the patch to them.
> Though IMHO it would be better to just always use the fallback code,
> and maybe the gcc bultins.
> I don't think using the OS-specific stuff has much value.
Ok.
>> + switch (photon_mplayer_format)
>> + {
>> + case IMGFMT_YUY2:
>> + case IMGFMT_YVYU:
>
> I think you should be able to avoid this switch and reduce the code
> size a lot by using vo_get_draw_alpha.
Yes, but vo_get_draw_alpha does not support V422 format and some other
which will be added later.
> I'll probably have a lot more comments on the vo, but I don't
> have time to review in detail right now.
Ok, thank you. What I have to do to apply at least vo/ao patches to
mplayer main source tree?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ao_qsa.c
Type: text/x-csrc
Size: 11750 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20130204/ec66f720/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mplayer-qnx.diff
Type: application/octet-stream
Size: 78281 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20130204/ec66f720/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vo_photon.c
Type: text/x-csrc
Size: 54288 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20130204/ec66f720/attachment-0003.bin>
More information about the MPlayer-dev-eng
mailing list