Opened 11 years ago

Closed 11 years ago

#5477 closed patch (duplicate)

Enable/Disable 5.1 Upmixer from TV-Playback

Reported by: Markus Schulz <msc@…> Owned by: Isaac Richards
Priority: minor Milestone: 0.22
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

to allow stereo playback on demand without loss of 5.1 you can now press F12 to toggle the upmixer. in next version i will add this switch to OSD-menu.

Attachments (5)

toggleupmixer.diff (7.9 KB) - added by Markus Schulz <msc@…> 11 years ago.
patch v1
toggleupmixer_clean.diff (8.4 KB) - added by Markus Schulz <msc@…> 11 years ago.
now a working version, OSD menu entry included
toggleupmixer_v2.diff (7.6 KB) - added by Markus Schulz <msc@…> 11 years ago.
much more simplified and working version (original has channels swapped without upmixer). now using FreeSurround? for "no-upmixer" too with different settings.
toggleupmixer_v2_fixes_branch.diff (7.8 KB) - added by Markus Schulz <msc@…> 11 years ago.
Toggle-Upmixer for Fixes Branch. compiles fine but currently not tested.
toggleupmixer_v2_trunk@18320.diff (8.0 KB) - added by Markus Schulz <msc@…> 11 years ago.
my latest trunk (18320) version

Download all attachments as: .zip

Change History (11)

Changed 11 years ago by Markus Schulz <msc@…>

Attachment: toggleupmixer.diff added

patch v1

Changed 11 years ago by Markus Schulz <msc@…>

Attachment: toggleupmixer_clean.diff added

now a working version, OSD menu entry included

comment:1 Changed 11 years ago by Markus Schulz <msc@…>

nobody interrested in this patch? imho it's really ugly to get _all_ stereo output decoded to pseudo 5.1, in most cases you only get sound from center box. Previously the only way to prevent this was to adjust to a maximum of two channels in the audio options dialog. But then you will never get 5.1 (from real 5.1 audio source) but only 2.0 downmixing. With this patch you can adjust to six channels and enable/disable the pseudo upmixing on demand with F12 or osd menu item.

Changed 11 years ago by Markus Schulz <msc@…>

Attachment: toggleupmixer_v2.diff added

much more simplified and working version (original has channels swapped without upmixer). now using FreeSurround? for "no-upmixer" too with different settings.

comment:2 Changed 11 years ago by elkin@…

Hi, I tried to apply your patch to fixes but I get the following build error.

ccache g++ -c -pipe -march=k8 -fomit-frame-pointer -O3 -DNDEBUG -g -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -Wno-non-virtual-dtor -D__STDC_CONSTANT_MACROS -I/usr/include/kde/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_REENTRANT -DPIC -fPIC  -DMMX -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DRUNPREFIX=\"/usr\" -DLIBDIRNAME=\"lib\" -DUSING_OSS -DUSE_ALSA -DUSE_JOYSTICK_MENU -DUSE_LIRC -DUSE_ARTS -DUSE_JACK -DUSING_X11 -DUSING_XRANDR -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I/usr/include -I/usr/include -I../libmythsamplerate -I../libmythsoundtouch -I../libmythfreesurround -I../libavcodec -I../libavutil -I../.. -I.. -I. -I/usr/include/qt3 -o audiooutputbase.o audiooutputbase.cpp
In file included from audiooutput.cpp:8:
audiooutput.h:77: error: expected ‘,’ or ‘...’ before ‘&’ token
audiooutput.h:77: error: ISO C++ forbids declaration of ‘AudioSettings’ with no type
audiooutput.cpp: In static member function ‘static AudioOutput* AudioOutput::OpenAudio(QString, QString, int, int, int, AudioOutputSource, bool, bool)’:
audiooutput.cpp:50: error: cannot allocate an object of abstract type ‘AudioOutputALSA’
audiooutputalsa.h:17: note:   because the following virtual functions are pure within ‘AudioOutputALSA’:
audiooutput.h:77: note:         virtual bool AudioOutput::ToggleUpmixer(int)
audiooutput.cpp:61: error: cannot allocate an object of abstract type ‘AudioOutputNULL’
audiooutputnull.h:25: note:   because the following virtual functions are pure within ‘AudioOutputNULL’:
audiooutput.h:77: note:         virtual bool AudioOutput::ToggleUpmixer(int)
audiooutput.cpp:69: error: cannot allocate an object of abstract type ‘AudioOutputARTS’
audiooutputarts.h:15: note:   because the following virtual functions are pure within ‘AudioOutputARTS’:
audiooutput.h:77: note:         virtual bool AudioOutput::ToggleUpmixer(int)
audiooutput.cpp:82: error: cannot allocate an object of abstract type ‘AudioOutputJACK’
audiooutputjack.h:13: note:   because the following virtual functions are pure within ‘AudioOutputJACK’:
audiooutput.h:77: note:         virtual bool AudioOutput::ToggleUpmixer(int)
audiooutput.cpp:117: error: cannot allocate an object of abstract type ‘AudioOutputOSS’
audiooutputoss.h:14: note:   because the following virtual functions are pure within ‘AudioOutputOSS’:
audiooutput.h:77: note:         virtual bool AudioOutput::ToggleUpmixer(int)
In file included from audiooutputbase.h:17,
                 from audiooutputbase.cpp:18:
audiooutput.h:77: error: expected ‘,’ or ‘...’ before ‘&’ token
audiooutput.h:77: error: ISO C++ forbids declaration of ‘AudioSettings’ with no type
make[3]: *** [audiooutput.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [audiooutputbase.o] Error 1
make[3]: Leaving directory `/home/elkin/src/mythtv/mythtv-0.21.0+fixes18228/libs/libmyth'
make[2]: *** [sub-libmyth] Error 2
make[2]: Leaving directory `/home/elkin/src/mythtv/mythtv-0.21.0+fixes18228/libs'
make[1]: *** [sub-libs] Error 2
make[1]: Leaving directory `/home/elkin/src/mythtv/mythtv-0.21.0+fixes18228'
make: *** [build-stamp] Error 2
dpkg-buildpackage: failure: debian/rules build gave error exit status 2

comment:3 Changed 11 years ago by Markus Schulz <msc@…>

i have not tested with fixes branch. i will take a look at it in the next days.

comment:4 in reply to:  3 Changed 11 years ago by elkin@…

Replying to Markus Schulz <msc@antzsystem.de>:

i have not tested with fixes branch. i will take a look at it in the next days.

Any chance to test it? Would be a nice feature to have...

Changed 11 years ago by Markus Schulz <msc@…>

Toggle-Upmixer for Fixes Branch. compiles fine but currently not tested.

Changed 11 years ago by Markus Schulz <msc@…>

my latest trunk (18320) version

comment:5 Changed 11 years ago by foobum@…

Implemented in #5900

comment:6 Changed 11 years ago by Dibblah

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.