Code Monkey home page Code Monkey logo

Comments (9)

SurfaceS avatar SurfaceS commented on July 1, 2024 1

Deny and allow renderers
Renderer can be described by an IP address, but also an upnp uuid.

IP address can change (DHCP or manual change).
UUID can be changed as well when you reset the device (dynamically created).

So it's an hard goal.

Show and hide folders based on renderers
Maybe to allow this, we can use the users/groups.
Default shared conf -> all
Added custom shared -> user only

Then, link user to a device by UUID.

from universalmediaserver.

SurfaceS avatar SurfaceS commented on July 1, 2024 1

Did we need to keep the old browser files ??

Also, if you ban an IP for a renderer, it will not be able to reach the server, so you will not fill the allowed renderer field.
I will back with a better solution.

from universalmediaserver.

SurfaceS avatar SurfaceS commented on July 1, 2024 1

I will be able to look at this only in a week.

from universalmediaserver.

SurfaceS avatar SurfaceS commented on July 1, 2024 1

@SubJunk
After looking at Show and hide folders based on renderers
I tried some way to do this, and I end with :

Easy part :
Set the rigth on shared:
Add a member AuthorizedGroups to SharedContent that keep a List<Integer> (group ids).
If empty, all groups are allowed.

Set the account on renderer :
Add a new key UserId on RendererConfiguration that keep the user id (integer).

Add a member Account to Renderer that keep the account linked to the renderer device, filled by the RendererConfiguration or logged account for WebRenderer.
If empty, set to a fake account (0) that allow only SharedContent with empty authorized groups.

Hard part :
UMS was coded in the way that all renderers share everything (shares, global repo ids, status, etc).

For the DLNAResource part :

DLNAResource is a lot messy.
DLNAMediaInfo as well (should have nothing to do with DLNA nor renderer or account)
Should not reside under DLNA things.
Should not have user related things (Status of playcount, etc) -> MediaStatus.
It should not be video related but container related, then it can contain MediaVideo, MediaAudio, MediaChapter, MediaImage, and so on.
Refactor DLNAMediaInfo -> MediaInfo
Is used by all renderer, so updating it should be replicated to every renderer.
So, should use a static Object Array that keep MediaInfo for all the DLNAResource.

Added class MediaStatus that keep the status ->
Is used by multiple renderer sharing the same user, so updating it should be replicated to same user renderers.
So, should use a static Object Array that keep MediaStatus for all the DLNAResource by user id.
This will allow to track status based on user.

DLNAResource is renderer aware, so it should be created for each renderer under its own RootFolder.

But first I need to clean some things.

from universalmediaserver.

SubJunk avatar SubJunk commented on July 1, 2024

Cool idea about the user groups. I like it

from universalmediaserver.

SubJunk avatar SubJunk commented on July 1, 2024

I think the old browser files can be removed if you agree

I look forward to seeing your better solution

from universalmediaserver.

SubJunk avatar SubJunk commented on July 1, 2024

Goal 1 is done thanks to @SurfaceS
Do you want to work on number 2 as well? Otherwise I can try

from universalmediaserver.

SubJunk avatar SubJunk commented on July 1, 2024

@SurfaceS ok, I will focus on continuing my HDR and transcoding/muxing fixes so you can do that

from universalmediaserver.

SubJunk avatar SubJunk commented on July 1, 2024

Cool, those all seem like good changes and will make the code more readable. Nice work

from universalmediaserver.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.