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

Release vs profiling vs debug builds of gstreamer for magicleap #24225

Open
asajeffrey opened this issue Sep 16, 2019 · 3 comments
Open

Release vs profiling vs debug builds of gstreamer for magicleap #24225

asajeffrey opened this issue Sep 16, 2019 · 3 comments

Comments

@asajeffrey
Copy link
Member

@asajeffrey asajeffrey commented Sep 16, 2019

At the moment we're just using the defaultdebugoptimized build of gstreamer for all magicleap builds. Should we use release by default, and reserve debugoptimized for profiling, and use debug for debug builds?

@asajeffrey
Copy link
Member Author

@asajeffrey asajeffrey commented Sep 16, 2019

@asajeffrey asajeffrey changed the title Release vs profiling vs debug builds of gstreamer for magiclea Release vs profiling vs debug builds of gstreamer for magicleap Sep 16, 2019
@nirbheek
Copy link

@nirbheek nirbheek commented Sep 23, 2019

Using debug without optimizations should be avoided with gstreamer because disabling all optimizations tends to make multimedia code very very slow. But sometimes it's unavoidable, of course.

@xclaesse
Copy link

@xclaesse xclaesse commented Sep 23, 2019

IMHO, you should leave the default buildtype (debugoptimized) for debug/developer builds, and use --buildtype release for user builds. If you need unoptimized build for specific debugging, then you can always rebuild yourself with --buildtype debug.

As far as I know the only main difference between debugoptimized and release is glib gets built with -DG_DISABLE_CAST_CHECKS that speed-up all those MyObject *self = MY_OBJECT(gobject);

TIL, GStreamer does not disable cast checks when doing release builds, it has a special option gobject-cast-checks for that, and disable casts by default on even versions numbers. Since Servo uses GStreamer 1.16 branch, it means that cast checks are always disabled. IMHO that's wrong, gst should be changed to follow the same pattern as glib, if only for consistency. I'll open a bug report about that.

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

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.