The Dream 2.2 branch is relatively stable for AAC decoding. When I get some time I want to finish the xHE-AAC decoder.
2.2 works well on OSX and can work OK on linux although I'm still not sure what the best audio driver should be.
But we have this nasty build problem on Windows 10. If anyone can help make a build and an installer that will make working Windows 10 installs easy it would be really helpful.
Julian
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Julian, I am sure you will find multiple volunteers, me one among many.
I have been trying without much success to buld a working dream with xHE-aac support for last one week. I have tried multiple branches, with MSVC as well as QT creator and all I get is thousands of build error thrown at me for every error I fix. You can check the last few messages to find my ordeal.
I will be happy to help write build instructions for Windows if you can fix this for good.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
After recompiling all necessary dll, and lib files, I can run Dream2.2 over windows10. But I have these problems:
When I selected input device through "sound card select" drop-down menu, programe crashed. This is QtCreator IDE screen shot. If I inserted "try.. catch"expression in the suspicious "CSoundIn::Close()", the Qt exception warning disappeared, but programe crashed just the same.
Note that Dream2.1 have the same behaviour, albeit with much less frequency.
In debug mode, it behaves slightly differently: UI constantly flashing after programe starts. When I switched the soundcard input source in the drop-down selection menu, flashing stops. If I proceeded with multiple selection iterations, programe crashed. This is the screen shot.
Thanks, if debug is different from release it is usually an uninitialised variable but it would be even more useful if you could step through the programme and let me know what line it crashes on. Also can you post the output of qmake so I know for certain which libraries are being pulled in.
FYI the sound card code has changed somewhat, to try and take advantage of changes between windows 95 and windows 10. It is obviously still work-in-progress. I couldn't get the QAudio version working on Windows, it is the default now on OSX with portaudio still an option. On Windows I expect you to be still using mmsystem.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sorry, I'm just a qtcreator newbie, so I really don't know the right procedure to do step by step debug.
Anyway, if I start debugging through 'debug'->'start debugging of "dream"' menu, I get this message:
10:32:25: Debugging starts
QMetaObject::indexOfSignal: signal soundUpscaleRatioChanged(int) from CTRx redefined in CRx
Working thread started
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
I think I've solved the UI problem about sound card input. Except for occasional crash when xHE-AAC decoding(a feature under implementation), so far so good.
Note: the xHE-AAC decoder from FDK is useless. It simply can NOT produce any audible signal.
What did you change to fix the UI? I can give you write access to subversion if you want to create a branch and submit code, or just attach changed files here.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Your handling of superframe is correct, but unfortunately the xHE-AAC decoding support is NOT complete in FDK (or they are withholding some important details). Because even if I supply the decoder with correct data frame (frame CRC checked), it still can not parsing it properly and consistently. Note that xHE-AAC comes in many flaviours. The manifesto of FDK doesn't explicitly claim it compatible with DRM bitstream.
P.S.
OK, for the completeness of this thread and not to mislead other FDK users, I retract my claim about the incompatibility of FDK. For the record, FDK IS indeed compatible with DRM bitstream, whether normal AAC or xHE-AAC. My bad experience is due to BAD compiler compatibility: I used the VC++6.0 and it generated half-baked code ( normal AAC works but not xHE-AAC!!).
After I saw the success of kiwiSDR, I realised some thing's wrong with the way I used the FDK.Sorry for the confusion I caused to other users.
Regards
zfyoung
Last edit: zhongfanyang 2020-02-22
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
unfortunately the xHE-AAC decoding support is NOT complete in FDK (or they are withholding some important details)
The manifesto of FDK doesn't explicitly claim it compatible with DRM bitstream.
I wonder if Fraunhofer IIS corrected the problem so as to work with KiwiSDR?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Cant you guys just release a xHE-AAC codec for the earlier version of DREAM (2.1.1) which actually works ?
My version works on Dream2.1.x, and it needs static library "fdk-aac.lib"at link time. So, you still have to built your own fdk library one way or another due to copyright issues. On the other hande, building your fdk lib is quite easily.Just go to https://sourceforge.net/projects/drm/files/helper%20files/
Last edit: zhongfanyang 2020-05-17
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I then open the project file called "libfaad2_dll_drm.vcproj" from vsual studio 2019 and click Build => Build Solution => and get below output with missing .C and .H files
You have to choose files with "fdk-aac" prefix. Only FDK library supports xHE-AAC, while FAAD does not. The source code is self-contained, ie. no need to copy extra files. If MSVC reports missing files, check your include path in your project setting.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ok. I now downloaded https://sourceforge.net/projects/opencore-amr/
and did a build using libfdkaac.vcxproj and fdk-aac-2.0.1.tar.gz
got this file as an output: libfdkaac.lib
What do I do with it ?
Last edit: Amogh 2020-05-18
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Did you have any success building your Dream2.1.1 exe file? If that is the case, I can send you my revised source code to you. Just copy and overwrite (if target dir have files with identical names). Some minor tweaking in project setting and you are ready to go!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm not an expert programmer. In my case, I used QtCreator to build Dream because I never have any success using MSVC to build Dream 2.x (but previous version Dream1.x is OK!). Sorry I can't provide any advice here:(
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The Dream 2.2 branch is relatively stable for AAC decoding. When I get some time I want to finish the xHE-AAC decoder.
2.2 works well on OSX and can work OK on linux although I'm still not sure what the best audio driver should be.
But we have this nasty build problem on Windows 10. If anyone can help make a build and an installer that will make working Windows 10 installs easy it would be really helpful.
Julian
ANY updates on the nasty windows 10 install problem? i.e. "QT platform plug in not initialized" error?
Hi Julian, I am sure you will find multiple volunteers, me one among many.
I have been trying without much success to buld a working dream with xHE-aac support for last one week. I have tried multiple branches, with MSVC as well as QT creator and all I get is thousands of build error thrown at me for every error I fix. You can check the last few messages to find my ordeal.
I will be happy to help write build instructions for Windows if you can fix this for good.
After recompiling all necessary dll, and lib files, I can run Dream2.2 over windows10. But I have these problems:
When I selected input device through "sound card select" drop-down menu, programe crashed. This is QtCreator IDE screen shot. If I inserted "try.. catch"expression in the suspicious "CSoundIn::Close()", the Qt exception warning disappeared, but programe crashed just the same.
Note that Dream2.1 have the same behaviour, albeit with much less frequency.
Last edit: zhongfanyang 2019-11-18
Thats helpful. Could you run a debug build and see if we get any better information such as a line number or the kind of exception that is thrown?
In debug mode, it behaves slightly differently: UI constantly flashing after programe starts. When I switched the soundcard input source in the drop-down selection menu, flashing stops. If I proceeded with multiple selection iterations, programe crashed. This is the screen shot.
Thanks, if debug is different from release it is usually an uninitialised variable but it would be even more useful if you could step through the programme and let me know what line it crashes on. Also can you post the output of qmake so I know for certain which libraries are being pulled in.
FYI the sound card code has changed somewhat, to try and take advantage of changes between windows 95 and windows 10. It is obviously still work-in-progress. I couldn't get the QAudio version working on Windows, it is the default now on OSX with portaudio still an option. On Windows I expect you to be still using mmsystem.
Sorry, I'm just a qtcreator newbie, so I really don't know the right procedure to do step by step debug.
Anyway, if I start debugging through 'debug'->'start debugging of "dream"' menu, I get this message:
10:32:25: Debugging starts
QMetaObject::indexOfSignal: signal soundUpscaleRatioChanged(int) from CTRx redefined in CRx
Working thread started
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
Exception at 0x7ffe918ca839, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at d:\drm\dream_2.2.orig\src\sourcedecoders\audiosourcedecoder.cpp:271
FYI, qmake output:
10:43:24: 为项目dream执行步骤 ...
10:43:24: 正在启动 "C:\qt\Qt5.9.8\5.9.8\msvc2015_64\bin\qmake.exe" D:\DRM\dream_2.2.orig\dream.pro -spec win32-msvc "CONFIG+=debug" "CONFIG+=qml_debug"
Project MESSAGE: Qt 5 debug GUI mode
Project MESSAGE: with mmsystem
Project MESSAGE: with fdk-aac
Project MESSAGE: with opus
Project MESSAGE: with libspeexdsp
Project MESSAGE: with Qwt
Project MESSAGE: Qt modules core gui network xml widgets svg concurrent
Project MESSAGE: Qt 5 debug GUI mode
Project MESSAGE: with mmsystem
Project MESSAGE: with fdk-aac
Project MESSAGE: with opus
Project MESSAGE: with libspeexdsp
Project MESSAGE: with Qwt
Project MESSAGE: Qt modules core gui network xml widgets svg concurrent
Project MESSAGE: Qt 5 release GUI mode
Project MESSAGE: with mmsystem
Project MESSAGE: with fdk-aac
Project MESSAGE: with opus
Project MESSAGE: with libspeexdsp
Project MESSAGE: with Qwt
Project MESSAGE: Qt modules core gui network xml widgets svg concurrent
10:43:27: 进程"C:\qt\Qt5.9.8\5.9.8\msvc2015_64\bin\qmake.exe"正常退出。
10:43:27: 正在启动 "C:\Qt\Qt5.9.8\Tools\QtCreator\bin\jom.exe" -f D:/DRM/dream_2.2.orig/build-dream-Desktop_Qt_5_9_8_MSVC2015_64bit-Debug/Makefile qmake_all
jom 1.1.2 - empower your cores
That's the perfect output - thanks! I'll have a look.
I think I've solved the UI problem about sound card input. Except for occasional crash when xHE-AAC decoding(a feature under implementation), so far so good.
Note: the xHE-AAC decoder from FDK is useless. It simply can NOT produce any audible signal.
Last edit: zhongfanyang 2019-11-22
What did you change to fix the UI? I can give you write access to subversion if you want to create a branch and submit code, or just attach changed files here.
4 files need to change in my case. see the attachment. BTW, line133 in "SoundCardSelMenu.cpp" is redunant or your typo?
insert " CMutex mutexSound; " to "creceivedata.h" and change "creceivedata.cpp" according the attatchment.
Last edit: zhongfanyang 2019-11-24
line 176 of "DRMReceiver.cpp" if (device == "" || device == "default") {
should be if (device == "" || device == "[default]") {
I'm pretty sure the FDK decoder works. The problem is the sliding superframe which I know roughly how to handle but haven't found time to get working.
The superfame is at section 5.3 here: https://www.etsi.org/deliver/etsi_es/201900_201999/201980/04.01.02_60/es_201980v040102p.pdf
Your handling of superframe is correct, but unfortunately the xHE-AAC decoding support is NOT complete in FDK (or they are withholding some important details). Because even if I supply the decoder with correct data frame (frame CRC checked), it still can not parsing it properly and consistently. Note that xHE-AAC comes in many flaviours. The manifesto of FDK doesn't explicitly claim it compatible with DRM bitstream.
P.S.
OK, for the completeness of this thread and not to mislead other FDK users, I retract my claim about the incompatibility of FDK. For the record, FDK IS indeed compatible with DRM bitstream, whether normal AAC or xHE-AAC. My bad experience is due to BAD compiler compatibility: I used the VC++6.0 and it generated half-baked code ( normal AAC works but not xHE-AAC!!).
After I saw the success of kiwiSDR, I realised some thing's wrong with the way I used the FDK.Sorry for the confusion I caused to other users.
Regards
zfyoung
Last edit: zhongfanyang 2020-02-22
I wonder if Fraunhofer IIS corrected the problem so as to work with KiwiSDR?
Cant you guys just release a xHE-AAC codec for the earlier version of DREAM (2.1.1) which actually works ? like the faad2_drm.dll ??
Till this "latest Dream for windows not working" mess is fixed.
My version works on Dream2.1.x, and it needs static library "fdk-aac.lib"at link time. So, you still have to built your own fdk library one way or another due to copyright issues. On the other hande, building your fdk lib is quite easily.Just go to https://sourceforge.net/projects/drm/files/helper%20files/
Last edit: zhongfanyang 2020-05-17
Ok, I am not a programmer and need some help here.
This is what i did.

- Installed Installed MS visual studion 2019 community edition
- In a Folder name libfaad extracted faad2_project_files.zip from https://sourceforge.net/projects/drm/files/helper%20files/
I then open the project file called "libfaad2_dll_drm.vcproj" from vsual studio 2019 and click Build => Build Solution => and get below output with missing .C and .H files

I found all these missing files here: https://sourceforge.net/projects/faac/files/faad2-src/faad2-2.7/ and copied them and re run Build => Build Solution => and get below errors

I am now not sure what I am doing wrong. Some help will be appreceated.
Last edit: Amogh 2020-05-18
You have to choose files with "fdk-aac" prefix. Only FDK library supports xHE-AAC, while FAAD does not. The source code is self-contained, ie. no need to copy extra files. If MSVC reports missing files, check your include path in your project setting.
Ok. I now downloaded https://sourceforge.net/projects/opencore-amr/
and did a build using libfdkaac.vcxproj and fdk-aac-2.0.1.tar.gz
got this file as an output: libfdkaac.lib
What do I do with it ?
Last edit: Amogh 2020-05-18
Did you have any success building your Dream2.1.1 exe file? If that is the case, I can send you my revised source code to you. Just copy and overwrite (if target dir have files with identical names). Some minor tweaking in project setting and you are ready to go!
No, I tried building Dream from https://sourceforge.net/projects/drm/files/helper%20files/ and file svn1077-windows-libs.zip

Get below error.
Last edit: Amogh 2020-05-18
I'm not an expert programmer. In my case, I used QtCreator to build Dream because I never have any success using MSVC to build Dream 2.x (but previous version Dream1.x is OK!). Sorry I can't provide any advice here:(