From 03f91d4c61bd91d8b23e4effa5e4f04850df789b Mon Sep 17 00:00:00 2001 From: Sam Nosenzo Date: Fri, 29 Sep 2023 13:43:04 -0400 Subject: [PATCH] Update comments for `foxglove.CompressedVideo` schema (#129) Timestamp refers to video frame instead of image Added note to `data` field to state that B-frames should not be used. --- internal/__snapshots__/exportTypeScriptSchemas.test.ts.snap | 6 +++--- internal/schemas.ts | 6 +++--- ros_foxglove_msgs/ros1/CompressedVideo.msg | 6 +++--- ros_foxglove_msgs/ros2/CompressedVideo.msg | 6 +++--- schemas/README.md | 6 +++--- schemas/flatbuffer/CompressedVideo.fbs | 6 +++--- schemas/jsonschema/CompressedVideo.json | 6 +++--- schemas/jsonschema/index.ts | 6 +++--- schemas/omgidl/foxglove/CompressedVideo.idl | 6 +++--- schemas/proto/foxglove/CompressedVideo.proto | 6 +++--- schemas/ros1/CompressedVideo.msg | 6 +++--- schemas/ros2/CompressedVideo.msg | 6 +++--- schemas/typescript/CompressedVideo.ts | 6 +++--- 13 files changed, 39 insertions(+), 39 deletions(-) diff --git a/internal/__snapshots__/exportTypeScriptSchemas.test.ts.snap b/internal/__snapshots__/exportTypeScriptSchemas.test.ts.snap index 6ef1c5e..3f652d4 100644 --- a/internal/__snapshots__/exportTypeScriptSchemas.test.ts.snap +++ b/internal/__snapshots__/exportTypeScriptSchemas.test.ts.snap @@ -187,13 +187,13 @@ import { Time } from "./Time"; /** A single frame of a compressed video bitstream */ export type CompressedVideo = { - /** Timestamp of image */ + /** Timestamp of video frame */ timestamp: Time; - /** Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. */ + /** Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video. */ frame_id: string; - /** Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). */ + /** Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead. */ data: Uint8Array; /** diff --git a/internal/schemas.ts b/internal/schemas.ts index 446eeca..5e2d689 100644 --- a/internal/schemas.ts +++ b/internal/schemas.ts @@ -798,19 +798,19 @@ const CompressedVideo: FoxgloveMessageSchema = { { name: "timestamp", type: { type: "primitive", name: "time" }, - description: "Timestamp of image", + description: "Timestamp of video frame", }, { name: "frame_id", type: { type: "primitive", name: "string" }, description: - "Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image.", + "Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video.", }, { name: "data", type: { type: "primitive", name: "bytes" }, description: - "Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame).", + "Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead.", }, { name: "format", diff --git a/ros_foxglove_msgs/ros1/CompressedVideo.msg b/ros_foxglove_msgs/ros1/CompressedVideo.msg index 991c967..d764f43 100644 --- a/ros_foxglove_msgs/ros1/CompressedVideo.msg +++ b/ros_foxglove_msgs/ros1/CompressedVideo.msg @@ -3,13 +3,13 @@ # Generated by https://github.com/foxglove/schemas -# Timestamp of image +# Timestamp of video frame time timestamp -# Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. +# Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video. string frame_id -# Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). +# Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead. uint8[] data # Video format diff --git a/ros_foxglove_msgs/ros2/CompressedVideo.msg b/ros_foxglove_msgs/ros2/CompressedVideo.msg index 03379ff..6eea099 100644 --- a/ros_foxglove_msgs/ros2/CompressedVideo.msg +++ b/ros_foxglove_msgs/ros2/CompressedVideo.msg @@ -3,13 +3,13 @@ # Generated by https://github.com/foxglove/schemas -# Timestamp of image +# Timestamp of video frame builtin_interfaces/Time timestamp -# Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. +# Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video. string frame_id -# Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). +# Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead. uint8[] data # Video format diff --git a/schemas/README.md b/schemas/README.md index 05ba776..c9b8da9 100644 --- a/schemas/README.md +++ b/schemas/README.md @@ -634,7 +634,7 @@ time -Timestamp of image +Timestamp of video frame @@ -647,7 +647,7 @@ string -Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. +Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video. @@ -660,7 +660,7 @@ bytes -Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). +Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead. diff --git a/schemas/flatbuffer/CompressedVideo.fbs b/schemas/flatbuffer/CompressedVideo.fbs index de3a482..714be1a 100644 --- a/schemas/flatbuffer/CompressedVideo.fbs +++ b/schemas/flatbuffer/CompressedVideo.fbs @@ -6,13 +6,13 @@ namespace foxglove; /// A single frame of a compressed video bitstream table CompressedVideo { - /// Timestamp of image + /// Timestamp of video frame timestamp:Time; - /// Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. + /// Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video. frame_id:string; - /// Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). + /// Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead. data:[uint8]; /// Video format diff --git a/schemas/jsonschema/CompressedVideo.json b/schemas/jsonschema/CompressedVideo.json index 21f167b..e33cc95 100644 --- a/schemas/jsonschema/CompressedVideo.json +++ b/schemas/jsonschema/CompressedVideo.json @@ -18,16 +18,16 @@ "maximum": 999999999 } }, - "description": "Timestamp of image" + "description": "Timestamp of video frame" }, "frame_id": { "type": "string", - "description": "Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image." + "description": "Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video." }, "data": { "type": "string", "contentEncoding": "base64", - "description": "Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame)." + "description": "Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead." }, "format": { "type": "string", diff --git a/schemas/jsonschema/index.ts b/schemas/jsonschema/index.ts index c168153..47dcd8b 100644 --- a/schemas/jsonschema/index.ts +++ b/schemas/jsonschema/index.ts @@ -351,16 +351,16 @@ export const CompressedVideo = { "maximum": 999999999 } }, - "description": "Timestamp of image" + "description": "Timestamp of video frame" }, "frame_id": { "type": "string", - "description": "Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image." + "description": "Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video." }, "data": { "type": "string", "contentEncoding": "base64", - "description": "Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame)." + "description": "Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead." }, "format": { "type": "string", diff --git a/schemas/omgidl/foxglove/CompressedVideo.idl b/schemas/omgidl/foxglove/CompressedVideo.idl index 3b39e1c..fcaf97b 100644 --- a/schemas/omgidl/foxglove/CompressedVideo.idl +++ b/schemas/omgidl/foxglove/CompressedVideo.idl @@ -6,13 +6,13 @@ module foxglove { // A single frame of a compressed video bitstream struct CompressedVideo { - // Timestamp of image + // Timestamp of video frame Time timestamp; - // Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. + // Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video. string frame_id; - // Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). + // Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead. sequence data; // Video format diff --git a/schemas/proto/foxglove/CompressedVideo.proto b/schemas/proto/foxglove/CompressedVideo.proto index 9d61961..f411a49 100644 --- a/schemas/proto/foxglove/CompressedVideo.proto +++ b/schemas/proto/foxglove/CompressedVideo.proto @@ -8,13 +8,13 @@ package foxglove; // A single frame of a compressed video bitstream message CompressedVideo { - // Timestamp of image + // Timestamp of video frame google.protobuf.Timestamp timestamp = 1; - // Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. + // Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video. string frame_id = 2; - // Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). + // Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead. bytes data = 3; // Video format diff --git a/schemas/ros1/CompressedVideo.msg b/schemas/ros1/CompressedVideo.msg index 991c967..d764f43 100644 --- a/schemas/ros1/CompressedVideo.msg +++ b/schemas/ros1/CompressedVideo.msg @@ -3,13 +3,13 @@ # Generated by https://github.com/foxglove/schemas -# Timestamp of image +# Timestamp of video frame time timestamp -# Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. +# Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video. string frame_id -# Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). +# Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead. uint8[] data # Video format diff --git a/schemas/ros2/CompressedVideo.msg b/schemas/ros2/CompressedVideo.msg index 03379ff..6eea099 100644 --- a/schemas/ros2/CompressedVideo.msg +++ b/schemas/ros2/CompressedVideo.msg @@ -3,13 +3,13 @@ # Generated by https://github.com/foxglove/schemas -# Timestamp of image +# Timestamp of video frame builtin_interfaces/Time timestamp -# Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. +# Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video. string frame_id -# Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). +# Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead. uint8[] data # Video format diff --git a/schemas/typescript/CompressedVideo.ts b/schemas/typescript/CompressedVideo.ts index 8e7032f..21e1542 100644 --- a/schemas/typescript/CompressedVideo.ts +++ b/schemas/typescript/CompressedVideo.ts @@ -5,13 +5,13 @@ import { Time } from "./Time"; /** A single frame of a compressed video bitstream */ export type CompressedVideo = { - /** Timestamp of image */ + /** Timestamp of video frame */ timestamp: Time; - /** Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. */ + /** Frame of reference for the video. The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video. */ frame_id: string; - /** Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). */ + /** Compressed video frame data. For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove Studio does not support video streams that include B frames because they require lookahead. */ data: Uint8Array; /**