@scrypted/libav 1.0.140 → 1.0.142

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -95,7 +95,9 @@ export interface AVFormatContext {
95
95
  receiveFrame(streamIndex: number, codecContext: AVCodecContext): Promise<AVFrame>;
96
96
  create(format: string, callback: (buffer: Buffer) => void): void;
97
97
  newStream(options: {
98
- codecContext: AVCodecContext;
98
+ codecContext?: AVCodecContext;
99
+ formatContext?: AVFormatContext;
100
+ streamIndex?: number;
99
101
  }): number;
100
102
  writeFrame(streamIndex: number, packet: AVPacket): void;
101
103
  createSDP(): string;
@@ -118,7 +120,7 @@ export declare function createAVFilter(options: {
118
120
  export declare function createAVFrame(width: number, height: number, pixelFormat: string, fillBlack?: boolean): AVFrame;
119
121
  export declare function createAVBitstreamFilter(filter: string): AVBitstreamFilter;
120
122
  export declare function getBinaryUrl(): string;
121
- export declare function createSdp(formatContexts: AVFormatContext[]): any;
123
+ export declare function createSdp(formatContexts: AVFormatContext[]): string;
122
124
  export declare function toJpeg(frame: AVFrame, quality: number): Promise<Buffer<ArrayBufferLike>>;
123
125
  export declare function toBuffer(frame: AVFrame): Promise<Buffer<ArrayBufferLike>>;
124
126
  export declare const version: string;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrypted/libav",
3
- "version": "1.0.140",
3
+ "version": "1.0.142",
4
4
  "dependencies": {
5
5
  "detect-libc": "^2.0.3",
6
6
  "follow-redirects": "^1.15.9",
@@ -699,30 +699,77 @@ Napi::Value AVFormatContextObject::NewStream(const Napi::CallbackInfo &info)
699
699
  Napi::Object options = info[0].As<Napi::Object>();
700
700
 
701
701
  Napi::Value codecContextValue = options.Get("codecContext");
702
- if (!codecContextValue.IsObject())
702
+ Napi::Value formatContextValue = options.Get("formatContext");
703
+ Napi::Value streamIndexValue = options.Get("streamIndex");
704
+ AVStream *stream;
705
+
706
+ if (codecContextValue.IsObject())
707
+ {
708
+ AVCodecContextObject *codecContextObject = Napi::ObjectWrap<AVCodecContextObject>::Unwrap(codecContextValue.As<Napi::Object>());
709
+ AVCodecContext *codecContext = codecContextObject->codecContext;
710
+
711
+ // Create a new stream
712
+ stream = avformat_new_stream(fmt_ctx_, NULL);
713
+ if (!stream)
714
+ {
715
+ Napi::Error::New(env, "Failed to create new stream").ThrowAsJavaScriptException();
716
+ return env.Undefined();
717
+ }
718
+
719
+ // Set the codec parameters for the new stream
720
+ AVCodecParameters *codecpar = stream->codecpar;
721
+ stream->time_base.num = codecContext->time_base.num;
722
+ stream->time_base.den = codecContext->time_base.den;
723
+
724
+ avcodec_parameters_from_context(codecpar, codecContext);
725
+ }
726
+ else if (formatContextValue.IsObject())
703
727
  {
704
- Napi::TypeError::New(env, "Object expected for codecContext").ThrowAsJavaScriptException();
705
- return env.Undefined();
728
+ if (!streamIndexValue.IsNumber())
729
+ {
730
+ Napi::TypeError::New(env, "Number expected for streamIndex").ThrowAsJavaScriptException();
731
+ return env.Undefined();
732
+ }
733
+ unsigned int streamIndex = streamIndexValue.As<Napi::Number>().Uint32Value();
734
+ AVFormatContextObject *formatContextObject = Napi::ObjectWrap<AVFormatContextObject>::Unwrap(formatContextValue.As<Napi::Object>());
735
+ AVFormatContext *formatContext = formatContextObject->fmt_ctx_;
736
+ if (!formatContext)
737
+ {
738
+ Napi::Error::New(env, "Format context is null").ThrowAsJavaScriptException();
739
+ return env.Undefined();
740
+ }
741
+ if (streamIndex < 0 || streamIndex >= formatContext->nb_streams)
742
+ {
743
+ Napi::Error::New(env, "Invalid stream index").ThrowAsJavaScriptException();
744
+ return env.Undefined();
745
+ }
746
+ AVStream *sourceStream = formatContext->streams[streamIndex];
747
+ stream = avformat_new_stream(fmt_ctx_, NULL);
748
+ if (!stream)
749
+ {
750
+ Napi::Error::New(env, "Failed to create new stream").ThrowAsJavaScriptException();
751
+ return env.Undefined();
752
+ }
753
+ AVCodecParameters *codecpar = stream->codecpar;
754
+ if (avcodec_parameters_copy(codecpar, sourceStream->codecpar) < 0)
755
+ {
756
+ Napi::Error::New(env, "Failed to copy codec parameters").ThrowAsJavaScriptException();
757
+ return env.Undefined();
758
+ }
759
+ stream->time_base.num = sourceStream->time_base.num;
760
+ stream->time_base.den = sourceStream->time_base.den;
706
761
  }
707
-
708
- AVCodecContextObject *codecContextObject = Napi::ObjectWrap<AVCodecContextObject>::Unwrap(codecContextValue.As<Napi::Object>());
709
- AVCodecContext *codecContext = codecContextObject->codecContext;
710
-
711
- // Create a new stream
712
- AVStream *stream = avformat_new_stream(fmt_ctx_, NULL);
713
- if (!stream)
762
+ else if (streamIndexValue.IsNumber())
714
763
  {
715
- Napi::Error::New(env, "Failed to create new stream").ThrowAsJavaScriptException();
764
+ int streamIndex = streamIndexValue.As<Napi::Number>().Int32Value();
765
+ stream = fmt_ctx_->streams[streamIndex];
766
+ }
767
+ else {
768
+ // throw
769
+ Napi::Error::New(env, "Object expected for codecContext or formatContext").ThrowAsJavaScriptException();
716
770
  return env.Undefined();
717
771
  }
718
772
 
719
- // Set the codec parameters for the new stream
720
- AVCodecParameters *codecpar = stream->codecpar;
721
- stream->time_base.num = codecContext->time_base.num;
722
- stream->time_base.den = codecContext->time_base.den;
723
-
724
- avcodec_parameters_from_context(codecpar, codecContext);
725
-
726
773
  // gpt says supposed to send this but sends empty packet which crashes.
727
774
  // sps/pps seem to be sent correctly though.
728
775
  // may be an issue on mp4 where there's a moov header?
package/src/index.ts CHANGED
@@ -200,7 +200,9 @@ export interface AVFormatContext {
200
200
  receiveFrame(streamIndex: number, codecContext: AVCodecContext): Promise<AVFrame>;
201
201
  create(format: string, callback: (buffer: Buffer) => void): void;
202
202
  newStream(options: {
203
- codecContext: AVCodecContext,
203
+ codecContext?: AVCodecContext,
204
+ formatContext?: AVFormatContext,
205
+ streamIndex?: number,
204
206
  }): number;
205
207
  writeFrame(streamIndex: number, packet: AVPacket): void;
206
208
  createSDP(): string;
@@ -287,7 +289,7 @@ async function encodeJpeg(softwareFrame: AVFrame, quality: number) {
287
289
  return transcodePacket.getData();
288
290
  }
289
291
 
290
- export function createSdp(formatContexts: AVFormatContext[]) {
292
+ export function createSdp(formatContexts: AVFormatContext[]): string {
291
293
  return loadAddon().createSdp(formatContexts);
292
294
  }
293
295