Quicr/libquicr

MoQT API Cullen Comments

Closed this issue · 3 comments

Here's a PDF version of Cullen's comments including response/questions/etc.

cullens_questions_responses.pdf

A list of agreed changes from Cullen's comments. The trailing (#) are the corresponding comment number.

  • Combine MoQClient and MoQClientDelegate into a single class. (1)
  • Remove cantina::Logger. (2)
  • metrics_export shoud not include 'moqt_config.h'. (5)
  • Client run method should be renamed - might be connect() and also have a correlating disconnect(). (6)
  • Create outline of the FSM and make sure status of each state the client software needs to be aware of. (10)
  • Add a new method to send an announce (11) - Does not make sense for server, but for client.... keep in mind that the publishTrack handler has state and is updated by the implementation when there are subscribers or when subscribers leave. Callbacks are used to notify the app to start/stop their side, such as enable encoder or not. Why would a producer send an announce without knowing the track names that it will be producing?
  • #183
  • Pass access to client/server object as part of the callback for PublishTrackHandler and SubscribeTrackHandler (17) - No longer needed because client and server callbacks are within the client and server class now.
  • Remove "setTrackMode()" (19)
  • Wrap the object meta-data and data in a class for sending/receiving. (20)
  • Rename TrackFullName to FullTrackName. Expand class to include Namespace, Name, possibly tuples in the future, etc. (21)
  • Rename TrackSubscribeHandler to SubscribeTrackHandler, same for publisher. (23)
  • Server and ServerCallbacks should be combined. (25) DUP of (1)
  • [-] Callback in server callbacks seems not aligned with other ones. (28) - Callbacks are relative to client vs server. They will change as MOQT draft changes.
  • TrackFullName should be a class call FullTrackName. Element should be trackName (not name). With optionsl trackAlias. (32)
  • Remove MOQT from all class/variable names. Use namespace moq instead. Move include/source under moq/ (24)

Several updates to the list, marked completed via 35fef76

The docs https://quicr.github.io/libquicr/moq-api-html/index.html reflect these changes as well.

All should be completed now.

Completed.