Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RTSP message too long - moonlight-commom-c fork #810

Closed
peetie2k opened this issue Apr 11, 2021 · 29 comments
Closed

RTSP message too long - moonlight-commom-c fork #810

peetie2k opened this issue Apr 11, 2021 · 29 comments

Comments

@peetie2k
Copy link

Hi,

after a recent GFE Update to 3.22.0.28 I'm facing RTSP Connection Errors. I'm using your library via https://github.com/clarkemw/moonlight-embedded-launcher.
Searching for server... Connect to 192.168.178.166... Initializing platform...done Resolving host name...done Starting RTSP handshake...RTSP message too long RTSP DESCRIBE request failed: -1 failed: -1 Cleaning up platform...done

Seems like the base of your fork did some adjustments to conform to GFE 3.22 RTSP (beside some more stuff):
moonlight-stream/moonlight-common-c@9b194cc

Would be great if you could adjust accordingly. Many Thanks :)

@joaopccosta
Copy link

joaopccosta commented Apr 12, 2021

+1 I too am having this very same issue.
It would be brilliant to have a release with the bumped version of moonlight-common-c. :)

@DonSpaggiari
Copy link

Very same issue. It all started with the latest GeForce Experience update. Rolling back to a previous version restores functionality as a temporary workaround. I can provide more information of requested, but the original post describes the exact same problem I’m having.

@AdenGames
Copy link

+1 same issue

@b-bnte
Copy link

b-bnte commented Apr 17, 2021

+1 :(

@Vegz78
Copy link

Vegz78 commented Apr 17, 2021

Same issue here as well after the latest GFE update.

Also unable to cmake the updated repository according to the wiki instructions on RPi OS buster(seg fault for testCCcompiler.c).

A new release is greatly appreciated! Used almost every day by my son on his RPi 3.

Thanks for all your great work!

@Lithium73
Copy link

Hello to all,
I made it work by replacing the moonlight-common-c submodule by the one mentioned above.
Then :

  • re-build and install enet ( 7.0.5)
  • follow compilation instructions on this repo.

@dagonslair
Copy link

dagonslair commented Apr 20, 2021

Same problem here.

I'm no programmer, so I don't know how to replace the moonlight-common-c submodule...

A new updated release would really be great.
thanks !

@Cageman1984
Copy link

Same problem here. I fixed it by rolling back to Driver 465.89 with the earlier version of GFE. (clean install)

Should we just apt-get update in a while to update moonlight embedded, or is replacing the moonlight-common-c submodule the only solution? In the last case... how do i do that?

@dagonslair
Copy link

Anyone can help ?
If there's no apt-get update, how can we replace the moonlight-common-c submodule ?

Thanks !

@Cageman1984
Copy link

I would like to know as well, but don't forget that rolling back to version 465.89 with GFE 3.21 is a fine solution for the meantime.

@Cageman1984
Copy link

I made it work by replacing the moonlight-common-c submodule by the one mentioned above.
Then :

  • re-build and install enet ( 7.0.5)
  • follow compilation instructions on this repo.

Last night I accidentally opened GFE for the third time. This automatically installs the update and therefore breaks my connection. I have to uninstall gfe and install the old version again.

Maybe it would be easier if I try to 'replace the moonlight-common-c submodule'. Could you give me a little hint direction in how to do so? I'm not an absolute pro in linux, but I can follow instructions and think a bit for myself ;)...

@Vegz78
Copy link

Vegz78 commented Apr 26, 2021

Last night I accidentally opened GFE for the third time. This automatically installs the update and therefore breaks my connection. I have to uninstall gfe and install the old version again.

Maybe it would be easier if I try to 'replace the moonlight-common-c submodule'. Could you give me a little hint direction in how to do so? I'm not an absolute pro in linux, but I can follow instructions and think a bit for myself ;)...

It finally worked for me by following the instructions here:
https://github.com/irtimmer/moonlight-embedded/wiki/Full-details-for-Compilation-and-Installation-in-Raspbian-Or-OSMC

If anyone gets the same segfaults/sigrestorer error e.g. when CMake/compiling on RPi OS buster, it worked for me to downgrade from gcc version 8 to 7...

@Cageman1984
Copy link

It finally worked for me by following the instructions here:
https://github.com/irtimmer/moonlight-embedded/wiki/Full-details-for-Compilation-and-Installation-in-Raspbian-Or-OSMC

If anyone gets the same segfaults/sigrestorer error e.g. when CMake/compiling on RPi OS buster, it worked for me to downgrade from gcc version 8 to 7...

Thanks! That seems a pretty easy to follow guide, I'll try it soon.

One question though. What is the effect of apt get update/upgrade on a self compiled program (such as moonlight in this case)? Does it have no effect at all and will I miss future updates? Does it simply keep my application up to date? Or does is break when I update?

Furthermore, why does an apt get update not update moonlight with the latest libraries? Do I need to add repositories, or do the developers of moonlight need to do something?

@Vegz78
Copy link

Vegz78 commented Apr 27, 2021

@Cageman1984:

Compiling and manually installing yourself is totally independent of apt and must also be updated manually.

To avoid any chance of conflicts, I would recommend to uninstall the apt moonlight package before compiling and installing this one from GitHub. -And vice versa.

You could always uninstall the manual compiled version again if a new fixed official apt package has been released and you want automatic future updates again: https://stackoverflow.com/a/14516283/12802435

If moonlight embedded is not among the official Raspberry Pi OS apt packages, you could add this line to the file /etc/apt/sources OR in a new file under folder /etc/apt/sources.list.d:
deb http://archive.itimmer.nl/raspbian/moonlight buster main
(Remember the correct OS version; buster, stretch, jesse etc.)

I don't know the specifics of making releases, either at GitHub or in official Raspberry repositories, but I believe this is an active action by the maintainers of this GitHub repository.

@Cageman1984
Copy link

Thank you for the detailed info vegz78!

I used the apt version because I wanted to stay up to date automatically. If that is not the case, why use the apt version? I'll switch to compiling myself :).

@Vegz78
Copy link

Vegz78 commented Apr 27, 2021

Thank you for the detailed info vegz78!

I used the apt version because I wanted to stay up to date automatically. If that is not the case, why use the apt version? I'll switch to compiling myself :).

You are welcome and hope you get it to work, too!

The apt version is still to stay up to date automatically and effortlessly, and in addition, you get a better quality tested product as a part of an official release, not just a quick and work-in-progress fix/merge/update from GitHub(which very seldom, but sometimes don't work and can cause problems). Since the amazing Moonlight(which is both better than and saves us a lot of money compared to many of its commercial counterparts) is totally free and based only on community/spare time work, I guess the former taking somewhat more time is understandable and appreciated. ;-)

On the other hand, by compiling yourself, you get quicker and cutting edge updates, you learn a lot more, you can start tweaking certain things to your own liking, and suddenly you may even end up fixing and contributing to the product yourself or have new a product of your own, and have learned to program a bit and even gotten som new friends on the way! ;-)

@Cageman1984
Copy link

Cageman1984 commented Apr 27, 2021

I was able to get it to work when compiling moonlight myself! I didn't need to downgrade my GCC (version 8)

However, I've run in some new problems. First, no audio. Audio runs through my AV jack, not HDMI. Apparently you have to tell moonlight that by using -audio hw:1,0. After that it works, but it's really low volume. I had to change that in alsamixer. So that works.

second, my controller (Xbox one wireless controller, using the dongle and the XOW beta driver) is not recognized correctly. That happened before. I created a custom txt file and solved it like that.

Happy now :).

