MCPcopy Create free account
hub / github.com/53AI/53AIHub / writeSegmentsToFile

Function writeSegmentsToFile

api/service/recording_transcoder.go:225–249  ·  view source on GitHub ↗
(outputPath string, segments [][]byte)

Source from the content-addressed store, hash-verified

223}
224
225func writeSegmentsToFile(outputPath string, segments [][]byte) error {
226 if len(segments) == 0 {
227 return errors.New("录音分段为空")
228 }
229 if err := os.MkdirAll(filepath.Dir(outputPath), 0o755); err != nil {
230 return fmt.Errorf("创建输入目录失败: %w", err)
231 }
232 if err := ensureRecordingWritableFile(outputPath, recordingLocalArtifactMode); err != nil {
233 return err
234 }
235 f, err := os.OpenFile(outputPath, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0o600)
236 if err != nil {
237 return fmt.Errorf("创建输入文件失败: %w", err)
238 }
239 defer f.Close()
240 for i, segment := range segments {
241 if len(segment) == 0 {
242 continue
243 }
244 if _, err := f.Write(segment); err != nil {
245 return fmt.Errorf("写入分段 %d 失败: %w", i, err)
246 }
247 }
248 return ensureRecordingFileMode(outputPath, recordingLocalArtifactMode)
249}
250
251func normalizeRecordingTargetFormat(targetFormat string) string {
252 targetFormat = strings.ToLower(strings.TrimSpace(strings.TrimPrefix(targetFormat, ".")))

Callers 1

TranscodeMethod · 0.85

Calls 6

ensureRecordingFileModeFunction · 0.85
ErrorfMethod · 0.80
NewMethod · 0.45
CloseMethod · 0.45
WriteMethod · 0.45

Tested by

no test coverage detected