Giter Site home page Giter Site logo

Comments (5)

pdeljanov avatar pdeljanov commented on May 24, 2024 1

Hey @dedobbin, @hasezoey,

The title provided in the Info element is like a general title for the segment. Within the segment, more detailed tags may be provided via the Tags element.

I don't really like the idea of overwriting one title with the other, so here are two possible solutions:

  1. Since the Info element would come first, if a title is present, create a MetadataRevision and add the title to it. Push the revision to the MetadataLog. Then, add the tags from the Tags element to a new MetadataRevision, and push it to the MetadataLog. In this way, both titles are accessible with a logical order (Info element, then Tags).
  2. Use the same MetadataRevision for both the Info and Tags element tags, but use a hardcoded tag name of SEGMENT_TITLE (v.s., the regular TITLE) for the Info element segment title.

I'm leaning towards 2 because it's easier for the end-user, but 1 has some perks too (the end-user doesn't need to look for two different tag names).

from symphonia.

dedobbin avatar dedobbin commented on May 24, 2024 1

@pdeljanov Sorry for late response. Holiday happened haha.

Hmm yeah i think solution 1 is the cleanest. Solution 2 was also something i had in mind because it's simpler but feels bit arbitrary to map it to a specific key for Symphonia.

Yeah my vote goes to solution 1.

from symphonia.

dedobbin avatar dedobbin commented on May 24, 2024

Hey thanks for the report. I do find it a bit odd how ffmpeg approaches the title tag, but regardless

In Symphonia, it seems the title from InfoElement is not properly used, removing #[allow(dead_code)] from https://github.com/pdeljanov/Symphonia/blob/master/symphonia-format-mkv/src/segment.rs#L272 reveals as much.

Even though it seems in the realm of MKV metadata usually only refers to the TagsElement, i would argue this title from the InfoElement could also be considered metadata, so we can store it in the metadata structure.

I think this would automatically prioritize the title of the TagsElement since it shows up later in the file and would probably overwrite the title entry by InfoElement, same behavior as ffmpeg.

Do you think this is a good way to approach it @pdeljanov ?

from symphonia.

hasezoey avatar hasezoey commented on May 24, 2024

i am personally fine with either way, as long as it is available as a Metadata tag in some way (and not some out-of-the-way function) and is documented what the difference with the normal TITLE would be.

from symphonia.

pdeljanov avatar pdeljanov commented on May 24, 2024

Yeah, it'd be a bespoke tag for MKV. We can document it in the symphonia-format-mkv crate, but it wouldn't be particularly obvious unless one looks there. In this regard, solution 1 is marginally better because we could just use the typical TITLE tag name and assign the a StandardTagKey to it.

@dedobbin, any thoughts?

from symphonia.

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.