@dagonslair
Copy link

Any news about an apt-get update ?

@Cageman1984
Copy link

We're still stuck on 2.4.11 (march 9). The windows version has recently been updated. Maybe moonlight embedded will follow soon?

I would say that purging the moonlight package and building it yourself is a decent solution for the moment. It's not nearly as difficult as it sounds. It's better dan rolling back GFE all the time.

I made two SD cards. One with the apt version and one with the self compiled version. Just check the moonlight embedded version on GitHub from time to time and switch when it's updated (that's my plan)

@cgutman
Copy link
Member

cgutman commented May 9, 2021

Since the APT official repo still hasn't been updated, I wrote a set of packaging scripts based on those I use to package Moonlight Qt and the old debian packaging files contained in the raspbian/stretch branch to create the package from the latest code myself.

You can download the build from the artifacts of https://ci.appveyor.com/project/cgutman/moonlight-embedded-packaging and install it with dpkg -i. You may need to run apt install --fix-broken to install dependencies. This should work to upgrade the official build from the APT repository too.

Run the following commands to install the updated build:

wget https://ci.appveyor.com/api/buildjobs/sop0mlityjthixsl/artifacts/moonlight-embedded_2.4.11-1buster1_armhf.deb
sudo dpkg -i moonlight-embedded_2.4.11-1buster1_armhf.deb
sudo apt install --fix-broken

@Cageman1984
Copy link

Cageman1984 commented May 10, 2021

Thanks @cgutman. I updated the apt version of moonlight yesterday. Had to install two packages (libcec4 and another), but otherwise it seems to work well. Haven't tried to actually use it yet, I'll find time for that later.

Update:
Unfortunately, I still get the rtsp message is too long...

I'll stick with the self compiled version

@gnalvesteffer
Copy link

gnalvesteffer commented Jun 13, 2021

Confirmed that the workaround involving rolling back the graphics drivers to 465.89 w/ GFE 3.21.0.36 works for me.
You'll also want to prevent GFE from auto-updating. According to a solution here you can do this by clearing out the contents of C:\ProgramData\NVIDIA Corporation\Downloader\gfeupdate.json and then setting the file to readonly (right-click the file and go to properties, then tick the Read-only checkbox) so that GFE won't be able to overwrite it when launching again.

Graphics Drivers: https://www.nvidia.com/en-us/drivers/results/172062/
GFE: https://us.download.nvidia.com/GFE/GFEClient/3.21.0.36/GeForce_Experience_v3.21.0.36.exe

@1010101010101
Copy link

@ss-gnalvesteffer Thanks, the GFE downgrade did the trick! I didn't need to downgrade the Graphics drivers (466.27) on my end.

