Add refresh for existing transcoded files at startup
Some checks are pending
CI Pipeline / Run Tests (push) Waiting to run
CI Pipeline / Lint Code (push) Waiting to run
CI Pipeline / Security Scan (push) Waiting to run
CI Pipeline / E2E Tests (push) Blocked by required conditions

This commit is contained in:
Enki 2025-08-27 20:26:56 -07:00
parent 2ccfcd0718
commit 0d87bcbfea

View File

@ -1417,6 +1417,16 @@ func (g *Gateway) UpdateMetadataStreamingInfo(fileHash string) error {
return nil return nil
} }
// RefreshAllMetadataStreamingInfo updates streaming info for all files in metadataStore
func (g *Gateway) RefreshAllMetadataStreamingInfo() error {
for fileHash := range metadataStore {
if err := g.UpdateMetadataStreamingInfo(fileHash); err != nil {
log.Printf("Warning: Failed to update streaming info for %s: %v", fileHash, err)
}
}
return nil
}
func (g *Gateway) getMetadata(fileHash string) (*FileMetadata, error) { func (g *Gateway) getMetadata(fileHash string) (*FileMetadata, error) {
// Get metadata from storage backend // Get metadata from storage backend
dbMetadata, err := g.storage.GetFileMetadata(fileHash) dbMetadata, err := g.storage.GetFileMetadata(fileHash)
@ -3175,6 +3185,14 @@ func RegisterRoutes(r *mux.Router, cfg *config.Config, storage *storage.Backend)
// Set up transcoding callback to update metadata store // Set up transcoding callback to update metadata store
if gateway.transcodingManager != nil { if gateway.transcodingManager != nil {
gateway.transcodingManager.SetUpdateMetadataCallback(gateway.UpdateMetadataStreamingInfo) gateway.transcodingManager.SetUpdateMetadataCallback(gateway.UpdateMetadataStreamingInfo)
// Refresh existing files to add streaming info for already transcoded files
go func() {
log.Printf("DEBUG: Refreshing streaming info for existing files in metadataStore")
if err := gateway.RefreshAllMetadataStreamingInfo(); err != nil {
log.Printf("Warning: Failed to refresh metadata streaming info: %v", err)
}
}()
} }
// Initialize tracker if enabled // Initialize tracker if enabled