@dagonslair
Copy link

compiling moonlight myself worked.
Thanks to Vegz78.

@Oranjoose
Copy link

moonlight embedded is still not updated, and the newest version of GFE still doesn't work with it. If the maintainers of this project never update it, I'm guessing the chances of a new GFE version fixing this problem is very slim.

@sander1095
Copy link

@irtimmer Could you shine some knowledge on this issue? I have currently built this app from source and used workarounds posted in this issue to fix this, but would you ever be able to provide some fixes or would you be willing and be able to accept PR's?

@OneCricketeer
Copy link

OneCricketeer commented Jul 23, 2021

Looks like there have been recent commits to the C module 👀

Edit:

But the build fails now.

$ make
Scanning dependencies of target moonlight-common
[  1%] Building C object libgamestream/CMakeFiles/moonlight-common.dir/__/third_party/moonlight-common-c/src/AudioStream.c.o
[  3%] Building C object libgamestream/CMakeFiles/moonlight-common.dir/__/third_party/moonlight-common-c/src/ByteBuffer.c.o
[  5%] Building C object libgamestream/CMakeFiles/moonlight-common.dir/__/third_party/moonlight-common-c/src/Connection.c.o
[  7%] Building C object libgamestream/CMakeFiles/moonlight-common.dir/__/third_party/moonlight-common-c/src/ConnectionTester.c.o
[  9%] Building C object libgamestream/CMakeFiles/moonlight-common.dir/__/third_party/moonlight-common-c/src/ControlStream.c.o
/home/osmc/workspace/moonlight-embedded/third_party/moonlight-common-c/src/ControlStream.c: In function 'startControlStream':
/home/osmc/workspace/moonlight-embedded/third_party/moonlight-common-c/src/ControlStream.c:1149:9: warning: implicit declaration of function 'enet_address_set_address'; did you mean 'enet_address_set_host'? [-Wimplicit-function-declaration]
         enet_address_set_address(&address, (struct sockaddr *)&RemoteAddr, RemoteAddrLen);
         ^~~~~~~~~~~~~~~~~~~~~~~~
         enet_address_set_host
/home/osmc/workspace/moonlight-embedded/third_party/moonlight-common-c/src/ControlStream.c:1150:9: warning: implicit declaration of function 'enet_address_set_port'; did you mean 'enet_address_set_host'? [-Wimplicit-function-declaration]
         enet_address_set_port(&address, ControlPortNumber);
         ^~~~~~~~~~~~~~~~~~~~~
         enet_address_set_host
/home/osmc/workspace/moonlight-embedded/third_party/moonlight-common-c/src/ControlStream.c:1153:42: error: 'ENetAddress' {aka 'struct _ENetAddress'} has no member named 'address'
         client = enet_host_create(address.address.ss_family, NULL, 1, 1, 0, 0);
                                          ^
/home/osmc/workspace/moonlight-embedded/third_party/moonlight-common-c/src/ControlStream.c:1153:62: warning: passing argument 2 of 'enet_host_create' makes integer from pointer without a cast [-Wint-conversion]
         client = enet_host_create(address.address.ss_family, NULL, 1, 1, 0, 0);
                                                              ^~~~
In file included from /home/osmc/workspace/moonlight-embedded/third_party/moonlight-common-c/src/Limelight-internal.h:14,
                 from /home/osmc/workspace/moonlight-embedded/third_party/moonlight-common-c/src/ControlStream.c:1:
/usr/include/enet/enet.h:545:21: note: expected 'size_t' {aka 'unsigned int'} but argument is of type 'void *'
 ENET_API ENetHost * enet_host_create (const ENetAddress *, size_t, size_t, enet_uint32, enet_uint32);
                     ^~~~~~~~~~~~~~~~
/home/osmc/workspace/moonlight-embedded/third_party/moonlight-common-c/src/ControlStream.c:1153:18: error: too many arguments to function 'enet_host_create'
         client = enet_host_create(address.address.ss_family, NULL, 1, 1, 0, 0);
                  ^~~~~~~~~~~~~~~~
In file included from /home/osmc/workspace/moonlight-embedded/third_party/moonlight-common-c/src/Limelight-internal.h:14,
                 from /home/osmc/workspace/moonlight-embedded/third_party/moonlight-common-c/src/ControlStream.c:1:
/usr/include/enet/enet.h:545:21: note: declared here
 ENET_API ENetHost * enet_host_create (const ENetAddress *, size_t, size_t, enet_uint32, enet_uint32);
                     ^~~~~~~~~~~~~~~~
make[2]: *** [libgamestream/CMakeFiles/moonlight-common.dir/build.make:115: libgamestream/CMakeFiles/moonlight-common.dir/__/third_party/moonlight-common-c/src/ControlStream.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:244: libgamestream/CMakeFiles/moonlight-common.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

@cgutman
Copy link
Member

cgutman commented Jul 26, 2021

This is fixed and released in v2.5.0.

You'll need to follow the steps here to install the new Cloudsmith repo to get the new Raspbian package.

@cgutman cgutman closed this as completed Jul 26, 2021
@Cageman1984
Copy link

Will try it soon!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests